Skip to main content

Installer Command Line Reference

This is a reference document for the SSR Installer command line interface. To get started installing the SSR with the Installer, see the Router Interactive Installation.

To start the Installer, run the install128t command.

note

install128t must always be run as the root user, or with sudo install128t. The Installer will detect non-root usage and exit with this message:

You must run the Installer as root.

Beginning with Installer version 2.7.0, the use of the Screen utility is no longer necessary. However, for older versions of the Installer, it is strongly recommended to use the Screen utility when performing a manual installation to avoid SSH session timeout.

Use the -h/--help flag to display help information for the install128t command line:

install128t --help

The --version flag or the rpm command may be used to determine the Installer version:

$ install128t --version
128T Installer 3.0.0

$ rpm -q 128T-installer
128T-installer-3.0.0-1.x86_64

When the Installer is used to install the SSR for the first time, it will automatically run the SSR Initializer to complete setup of the SSR, unless the --install-only option is specified. See the Initializer documentation for the relevant version of the SSR for details on its usage and options.

After a successful run, the install128t process will exit with a return code of 0. If any error was encountered during the operation, the return code will be non-zero.

Interactive Mode

Without any arguments, the Installer will open a wizard interface to install the SSR.

install128t

Follow the on-screen prompts to complete the installation and initialization process. Step-by-step instructions for the Installer wizard can be found in the Installation Guide.

Automated Mode

For more advanced use cases, preferences may be specified on the command line to perform an operation in an automated fashion, using the -p/--preferences option.

In this mode, no wizard will be displayed, but informational messages will be printed to the console as the Installer is running.

$ cat /tmp/preferences.json
{
"install": {
"initialize": {
"node-name": "MyNode",
"node-ip": "127.0.0.1",
"node-role": "combo",
"router-name": "MyRouter"
}
}
}

$ install128t --preferences /tmp/preferences.json
Did you know?

You can specify a preferences file with -p, but you can also pass the preferences directly on the command line. For example:

install128t -p '{"download": {"128T-version": "4.5.7"}}'

The specified preferences must be valid JSON (trailing commas are not allowed), and they must conform to the Installer preferences file schema. See the full schema documentation for details.

Install from RPM

To install or upgrade the SSR directly from RPM files, use the --rpm-path option to specify a directory in which the RPM files are located.

In order to use this option, both an SSR RPM and the corresponding version of the SSR manifest RPM must be in the specified directory, as shown here:

$ ls /tmp/local-install/
128T-4.5.7-1.el7.x86_64.rpm
128T-manifest-4.5.7.1.el7-1.x86_64.rpm

$ install128t --rpm-path /tmp/local-install/

The Installer will ask for confirmation before proceeding with the operation.

warning

If the specified RPM is not an upgrade to the currently installed SSR version, this option will erase and reinstall the SSR! Pay attention to the confirmation prompt to ensure an upgrade will be performed (Confirm Upgrade) rather than a reinstallation (Confirm Install).

Options

OptionDescription
-d, --dry-runSkip all steps that modify the system, e.g. downloading software or rebooting the system. This can be useful to validate a preference file without executing the operation specified in it.
-l LOG_LEVEL, --log-level LOG_LEVELChange the log level the Installer runs with. Must be one of ERROR, INFO, WARNING, DEBUG.
--install-onlyIf specified, the Installer will not run the Initializer when it completes a successful installation. NOTE: Use this option with care; the SSR will be unable to start until it has been initialized. See the Initializer documentation for details on how to use it to manually initialize the SSR.

Subcommands

Besides using a preference file, install128t may also be used to perform other tasks directly from the command line, without using the interactive wizard interface.

tip

Any subcommand may be passed the -h/--help flag to show its usage information and available options:

install128t download --help

download

Download the SSR software and save it to the local repository. After download, the software will be available for future installation and upgrades.

install128t download

The --128T-version option is used to specify a version to download:

install128t download --128T-version 6.1.4
tip

Version requirements of the same format as the preference file may be used for this option:

install128t download --128T-version ">= 5.6.8"

If no version is specified, the latest available version will be downloaded.

import

The import subcommand is used to save software from other locations to the local repository, after which it will be available for future installation and upgrades.

Automatically find and import ISO

With this option, the Installer will attempt to search the local filesystem for an SSR ISO file, mount it, and save the contents to the local repository.

install128t import --iso-hunt

Specify an ISO path

With this option, the Installer will attempt to mount and import packages from the ISO file specified.

