Swarm 15 introduced a new feature that, for environments that run SCS, enables administrators to choose whether or not Swarm will use multicast for internal communication. This feature is controlled by a new setting (cip.multicastEnabled) that may be set as a component-level default or at the group/cluster level. Changes were introduced in the node.cfg SCS template in Swarm 15 as well.
If for any reason a downgrade to Swarm 14.x is needed, some consideration needs to be given to both of these prior to downgrade.
Removing cip.multicastEnabled Setting
On the SCS machine, run the following command to ensure that cip.multicastEnabled is no longer set for the group/cluster:
Important: This command must be run prior to downgrade.
Note that if the value for cip.multicastEnabled had been set as a component-level default, running this command is harmless.
Porting node.cfg Changes
Typically the node.cfg template for Swarm Storage is not edited or overridden. However, some situations (such as use of static IP addresses for storage nodes) do require manual edits to these templates.
Note: This section only applies if changes have been made to node.cfg for 15.x
Downgrading from 15.x to 14.x leaves these manual overrides in place. However, if the changes were made after Swarm 15.x had been installed, then the updates were made based on the Swarm 15.x template. Swarm 14.x is unable to boot from a Swarm 15.x template, so the following needs to be done:
Download the template: scsctl storage config file show -d -i "<chassis ID>" --raw "node.cfg" -o "node.15x.cfg"
Open the file and identify the changes (the “delta”) that had been made.
Downgrade Swarm from 15.x to 14.x, and ensure that the desired 14.x version is active in SCS (Swarm 14.1.2 is used here as an example): scsctl repo component add -f "swarm-scs-storage-14.1.2.tgz" scsctl storage software activate (choose the 14.1.2 version) scsctl repo component delete --force storage "15.0.0 (15.0.0)" (This ensures nodes cannot boot using Swarm 15.0.0; use the appropriate version string for 15.x here)
Download a new base template: scsctl storage config file show -d -i "<chassis ID>" --raw "node.cfg" -o "./node.cfg"
Open the file and apply the “delta” from step 2. Save the file.
Upload the modified template: scsctl storage config file set -d -i "<chassis ID>" -f "./node.cfg" "node.cfg"