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.
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
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.
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
Option | Description |
---|---|
-d , --dry-run | Skip 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_LEVEL | Change the log level the Installer runs with. Must be one of ERROR , INFO , WARNING , DEBUG . |
--install-only | If 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.
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
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.
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'
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.
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
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:
-
Update the username/token with the
install128t repo authenticate -u <user> -t <token>
process on BOTH conductors. -
Restart the primary conductor with
systemctl restart 128T
and wait for the conductor to be fully operational (can be up to 5 minutes). -
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:
-
Update the username/token with the
install128t repo authenticate -u <user> -t <token>
process and runyum makecache --assumeyes
on both conductors. -
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:
-
Update the username/token with the
install128t repo authenticate -u <user> -t <token>
process and runyum makecache --assumeyes
on BOTH conductors. -
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"