Ideas for upcoming NS8.3

Hi all

Discussions in the forums have prompted me to think about a few sensible refinements which could actually be fairly easy to implement for our devs here.


Cluster / Node Admin Page:

A simple small display showing node status on or off, with options for restart / shutdown.
If there are more nodes in a Cluster than the default 0, then:
Display this for ALL nodes, but additionally with the option to use either

  • WOL (Real Hardware or VM, if supported. Proxmox does not support WOL for VMs, AFAIK.)
  • Custom Command (For Nodes running on Hypervisors like Proxmox)

Here the options could then be:

  • Reboot Node
  • Shutdown Node
  • Node in Maintenence Mode (Just as a Info note)
  • Wake Node

The dotting of ā€œiā€, or topping on the cake would be:
Since WOL is installed anyways, Have a Screen for using WOL for waking Clients or other Devices supporting WOL.

OpenMediaVault shows how this is down on Debian:


Node running File Server:

WSDD:

Put in WSDD - the cluster has already all infos it needs for a customized start command, to make this ready for a multi node file server, whenever this comes.
WSDD is really simple, itā€™s a one liner!


Trashcan:

Options for a Trashcan:
Per Share enabling
Emptying Options including Cron, both with some plausible defaults added in
All these are simple options in the config file, but GUI options should be there. NS8 is supposed to be easy


This is not a complete list and can be extended!

My 2 cents
Andy

6 Likes
  • In-place migration, In-place migration, In-Place migration!
  • extension of the current disaster recovery to a full backup solution with restoration of selected backup times, folders and files.
  • different backup option (data only vs. full system and selectable paths)
  • extension of the exisiting health status of the apps (services, right file and folder permission and much more) with repair / healing function
  • shutdown / restart not only the full node, also single apps
  • startup links like in DokuWiki

  • quality badge for Apps (ā€œapproved by Nethesisā€ and user acceptance stars like in other Appstores)
4 Likes

If leader node is turned off there is no control over UI of any of the nodes, so at least a minimal UI with node status and control from each cluster node could be useful to some degree. If a worker node is remote that will save a few calls and travels just to reach to the physical/virtual button.

But before that Iā€™d prioritize extending AD functionality (permissions, wsdd, trashcan, user profilesā€¦)

:point_up_2:
Sometimes easy to forget.

I think that is the hardest part of all and far to become real. (going by some music lyricsā€¦ this task ahead, this task at hand, ominous and daunting, crippling undertakingā€¦ where to begin eludes me, ruling ever deeper, this massive endeavorā€¦)

A path, without having though as much as the devs surely already did, could be:

  • Migrate from CentOS 7 to Rocky Linux 8 or CentOS 8 (no Debian) and from there to Rocky 9:
  • Rebuild each nethserver module for EL8 and EL9 (safest, doesnā€™t mean safe) or just for EL9 (more risky):
    • Having into account all the new version of dependencies from repositories
    • AD could be troublesome as RHEL pulled the plug on some feature (?) and had to be rebuilt and compiled as the devs did for the last AD versions.
    • Another concern is the firewall (shorewall availabilit), available on EL8 but not on EL9, unless Iā€™m mistaken).
  • At this stage, the server should be up and running (after the 2-way upgrade) on EL9 and with all modules working.
  • Migration from EL9 to NS8 (one app by one):
    • Install NS8 app (creating app users, folder structure, permissions, podman volumesā€¦)
    • Migrate settings from NS7 module to NS8 app
    • Move (or copy, although could hit space limitation) data / databases from NS7 module to NS8 app + fix ownership and permissions
    • Put NS7 module in maintenance mode (disable it, recoverable if copied, troublesome if data moved and permissions changed)
    • Fire up NS8 app (reconfiguring it to old account provider if needed)
  • At this stage, the server will be a mixture of NS7 modules and NS8 apps, controlled by different server managers / control panels.
  • After every NS7 module supported by NS8 is successfully migrated (as there are modules that have no direct migration path), remove NS7 remnants.

Cons:

  • Many possible sources of problems (apps, firewall, taking over used ports from one module to the app, grub boot-loader, etc.)
  • Daunting task for devs (not only programming, but lots of testing involved)
  • Time consuming efforts put on in-place migration, stale advancement of NS8, NethSecurity, NethVoiceā€¦

I love FOSS in the broader sense (freedom as well as free beer) but if I were on a Business management/executive position and had to seriously consider an in-place upgrade path, Iā€™d be tempted to put it behind a paywall (subscription) to try to get some revenue for the unaccounted hard work, increase of support request and having customers breath on my neck.

I though of start/pause/restart/stop or enable/restart/disable, but all depends on how safe it is for the data, clock, and what is allowed by the underlying technology. For instance, traefik shall not be hardly ever touched, AD could be troublesome for all the apps that depend on itā€¦
About the internal app services, that might be a second layer of control in contrast of the whole app as a unit.

Agree. It should be easy enough to add on the next app update.

5 Likes

Extended the answer about in-place upgrade but still many things missing for a good plan.

2 Likes

But itā€™s better to think about it than just say ā€˜impossibleā€™

Yes. Iā€™m not against it. When thereā€™s a will thereā€™s a way.

Although nethesis has already said their word, thereā€™s always room for reconsideration.

Like to keep the balance between work required and loose of part of customers and nethserver user base.

2 Likes

I love ideas for products but itā€™s hard to discuss them on the same topic and track upcoming comments/developments. Can I split it into 3 requests?
Do you have existing discussions to bump?

1 Like