Chapter 6. Creating an instance with a guaranteed minimum bandwidth QoS You can create instances that request a guaranteed minimum bandwidth by using a Quality of Service (QoS) policy. QoS policies with a guaranteed minimum bandwidth rule are assigned to ports on a specific physical network. When you create an instance that uses the configured port, the Compute scheduling service selects a host for the instance that satisfies this request. The Compute scheduling service checks the Placement service for the amount of bandwidth reserved by other instances on each physical interface, before selecting a host to deploy an instance on. Limitations/Restrictions You can only assign a guaranteed minimum bandwidth QoS policy when creating a new instance. You cannot assign a guaranteed minimum bandwidth QoS policy to instances that are already running, as the Compute service only updates resource usage for an instance in placement during creation or move operations, which means the minimum bandwidth available to the instance cannot be guaranteed. Prerequisites A QoS policy is available that has a minimum bandwidth rule. For more information, see Configuring Quality of Service (QoS) policies in the Configuring Red Hat OpenStack Platform networking guide. Procedure List the available QoS policies: Check the rules of each of the available policies to determine which has the required minimum bandwidth: Create a port from the appropriate policy: Create an instance, specifying the NIC port to use: An "ACTIVE" status in the output indicates that you have successfully created the instance on a host that can provide the requested guaranteed minimum bandwidth. 6.1. Removing a guaranteed minimum bandwidth QoS from an instance If you want to lift the guaranteed minimum bandwidth QoS policy restriction from an instance, you can detach the interface. Procedure To detach the interface, enter the following command:

Commands:
(overcloud)USD openstack network qos policy list
-------------------------------------- --------- -------- ---------+ | ID | Name | Shared | Default | Project | -------------------------------------- --------- -------- ---------+ | 6d771447-3cf4-4ef1-b613-945e990fa59f | policy2 | True | False | ba4de51bf7694228a350dd22b7a3dc24 | | 78a24462-e3c1-4e66-a042-71131a7daed5 | policy1 | True | False | ba4de51bf7694228a350dd22b7a3dc24 | | b80acc64-4fc2-41f2-a346-520d7cfe0e2b | policy0 | True | False | ba4de51bf7694228a350dd22b7a3dc24 | -------------------------------------- --------- -------- ---------+
(overcloud)USD openstack network qos policy show policy0
------------- ---------------------------------------------------------------------------------------+ | Field | Value | ------------- ---------------------------------------------------------------------------------------+ | description | | | id | b80acc64-4fc2-41f2-a346-520d7cfe0e2b | | is_default | False | | location | cloud= ', project.domain_id=, project.domain_name='Default , project.id= ba4de51bf7694228a350dd22b7a3dc24 , project.name= admin , region_name= regionOne , zone= | | name | policy0 | | project_id | ba4de51bf7694228a350dd22b7a3dc24 | | rules | [{ min_kbps : 100000, direction : egress , id : d46218fe-9218-4e96-952b-9f45a5cb3b3c , qos_policy_id : b80acc64-4fc2-41f2-a346-520d7cfe0e2b , type : minimum_bandwidth }, { min_kbps : 100000, direction : ingress , id : 1202c4e3-a03a-464c-80d5-0bf90bb74c9d , qos_policy_id : b80acc64-4fc2-41f2-a346-520d7cfe0e2b , type : minimum_bandwidth }] | | shared | True | | tags | [] | ------------- ---------------------------------------------------------------------------------------+
(overcloud)USD openstack port create port-normal-qos --network net0 --qos-policy policy0
openstack server create --flavor cirros256 --image cirros-0.3.5-x86_64-disk --nic port-id=port-normal-qos --wait qos_instance
openstack server remove port <vm_name|vm_id> <port_name|port_id>