Bug 8553 - Cluster configuration is mixed with vsmserver service configuration
Summary: Cluster configuration is mixed with vsmserver service configuration
Status: REOPENED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VSM Server (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.19.0
Assignee: Samuel Mannehed
URL:
Keywords: linma_tester, relnotes
Depends on: 8384
Blocks:
  Show dependency treegraph
 
Reported: 2025-03-25 10:29 CET by Samuel Mannehed
Modified: 2025-04-01 16:20 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:
MUST * The subcluster configuration must have its own top-level folder. * Related documentation must be updated. SHOULD * ThinLinc setup should be able to migrate old subcluster configuration to the new paths. * The new subcluster configuration should be broken out from the vsmserver.hconf file. * The draining_agents configuration should be moved to an "agents" folder. * The HA configuration should be moved to its own folder.


Attachments

Description Samuel Mannehed cendio 2025-03-25 10:29:02 CET
The configuration for subclusters has very little to do with the vsmserver service. The fact that its located under [vsmserver/..] is likely confusing for new sysadmins.
Comment 1 Samuel Mannehed cendio 2025-03-25 11:28:45 CET
Another need that popped up as part of bug 8545 and bug 4429 is a place to configure draining agents and load balancer agent weighing. These are further examples that fit poorly in [vsmserver].

The idea was to create `cluster.hconf` which would have different top-level folders, like [subclusters], [agents], etc. However, this would cause problems due to bug 8384 since the tab completion code currently assumes that folder names equal file names. This means that a sysadmin would no longer be able to tab-complete subcluster configuration with tl-config.

Not doing this now - moving away from 4.19.0.
Comment 2 Samuel Mannehed cendio 2025-03-25 14:25:31 CET
We decided after further discussion to include this in 4.19.0 anyway.
Comment 7 Samuel Mannehed cendio 2025-03-26 16:43:01 CET
Aside from subcluster configuration, the following topography-settings would also make sense to move away from [vsmserver] to config.hconf:

* Load balance settings. Will wait with this since the current settings "ram_per_user", etc. will likely be removed as part of bug 4429.

* /vsmserver/draining_agents (added in bug 8545), would make sense to put under /agents/draining.

* /vsmserver/HA, would make sense to put under its own top-level folder /HA

Note that /vsmserver/logging/levels/vsmserver.HA will not be moved. We will probably remove these types of parameters when moving to journal-logging in the future.

Also note that /vsmserver/max_sessions_per_user was also considered for a move, but it was decided that it does not really fit into cluster.hconf. It isn't related to the cluster topography.
Comment 13 Samuel Mannehed cendio 2025-03-31 12:30:43 CEST
Subcluster, HA and draining agents have now been moved to cluster.hconf, under their own top-level sections. These sections have gotten new chapters in the TAG as well.

> MUST
> 
> * The subcluster configuration must have its own top-level folder.
Yep, /subclusters
> * Related documentation must be updated.
Yes.
> SHOULD
> 
> * ThinLinc setup should be able to migrate old subcluster configuration to the new paths.
Yes, this was added for both subcluster and HA configuration. Not needed for draining_agents since the first version was never released.
> * The new subcluster configuration should be broken out from the vsmserver.hconf file.
Yes - cluster.hconf
> * The draining_agents configuration should be moved to an "agents" folder.
Yes, /agents.
> * The HA configuration should be moved to its own folder.
Yes, /HA.
Comment 16 Samuel Mannehed cendio 2025-03-31 14:30:11 CEST
I had missed a few details in the TAG, fixed now.
Comment 17 Linn cendio 2025-04-01 14:56:45 CEST
Tested migrating existing configuration for HA and subclusters, and did not get the previous values to correctly move over into cluster.hconf.

My setup was Fedora 41, when upgrading from 4.18.0 to server build 3970. My conf before upgrade was the following:
> [/vsmserver/HA]
> enabled=1
> nodes=node1 node2
> 
> [/vsmserver/subclusters/Default]
> agents=127.0.0.1 lab-82
> users=
> groups=root
> max_users_per_agent=7
> 
> [/vsmserver/subclusters/Default2]
> agents=lab-82 127.0.0.1
> users=user1
> groups=
> max_users_per_agent=4
However, after the migration, I had the default values for "/HA" and "subclusters/"Default, while "subclusters/Default2" had been removed.

From tlsetup.log:
> Hiveconf migration option: parameters
>   /vsmserver/allowed_shadowers removed
>   /vsmserver/terminalservers removed
>   /vsmserver/explicit_agentselection removed
>   /vsmserver/subclusters removed
>   /vsmserver/HA removed
We see that the old parameters only have been removed, but not migrated. However, the code does try to migrate before removing the parameters, but it does not find the old, changed values.
Comment 18 Samuel Mannehed cendio 2025-04-01 16:20:35 CEST
(In reply to Linn from comment #17)
> Tested migrating existing configuration for HA and subclusters, and did not
> get the previous values to correctly move over into cluster.hconf.
> 
> My setup was Fedora 41, when upgrading from 4.18.0 to server build 3970. My
> conf before upgrade was the following:
> ...
Did you have a clean config directory beforehand? Stray .rpmsave or .rpmnew files in /opt/thinlinc/etc/conf.d/ will affect the outcome.

Note You need to log in before you can comment on or make changes to this bug.