install128t import --iso-path /root/128T-5.6.8-9.el7.v1.x86_64.iso

repo

The repo subcommand is used to enable or disable SSR software repositories used for downloading the SSR. Advanced users can use this subcommand to enable pre-release software or update software access credentials.

tip

install128t repo has several subcommands of its own, each of which may be passed the -h/--help option to display usage and options, like other subcommands.

List Repositories

The repo list subcommand shows the configured SSR software repositories. The -a/--all option may be be used to show disabled repositories as well as enabled repositories.

install128t repo list

Enable Repositories

The repo enable subcommand is used to enable SSR software repositories. Multiple repositories may be specified to enable each of them. The name specified to this command should match the name in the Repository column of the install128t repo list command output.

install128t repo enable alpha beta

Disable Repositories

The repo disable subcommand is used to disable SSR software repositories.

Usage matches the repo enable command.

install128t repo disable alpha beta

Update Repository Authentication

Beginning with SSR Version 5.5.2, the preferred method to save repository access credentials is to use the PCLI command set software access-token. For additional information on this command, see set software access-token.

For earlier software versions, the repo authenticate subcommand is used to configure credentials for authenticating with SSR software repositories. To use this subcommand, you must specify both a username and a token for authentication.

install128t repo authenticate --username my_user --token 'example$token'
caution

If your authentication token contains special characters, the shell may expand or interpret them. Enclose the token in single quotes (') to prevent shell expansion.

If the specified credentials are found to be invalid, the Installer will display an error message and exit, and the credentials will not be saved. To verify credential status, use the install128t repo list command.

note

If the credentials cannot be checked (e.g. no Internet connection is available), the remote packages will appear unavailable (no upgrades available) but the credentials will still be saved. They will be checked again, if possible, the next time the Installer is run.

Manual Token Process

note

It is strongly recommended that you update the token during a maintenance window. Performing these operations on a large deployment may take an extended amount of time to complete.

If the SSR conductors are ugpraded to 4.5.7, 5.0.1, 5.1.1, or greater, and have the 3.0.0 (or greater) Installer, use the following procedure to either add or update the username/token:

  1. Update the username/token with the install128t repo authenticate -u <user> -t <token> process on BOTH conductors.

  2. Restart the primary conductor with systemctl restart 128T and wait for the conductor to be fully operational (can be up to 5 minutes).

  3. Restart the secondary conductor with systemctl restart 128T (After the routers return to a running state the systems will be updated with the username/token).

If the SSR conductors are NOT upgraded to 4.5.7, 5.0.1, 5.1.1 or greater, the following steps must be taken to ADD the username/token:

  1. Update the username/token with the install128t repo authenticate -u <user> -t <token> process and run yum makecache --assumeyes on both conductors.

  2. For the first use of the token, run the following commands on the primary conductor. Be sure to replace <conductor-1-asset-id> and <conductor-2-asset-id> with the appropriate conductor asset ID.

ln -s /etc/pki/install128t/GPG-RPM-KEY* /srv/salt
t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cp.get_file salt://GPG-RPM-KEY-128T-RELEASE /etc/pki/install128t/GPG-RPM-KEY-128T-RELEASE
t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cp.get_file salt://GPG-RPM-KEY-128T-RELEASE-LEGACY /etc/pki/install128t/GPG-RPM-KEY-128T-RELEASE-LEGACY
cd /etc/yum.repos.d/
for i in 128t-authenticated-*; do ln -s /etc/yum.repos.d/${i} /srv/salt/${i}; t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cp.get_file salt://${i} /etc/yum.repos.d/${i}; done
t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cmd.run "dnf makecache --assumeyes; yum makecache --assumeyes"

If the username/token needs to be updated from an existing username/token AND the SSR conductors are not upgraded to 4.5.7, 5.0.1, 5.1.1 or greater, the following steps must be taken to update the username/token:

  1. Update the username/token with the install128t repo authenticate -u <user> -t <token> process and run yum makecache --assumeyes on BOTH conductors.

  2. To update the token after the initial token instance, run the following commands. Be sure to replace <conductor-1-asset-id> and <conductor-2-asset-id> with the appropriate conductor asset ID.

cd /etc/yum.repos.d/
for i in 128t-authenticated-*; do t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cp.get_file salt://${i} /etc/yum.repos.d/${i}; done
t128-salt -C '* and not L@<conductor-1-asset-id>,<conductor-2-asset-id>' cmd.run "dnf makecache --assumeyes; yum makecache --assumeyes"