SteelHead-v Provisioning
  
SteelHead-v Provisioning
SteelHead-v provisioning enables you need to deploy one or more SteelHead-v instances with a basic set of preconfigured parameters. Such preconfigured instances can then be fully configured through SteelCentral Controller for SteelHead (virtual edition). This can be useful in managed service provider networks, for example, where you might need to deploy many SteelHead-v instances and want to push configuration settings to them using an orchestration tool like SCC-VE rather than manually configuring each instance.
If you are provisioning many SteelHead-v instances on OpenStack, you’ll need some additional information regarding deploying licenses. For details, go to Knowledge Base article S35286.
SteelHead-v provisioning overview
SteelHead-v provisioning is similar to Cloud-Init, industry standard software for applying basic configuration parameters to virtual machine instances deployed in the cloud. Riverbed’s SteelHead-v provisioning is a more secure provisioning tool, custom built for provisioning SteelHead-v instances with the parameters necessary to connect to deployment orchestration tools like SCC-VE.
SteelHead-v provisioning works with KVM, ESXi, and Hyper‑V.
To use SteelHead-v provisioning
1. Create an OpenStack directory in config-2 format. See Creating the directory structure.
2. Define parameters in a configuration file stored in the OpenStack directory. See Creating the configuration file.
3. Transform the OpenStack directory to an ISO drive and associate the drive with your SteelHead-v instances. Creating and attaching the configuration ISO file.
SteelHead-v instances will only accept parameters from the ISO file on initial start-up. Subsequent start‑ up operations—even if the ISO is attached—will skip reading the contents of the ISO file. SteelHead-v provisioning is intended for one-time configuration during instance bootstrapping.
Supported configuration parameters
Using SteelHead-v provisioning, you can deploy any number of SteelHead-v instances with these parameters automatically set. Parameter values are validated by the system.
You can define multiple static routes.
Parameter
Accepted value
Example
primary_ipv4
valid IPv4 address
192.168.1.2
primary_masklen
integer 0-32
24
primary_ipv6
valid IPv6 address
2001:db8:a0b:12f0::1
primary_ipv6_masklen
integer 0-128
64
aux_ipv4
valid IPv4 address
192.168.1.2
aux_masklen
integer 0-32
24
aux_ipv6
valid IPv6 address
2001:db8:a0b:12f0::1
aux_ipv6_masklen
integer 0-128
64
static_route_ipv4*
first address | masklen | next address | interface name (aux, primary, or inpath0_0)
192.168.1.2 24 192.168.1.3 inpath0_0
static_route_ipv6*
first address | masklen | next address | interface name (aux, primary, or inpath0_0)
2001:db8:a0b:12f0::1 64 2001:db8:a0b:12f0::2 aux
admin_password
the string generated by the CLI openssl passwd - salt mysalt -1 mypassword
$1$xcuHq/$a/qZ8zGpzy.NHsKjJ8Yla.
hostname
valid hostname
host.nbttech.com
scc
valid IPv4 address or hostname
cmc.lab.riverbed.com
name_server
valid IPv4 address
10.16.32.48
domain_name
valid hostname
nbttech.com
ntp_server_ipv4
valid IPv4 address
127.127.1.0
default_gw_ipv4
valid IPv4 address
10.0.0.1
default_gw_ipv6
valid IPv6 address
2001:db8:a0b:12f0::1
default_inpath_gw_ipv4
valid IPv4 address
192.168.1.2
default_inpath_gw_ipv6
valid IPv6 address
2001:db8:a0b:12f0::1
inpath0_0_ipv4
valid IPv4 address
192.168.1.2
inpath0_0_masklen
integer 0-32
24
inpath0_0_ipv6
valid IPv6 address
2001:db8:a0b:12f0::1
inpath0_0_ipv6_masklen
integer 0-128
64
inpath0_0_vlan
integer 0-4094
1024
license_customer_key
string
XXXXX-XXXXX-XXXXX
license_key
string + optional string
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
proxy_address
valid IPv4 or IPv6 address or hostname
proxy.nbttech.com
proxy_port
integer 1-65535
6800
Creating the directory structure
The configuration directory structure must be in the OpenStack config-2 format described in this procedure.
To create the directory structure
1. On your server in a location of your choice, create a directory named config_drive. For example:
mkdir /tmp/config_drive
2. Create a directory named openstack under the config_drive directory:
mkdir config_drive/openstack
3. Create exactly one directory with a name of your choice under the openstack directory and place in the openstack directory exactly one symbolic link to that subdirectory. For example:
cd openstack
mkdir <my-shv-config>
ln -s <my-shv-config> latest
/openstack:
total 2
drwxr-xr-x 2 1023 users 2048 Jan 20 02:52 my-shv-config
lrwxrwxrwx 1 1023 users 10 Jan 20 02:52 latest -> my-shv-config
4. In the openstack subdirectory, /openstack/my-shv-config/ in this example, create a file named user_data and a JSON file named meta_data.json.
5. Populate the user_data file with the configuration parameters and parameter values that you want. See Creating the configuration file.
6. Populate the meta_data.json file with the UUIDs of the SteelHead-v instances you that want to configure with the parameter values you set in the user_data file.
Creating the configuration file
The configuration file must be named user_data and it must be located in the subdirectory under the openstack directory. The contents of the file comprise a clear-text list of the parameters and parameter values that you want to load into your SteelHead-v instances at the time of their initial start-up. Some parameters can accept multiple values. See Supported configuration parameters. Here is an example configuration file:
rvbd_sh:
primary_ipv4: 192.168.1.2
primary_masklen: 24
aux_ipv4: 10.0.0.2
aux_masklen: 16
default_gw: 10.0.0.1
name_server: 10.16.32.48
domain_name: nbttech.com
admin_password: $1$xcuHq/$a/qZ8zGpzy.NHsKjJ8Yla.
scc: cmc.lab.riverbed.com
Creating and attaching the configuration ISO file
After you have prepared your SteelHead-v provisioning directory structure and files, you’ll need to convert them into an ISO drive that can be attached to your SteelHead-v instances.
To create the ISO file
Use this shell command line tool to transform the openstack directory and its contents into an ISO file:
mkisofs -R -V config-2 -o configdrive.iso /tmp/config_drive
To attach the ISO drive
If you are using virsh on KVM, edit the domain.xml file of the KVM SteelHead-v instances as follows:
<disk type="file" device="cdrom">
<driver name="qemu" type="raw" cache="none" />
<source file="/mnt/Riverbed /configdrive.iso" />
<readonly />
<target dev="vdc" />
</disk>
 
If you are using Hyper‑V or ESXi, use the GUI to attach the configdrive.iso to your SteelHead-v instances.
After the SteelHead-v instances are instantiated using the domain.xml file, they will be configured with the parameters provided in the user_data file.
To verify whether SteelHead-v provisioning has correctly configured your SteelHead-v instances, by run the show run command immediately after the CLI is launched.