Planning for the procedure

Background knowledge

This procedure assumes that:

  • you are installing into an existing OpenStack deployment

  • you are using an OpenStack version from Icehouse through to Train inclusive

  • you have some knowledge of VMs and familiarity with OpenStack’s host software

  • you have read the installation guidelines at Initial Setup and have everything you need to carry out the installation.

Reserve maintenance period

This procedure does not require a maintenance period. However if you are integrating into a live network then it’s recommended to implement measures to mitigate any unforeseen events.

Plan for service impact

This procedure does not impact service.

People

You must be a system operator to perform the MOP steps.

Tools and access

You must have:

  • access to a local computer with a network connection and browser access to the OpenStack Dashboard

  • administrative access to the OpenStack host machine

  • the OpenStack privileges required to deploy VMs from an image (see OpenStack documentation for specific details).

Installation Questions

Question More information

Do you have the OpenStack flavor for custom?

You should have created these by following the instructions in Create a custom VM OpenStack flavor.

Have you installed the OpenStack image for custom?

You should have installed the image by following the instructions in Install the custom VM Virtual Appliance as an OpenStack image.

Have you created and do you know the names of the networks and security group for custom?

Use the OpenStack documentation to create the networks and a subnet for each. Follow Determine Network Names and Security Group to get the names of the networks and check the security group is created.

Do you have a list of the IP addresses that you intend to give to each node?

Each node requires three (two if not clustered) IP addresses - one for management traffic, one for signaling traffic, and one for Rhino clustering traffic.

Do you have DNS and NTP Server information?

It’s expected that the system will integrate with the IMS Core NTP and DNS servers.

Installation Steps

Repeat the following steps for each custom VM that you are creating.

Step Information

1 - Create ports

Create a port for each network interface on each VM, to determine the MAC addresses for that VM.

2 - Create userdata YAML document

The userdata provides the VM with some basic configuration, such as IP address, DNS servers, and so on.

3 - Deploy VM

Use nova boot to deploy and power on a VM.

Important

This procedure requires you to enter complex and detailed OpenStack commands which also require the input of lengthy parameters. We strongly recommend that you create these commands in a text editor and then copy and paste them into the SSH session for execution.

If you have a large number of VMs, you may want to write a script to automate the commands.

Method of procedure

Step 1 - Create ports

This procedure describes how to create ports for the VM to use. A port associates a VM’s network interface (NIC) with one of the OpenStack host’s networks and subnets, and assigns the NIC a MAC address and IP address.

Prerequisites

Detailed procedure

  1. For each network required by this VM, create a port using the following command:

    For OpenStack Pike and later

    openstack port create \
    --network <network-name> \
    --description <description> \
    --fixed-ip ip-address=<IPv4 address> \
    --security-group <security-group-name> \
    <name>

    For OpenStack Ocata and earlier

    neutron port-create \
    <network-name> \
    --fixed-ip ip_address=<IPv4 address> \
    --security-group <security-group-name> \
    --name <name>

    where:

    • <network-name> is the name of the network for this port

    • description is a short description of the port - a suggested format is <hostname> <network name>, e.g. [image name]-1 management

    • <IPv4 address> is the IP address of this VM for this network

    • <security-group-name> is the name of the security group, normally open

    • <name> is a name for the port - a suggested format is <hostname>-<network name>, e.g. [image name]-1-management.

  2. In the output, note the ID and MAC address that the OpenStack host has assigned to the port. The port ID will be required when using nova boot to deploy the VM instance. The MAC address will be required in the YAML userdata for the VM.

Ensure you repeat steps 2 and 3 for each network required by the VM (between two and four times in total).

Results

You have created ports and determined their names and MAC addresses.

Step 2 - Create userdata YAML document

Prerequisites

  • You must have created the ports for this VM and noted their MAC addresses.

  • You must know the values for all the bootstrap parameters.

  • You must know the signaling addresses of all the CDS nodes in your deployment.

Detailed procedure

Follow the instructions at Writing the YAML userdata document for OpenStack to create a file containing the userdata for this VM on the OpenStack server.

Set the CDS addresses parameter to a list of the signaling addresses of all the CDS nodes in your deployment.

Results

You have created a userdata file which can be passed to the nova boot command in the next step.

Step 3 - Deploy VM

This procedure describes how to deploy a custom VM from the OpenStack image.

Prerequisites

Detailed procedure

  1. If you haven’t done so already, log into the OpenStack host and source the client environment script for the tenant that will contain the Rhino VoLTE TAS VMs.

  2. Determine the image ID of the node type being deployed.

  3. Determine the flavor name for the node type. You created this in Create a custom VM OpenStack flavor.

  4. Create the virtual machine by running nova boot:

    nova boot \
    --image <image id> \
    --flavor <flavor name> \
    --security-groups <security-group-name> \
    --availability-zone nova \
    --nic port-id=<mgmt-port-id> \
    --nic port-id=<sig-port-id> \
    --nic port-id=<cluster-port-id> \
    --config-drive true \
    --user-data <path-to-userdata-file> \
    <hostname>

    where:

    • <image id> is the ID of the image for this node type

    • <flavor name> is the name of the flavor for this node type

    • <security-group-name> is the name of the unrestricted security group, normally open

    • <mgmt-port-id> is the ID of the port for this VM’s management interface

    • <sig-port-id> is the ID of the port for this VM’s signaling interface

    • <cluster-port-id> is the ID of the port for this VM’s clustering interface

    • <path-to-userdata-file> is the relative or absolute path to the YAML userdata file

    • <hostname> is the VM’s hostname, which must match that specified in the YAML userdata file.

      Make a note of the ID of the newly created virtual machine because you will need to use this (as <VM id>) in subsequent commands.

      Note

      Previous versions of the ShCM VM, and the 3.1 series of the MMT, MAG and SMO VMs, use the --meta option to nova boot to provide the properties. With userdata, --meta is no longer used.

  5. Run the command nova show <VM id>. View the status.

    • If you see ACTIVE, the VM has been created successfully and is powered on.

    • If you see BUILD, the VM is still being created and you should wait a few moments before running the command again.

    • If you see ERROR, you should terminate the VM, using the procedure described in the Backout Procedure.

Results

A custom VM has been created and powered on. The bootstrap script will run automatically once the VM has booted.

Repeat the above steps for each custom VM you are creating.

Next step

Once all the custom VMs have been created using the procedure above, configure them by uploading configuration to CDS. Follow the links from this page.

Backout procedure

If you need to delete a VM which has failed to create, bootstrap or configure properly, use the following steps.

  1. Run nova delete <VM id>, where VM id is the ID of the VM that was created above.

    If you don’t know the VM id, you can determine it using nova list.

  2. Run nova list to verify that the server has been deleted.

  3. Delete the ports you created for this VM.

    For OpenStack Pike and later: For each port you created for this VM, run openstack port delete <port ID>, where <port ID> is the ID of the port. Then verify using openstack port list that there are no more ports remaining.

    For OpenStack Ocata and earlier: For each port you created for this VM, run neutron port-delete <port ID>, where <port ID> is the ID of the port. Then verify using neutron port-list that there are no more ports remaining.

Previous page Next page
VM Build Container Version 1.0.0