Run Spirent AION platform instances. After Terraform apply finishes you will be able to point your browser at the variable ips
addresses.
If you would like to configure the Spirent AION platform in a web browser set the variable enable_provisioner=false
. When enable_provisioner=true
the instance will be configured. However, license entitlement and product installation will need to be completed in your web browser (see below). Login to the platform instance https://<your_ip> using the values of admin_email
and admin_password
.
- From Settings navigate to License Manager, Entitlements
- Click Install Entitlements
- Use one of the following methods to add entitlements (#1 is prefered)
- Login to <your_org>.spirentaion.com and select entitlements to host in the new instance
Note: Hosted entitlements should be released before destroying the instance. When entitlements are not released you will need to contact Spirent support to release them for you. - Install a license entitlement file obtained from Spirent support
- Login to <your_org>.spirentaion.com and select entitlements to host in the new instance
- From Settings navigate to Settings, Add New Products
- Click Install New Products
- Select products and versions and click Install
Prior to running Terraform the following must be completed:
govc is a vSphere command line interface (CLI). Follow installation instructions here.
Set govc environmental variables specific to your vSphere: GOVC_URL
, GOVC_INSECURE
, GOVC_USERNAME
, GOVC_PASSWORD
Verify vSphere list inventory works:
govc ls -l "*"
genisoimage is a tool to create ISO images. This terraform module uses genisomage to pass NoCloud cloud-init configuration to the instances. Install genisoimage using your package manager.
Ubuntu/Debian:
apt-get install genisoimage
Red Hat/CentOS:
yum install genisoimage
The AION platform OVA image can be downloaded from spirentaion.com in the AION Downloads of http::<your_organization>/spirentaion.com.
Create vSphere AION template using the following commands:
./import-spec.sh <vsphere_network> > aion-spec.json
govc import.ova -ds=<datastore> -options=aion-spec.json -name=aion_template <aion-platform-image-xxxx.ova>
Name | Version |
---|---|
vsphere | 1.24.3 |
Name | Version |
---|---|
local | n/a |
null | n/a |
random | n/a |
template | n/a |
vsphere | 1.24.3 |
No Modules.
Name |
---|
local_file |
null_resource |
random_id |
template_file |
vsphere_datacenter |
vsphere_datastore |
vsphere_file |
vsphere_virtual_machine |
vsphere_virtual_machine |
Name | Description | Type | Default | Required |
---|---|---|---|---|
admin_email | Cluster admin user email. Use this to login to instance web page. Default is obtained from AION user information. | string |
"" |
no |
admin_first_name | Cluster admin user first name. Default is obtained from AION user information. | string |
"" |
no |
admin_last_name | Cluster admin user last name. Default is obtained from AION user information. | string |
"" |
no |
admin_password | Cluster admin user password. Use this to login to to the instance web page. | string |
n/a | yes |
aion_password | AION user password for aion_url | string |
n/a | yes |
aion_url | AION URL. An example URL would be https://example.spirentaion.com. | string |
n/a | yes |
aion_user | AION user registered on aion_url | string |
n/a | yes |
cluster_names | Instance cluster names. List length must equal instance_count. | list(string) |
[] |
no |
datacenter | vSphere datacenter name | string |
n/a | yes |
datastore | vSphere datastore name | string |
n/a | yes |
dest_datastore_folder | Destination datastore folder for cloud-init ISO images | string |
n/a | yes |
dest_dir | Destination directory on the instance where provisioning files will be copied | string |
"~" |
no |
enable_provisioner | Enable provisioning. When enabled instances will be initialized with the specified variables. | bool |
true |
no |
http_enabled | Allow HTTP access as well as HTTPS. Normally this is not recommended. | bool |
false |
no |
instance_count | Number of AION instances to create | number |
1 |
no |
instance_name | Name assigned to the instance. An instance number will be appended to the name. | string |
"AION" |
no |
ip_gateway | IPv4 gateway | string |
n/a | yes |
ip_netmask | IPv4 netmask | string |
n/a | yes |
ips | Static IPv4 address list | list(string) |
n/a | yes |
local_admin_password | Cluster local admin password for instance SSH access. Will use admin_password if not specified. | string |
"" |
no |
macs | MAC address list. Automatically set if not specified. | list(string) |
[] |
no |
memory | Size of the virtual machine's memory, in MB | number |
"2048" |
no |
metrics_opt_out | Opt-out of Spirent metrics data collection | bool |
false |
no |
mgmt_plane_network_id | Management network ID | string |
n/a | yes |
node_names | Instance cluster node names. List length must equal instance_count. | list(string) |
[] |
no |
node_storage_provider | Cluster node storage provider | string |
"local" |
no |
node_storage_remote_uri | Cluster node storage URI. Leave blank for default when provider is local | string |
"" |
no |
num_cpus | Number of virtual processor cores assigned to an instance | number |
"2" |
no |
private_key_file | SSH private key file | string |
n/a | yes |
public_key_file | SSH public key file | string |
n/a | yes |
resource_pool_id | vSphere resource pool ID | string |
n/a | yes |
template_name | Name of the template created from the OVA | string |
n/a | yes |
Name | Description |
---|---|
instance_uuids | List of UUIDs assigned to the instances. |