Updating a node group
You can update an existing node group to change its settings, add or remove node group properties, or adjust the Puppet profiles it applies. A node group defines the desired configuration for every node that is a member of it, so a change you make here applies to all of those nodes. When your changes affect the nodes in the group, the SC//Reliantâ„¢ Platform Manager presents an impact review screen before saving so you can verify what will change. For more information about each node group property, see Node group property reference.
IMPORTANT: Saving a node group update in the SC//Reliant Platform Manager does not deploy the change to the nodes. The Platform Manager stores the desired configuration, and Puppet is what applies it on each node. Your change takes effect on a node only after a Puppet run on that node. For more information, see Deploying your changes to the Nodes.
Updates that impact nodes are irreversible once confirmed. Review the impact screen carefully before proceeding.
Updating an existing node group
The following steps walk you through the process of updating an existing node group using the SC//Reliant Platform Manager.
- Access and log in to the SC//Reliant Platform Manager at https://platform.reliant.io/.
- From the left navigation menu, choose Node Groups.
- On the Node Groups page, search for and select the node group you'd like to update.
- On the node group detail page, choose one of the following.
- Choose Edit to change the node group settings, such as the name or the Puppet environment.
- Choose Node Group Properties to add or remove node group properties.
- Make your changes to the node group. The following settings are available on the Details tab.
- For Name, specify a name for the node group. The name should begin with your customer code and describe the purpose of the node group.
- For Puppet Environment, specify the name of the Puppet environment the nodes should use. This represents the code branch used for Puppet agent runs. When this field is left blank, the
productionenvironment is used. - For Level of Hierarchy, use the drop down menu to select the level of hierarchy for the node group.
- For Role, select the node group role to use.
- For Type of Server, select the server type to use or leave it blank.
- For Choria Domain, keep the domain the nodes use to connect to Remote Job Execution (RJE). Use the same value as your other node groups whose API jobs succeed. A wrong value doesn't change the nodes' status, but every RVC job sent to the nodes in the group fails with
Node <hostname> not discovered by RJE broker. Unlike most settings, a Choria Domain change takes effect right away, without a Puppet run. - For RJE Environment, leave the value blank unless you've been instructed otherwise.
- Choose Save.
- If your changes impact the nodes in the node group, the Review your changes page is displayed. Review each of the impact cards described in Reviewing the impact of your changes, and then choose Save.
- On the Confirm Impact pop-up window, type the impact count number shown in the message to confirm you understand how many nodes are affected, and then choose Confirm.
- Deploy the change to the nodes by running Puppet, or wait for the next scheduled Puppet agent run. For more information, see Deploying your changes to the Nodes.
To discard your changes at any point before confirming, choose Cancel.
The Type of a node group is set when the node group is created and is displayed as read-only when editing. To change the type, create a new node group with the type you want. For more information, see Creating a node group.
Reviewing the impact of your changes
When your changes affect the nodes in the node group, the Review your changes page summarizes what will change before anything is saved. The Impact Summary banner at the top of the page shows the total number of nodes affected by your changes.
The following impact cards are displayed.
| Impact card | Description |
|---|---|
| Property References | Displays messages for impacted property references. These messages include warnings for null references, reference loops, and changes to references. The Impacted Resources column identifies the affected resource, the Reason column explains why it is affected, and the Impact column shows the number of nodes affected. |
| Node Group Property Value Changes | Displays a summary of the changes made to the property values of the node group. The Property Name column identifies the property, the Current Value and Proposed Value columns show the value before and after your change, and the Impact column shows the number of nodes affected. |
Pay particular attention to warnings that a property is referencing an empty value, or that a property is referenced by other properties in the node group. These indicate that your change may leave a configuration incomplete or may cascade to properties you did not edit directly.
For example, if you change the RVC Version property from 3.2.0 to latest on a node group with three member nodes, the Node Group Property Value Changes card shows a single row with a current value of 3.2.0, a proposed value of latest, and an impact of 3.
Confirming the update
After you review the impact and choose Save, the Confirm Impact pop-up window is displayed. This window requires you to type the number of impacted nodes before the Confirm button becomes available. For example, if the change impacts three nodes, type 3 to enable the Confirm button.
This step exists because the change is irreversible. If the impact count is higher than you expected, choose Cancel and review your changes before saving again.
Confirming the update saves your change in the SC//Reliant Platform Manager. It does not apply the change on the nodes. To deploy it, see the following section.
Deploying your changes to the nodes
The SC//Reliant Platform Manager holds the desired configuration for your nodes, but it does not push that configuration out. Puppet is the configuration management tool that deploys it. The properties you set on a node group are compiled into a Puppet catalog, and a Puppet agent on each node applies that catalog. Until a Puppet run happens on a given node, that node continues running its previous configuration even though the Platform Manager already shows your update.
A node group update reaches the nodes in one of two ways.
| Method | When the change is applied |
|---|---|
| Scheduled Puppet agent run | Automatically, on the next run. A Puppet agent runs on every node on a schedule configured at the site level, so the interval varies from one environment to another. No action is required, but the change is not applied immediately. To see when the next run is due on a node, use rvc puppet status and read the Next Run At value. |
| On-demand Puppet run | As soon as you trigger a run against the affected nodes. Use this when you need the change applied now, or when you want to verify the result before the scheduled run. |
Because Puppet enforces the desired state on every run, a node that is offline or unreachable when you make the change picks the change up on its first successful run after it returns.
To trigger a Puppet run on demand, you can use either the SC//Reliant API, which can target node hostnames, a node group, or a saved filter, or the rvc puppet run command from the RVC command line on the node. Targeting the node group you just updated runs Puppet on all of its member nodes. For the procedures, see Deploying changes to your environment.
After the run completes, verify the change was applied on the node. The rvc puppet status command reports the state of the Puppet agent and the timestamp of the last run.
Related documentation
- Creating a node group: creating a node group from scratch or by cloning an existing one.
- Node group property reference: the properties you can set on a node group.
- Deploying changes to your environment: running Puppet to apply your change on the nodes.
- Puppet: what Puppet is and how it deploys configuration to the nodes.