Resource Reservation

Overview

Requirements

You must have installed the chameleon fork of python-blazarclient.

pip install \
git+https://github.com/chameleoncloud/python-blazarclient@chameleoncloud/xena

Adding Resources

Hosts

You shouldn't need to do this manually, as Doni will manage this for you.

If you need to, the command is

openstack reservation host create

Devices

openstack reservation device create

Disabling Resources

Hosts

To Disable Resources for Maintenance - Run the following command to disable a host for maintenance. This will make the resource unreservable for users while allowing administrators to create leases. The healing monitor does not flip the 'reservable' for hosts when the host is flagged as disabled.

openstack reservation host set<host id/name> --extra disabled=true

On disabling a host, it is also set as unreservable. For example, running openstack reservation host list should show the disabled host with disabled set to True:

openstack reservation host list -c hypervisor_hostname -c disabled -c reservable
+--------------------------------------+------------+----------+
| hypervisor_hostname                  | reservable | disabled |
+--------------------------------------+------------+----------+
| 328aa140-e8cb-48a8-a789-fb293bfb8f74 | True       | False    |
| 8576d7ad-7f34-4588-a868-9075ac8d2c9f | True       | False    |
| c3ce27b8-85b2-441d-ace1-078fd187f637 | False      | True     |
+--------------------------------------+------------+----------+

To Enable Resources After Maintenance - To unset the disabled flag and make the resource reservable again, use the following command:

openstack reservation host unset<host id/name> --extra disabled

This enables the host, and the 'reservable' flag is not automatically turned on, but the healing monitor should turn 'reservable' to True eventually.

openstack reservation host list -c hypervisor_hostname -c disabled -c reservable
+--------------------------------------+------------+----------+
| hypervisor_hostname                  | reservable | disabled |
+--------------------------------------+------------+----------+
| 328aa140-e8cb-48a8-a789-fb293bfb8f74 | True       | False    |
| 8576d7ad-7f34-4588-a868-9075ac8d2c9f | True       | False    |
| c3ce27b8-85b2-441d-ace1-078fd187f637 | False      | False    |
+--------------------------------------+------------+----------+

Networks

Create a Reservable Network

This creates an entry in Blazar, allowing a user to reserve a vlan on a physical network. When their lease starts, a neutron network will be created using that vlan and physnet.

Make sure that the segment ID + physnets you add here are outside the range of ad-hoc vlans defined for neutron (in your defaults.yml file). Otherwise, Blazar's reservable vlans and neutron's ad-hoc ones may conflict.

Usage:

openstack reservation network create \
  --network-type <NETWORK_TYPE> \
  --physical-network <PHYSICAL_NETWORK> \
  --segment <SEGMENT_ID> \
  --extra <key>=<value>

options:
  --network-type NETWORK_TYPE
                        Type of physical mechanism associated with the network segment. For example: flat, geneve, gre, local, vlan, vxlan.
  --physical-network PHYSICAL_NETWORK
                        Name of the physical network in which the network segment is available, required for VLAN networks
  --segment SEGMENT_ID
                        VLAN ID for VLAN networks or Tunnel ID for GENEVE/GRE/VXLAN networks
  --extra <key>=<value>
                        Extra capabilities key/value pairs to add for the network

Example:

openstack reservation network create \
  --network-type vlan \
  --physical-network physnet1 \
  --segment 2000 \
  --extra mykey=myvalue

Add or update capability to a Reservable Network

openstack reservation network set --extra key=value NETWORK_ID

Example, change the physical network:

openstack reservation network set --extra physical_network=physnet1

Convention for Stitch-able Networks

To indicate that a network can be connected to other sites at L2, we use the key stitch_provider

For example, if you have plumbed VLANs from your dataplane switch to a FABRIC facility port, indicate these with:

openstack reservation network set --extra stitch_provider=fabric

Floating IPs

Create a new reservable floating IP

openstack reservation floatingip create <NETWORK_ID> <FLOATING_IP_ADDRESS>

Last updated