Resource Reservation
Overview
Requirements
You must have installed the chameleon fork of python-blazarclient.
pip install \
git+https://github.com/chameleoncloud/python-blazarclient@chameleoncloud/xenaAdding 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 createDevices
openstack reservation device createDisabling 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=trueOn 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 disabledThis 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 networkExample:
openstack reservation network create \
--network-type vlan \
--physical-network physnet1 \
--segment 2000 \
--extra mykey=myvalueAdd or update capability to a Reservable Network
openstack reservation network set --extra key=value NETWORK_IDExample, change the physical network:
openstack reservation network set --extra physical_network=physnet1Convention 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=fabricFloating IPs
Create a new reservable floating IP
openstack reservation floatingip create <NETWORK_ID> <FLOATING_IP_ADDRESS>Last updated