Some Swarm configuration settings are site-specific and related to:
DNS settings - There are queried for proper DHCP configuration
Administrative username and password - Once the administrator username and password are set, SCS will not accept any unauthenticated commands.
Disk encryption settings - These settings are related to “Encryption at REST” and should be ideally skipped unless specified by DataCore Support.
To specify their values, run scsctl diagnostics config scan_missing
command.
Info
Once the administrative username and password are set, this process will be interrupted to allow scsctl
to be configured with the administrative username and password for the future interaction with SCS. To perform this configuration, run:
scsctl auth login --user [administrative user name]
This command will securely prompt the administrative password and authenticate to SCS. Once the CLI is logged in, re-run the configuration scan command to resume.
Finalize configuration settings
Note
When configuring Swarm settings, input characters are hidden such as ‘admin.userName’, ‘admin.password’, ‘encryptionKeys’, etc. It is advised to use inputs on a raw text editor and do copy & paste to prevent any typo mistakes.
Run
scsctl diagnostic config scan_missing
.====================================================================================================== Component: network_boot ---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Component Group: network_boot/192.168.9.0x24.network_boot.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible.
Hit ‘Enter’ to apply settings as a default at the group level.
---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Missing setting: network_boot/network.dnsServers Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for now
Enter DNS servers.
---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Missing setting: network_boot/network.dnsServers network.dnsServers [type: array[str]] (Required. DNS servers to be used.): 172.16.33.4,172.16.33.5 ====================================================================================================== Component: platform ------------------------------------------------------------------------------------------------------ Name: admin.password Type: str Description: Administrative user password ------------------------------------------------------------------------------------------------------ Name: admin.userName Type: str Description: Administrative user name ------------------------------------------------------------------------------------------------------ Name: logging.syslogHost Type: str Description: If defined, then the host that component instances should use for syslog logging. ------------------------------------------------------------------------------------------------------ Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------------------------------------------------ Name: network.ntpServers Type: array[str] Description: Required. The IP address(es) of one or more NTP servers. If the nodes cannot access public NTP servers, they will time out waiting for a connection and automatically restart. Only use trusted NTP servers, whether they are dedicated hardware solutions in your internal network or external, public servers that the nodes can access over the network. ------------------------------------------------------------------------------------------------------ Component Group: platform/global.platform.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible. ------------------------------------------------------------- Name: admin.password Type: str Description: Administrative user password ------------------------------------------------------------- Name: admin.userName Type: str Description: Administrative user name ------------------------------------------------------------- Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. -------------------------------------------------------------
Hit ‘Enter’ to apply the password at the group level.
Missing setting: platform/admin.password Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for now
Enter the administrator password (e.g., datacore). The input characters are hidden for the password.
Missing setting: platform/admin.password admin.password [type: str ***SECURE***] (Administrative user password): Please re-enter to confirm:
Hit ‘Enter” to apply the user name at the group level.
Missing setting: platform/admin.userName Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for now
Enter the administrator username (e.g., dcadmin). The input characters are hidden for the administrator username.
Missing setting: platform/admin.userName admin.userName [type: str ***SECURE***] (Administrative user name): Please re-enter to confirm: Authentication state may have changed in the API! Please log in, then re-run this command to resume: > scsctl auth login --user "{administrative user name}" > scsctl diagnostics config scan_missing
Login to SCS CLI via
scsctl auth login --user datacore
. The input characters are hidden.[root@zorc Platform]# scsctl auth login --user datacore Enter password for user "dcadmin": Logged in
Once you are logged in, continue finalizing configuration settings via
scsctl diagnostics config scan_missing
command.====================================================================================================== Component: network_boot ---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Component Group: network_boot/192.168.9.0x24.network_boot.scs-lab1.datacore.internal [DEFAULT GROUP] all settings defined for group ====================================================================================================== Component: platform ------------------------------------------------------------------------------------------------------ Name: admin.password Type: str Description: Administrative user password ------------------------------------------------------------------------------------------------------ Name: admin.userName Type: str Description: Administrative user name ------------------------------------------------------------------------------------------------------ Name: logging.syslogHost Type: str Description: If defined, then the host that component instances should use for syslog logging. ------------------------------------------------------------------------------------------------------ Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------------------------------------------------ Name: network.ntpServers Type: array[str] Description: Required. The IP address(es) of one or more NTP servers. If the nodes cannot access public NTP servers, they will time out waiting for a connection and automatically restart. Only use trusted NTP servers, whether they are dedicated hardware solutions in your internal network or external, public servers that the nodes can access over the network. ------------------------------------------------------------------------------------------------------ Component Group: platform/global.platform.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible.
Configure DNS domain and apply it at the group level.
------------------------------------------------------------- Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------- Missing setting: platform/network.dnsDomain Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for now
Set the DNS domain.
------------------------------------------------------------- Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------- Missing setting: platform/network.dnsDomain network.dnsDomain [type: str] (Required. The DNS domain name that will be used.): datacore.internal ====================================================================================================== Component: storage ------------------------------------------------------------------------------------------------------ Name: disk.encryptionKeyPrimary Type: str Description: The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True. ------------------------------------------------------------------------------------------------------ Name: disk.encryptionKeys Type: dict[str,str] Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes. ------------------------------------------------------------------------------------------------------ Name: support.proxyPassword Type: str Description: Proxy authentication password ------------------------------------------------------------------------------------------------------ Component Group: storage/objstor.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible. ------------------------------------------------------------------------------------------------------ Name: disk.encryptionKeyPrimary Type: str Description: The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True. ------------------------------------------------------------------------------------------------------ Name: disk.encryptionKeys Type: dict[str,str] Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes. ------------------------------------------------------------------------------------------------------ Name: support.proxyPassword Type: str Description: Proxy authentication password ------------------------------------------------------------------------------------------------------
Select Skip this setting for now and hit enter.
Missing setting: storage/support.proxyPassword Where would you like to update this setting? As a default at group level For each instance in the group > Skip this setting for now