Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

18.3. Extend the Tenant Network for the Benchmarking Service

The following procedure is optional and required only if the Benchmarking service scenario being run requires a direct access (ssh) to the guest. When running the NovaServers.boot_server scenario, extending the tenant network is not required as this is specific scenario does not ssh into the guests but simple launches the guests.
Perform the following steps on your Controller node, unless otherwise specified.
  1. If your Red Hat OpenStack Platform deployment does not have any floating point IPs available, extend the Tenant network to the rally host. Run the following command to install the OpenStack Networking OpenvSwitch agent package:
    # yum install openstack-neutron-openvswitch
  2. Copy the OpenStack Networking configuration files from the Compute node to the Controller node:
    # scp COMPUTE_NODE_IP:/etc/neutron/* /etc/neutron
  3. Set an IP address to the interface that would have been associated with the Tenant network had it been part of the OpenStack cluster.
  4. Edit the ovs_neutron_plugin.ini file and change the local_ip to the IP address that resides on the Tenant network:
    [OVS]
    vxlan_udp_port=4789
    network_vlan_ranges=
    tunnel_type=vxlan
    tunnel_id_ranges=1:1000
    tenant_network_type=vxlan
    local_ip=IP_WITHIN_TENANT_NETWORK
    enable_tunneling=True
    integration_bridge=br-int
    tunnel_bridge=br-tu
  5. Edit the /etc/neutron/plugin.ini file and change the local_ip to the IP address that resides on the Tenant network:
    [OVS]
    vxlan_udp_port=4789
    network_vlan_ranges=
    tunnel_type=vxlan
    tunnel_id_ranges=1:1000
    tenant_network_type=vxlan
    local_ip=IP_WITHIN_TENANT_NETWORK
    enable_tunneling=True
    integration_bridge=br-int
    tunnel_bridge=br-tun
  6. Restart the neutron-openvswitch-agent:
    # systemctl restart openvswitch
    # systemctl restart neutron-openvswitch-agent
  7. On the Controller node, verify the agent is properly setup by using the neutron agent-list command:
    # neutron agent-list
    ... Output Abbreviated ... ]
    | 8578499b-0873-47a9-9cae-9884d4abf768 | Open vSwitch agent | Controller_Host | :-) | True | neutron-openvswitch-agent
  8. On the Controller node, create the variables netid and hostid with the following information:
    # netid=PRIVATE_NETWORK_ID
    # echo $netid
    # hostid=CONTROLLER_NODE_HOSTNAME
    # echo $hostid
  9. On the Controller node, create a neutron port labelled rally-port that binds to the host_id and creates the port within the network of the associated netid.
    # neutron port-create --name rally-port --binding:host_id=$hostid $netid
    Created a new port:
    +-----------------------
    +---------------------------------------------------------------------------------+
    | Field                 | Value
    |
    +-----------------------
    +---------------------------------------------------------------------------------+
    | admin_state_up        | True
    |
    | allowed_address_pairs |
    |
    | binding:host_id       | VISIONING_HOST                                          |
    | binding:profile       | {}
    |
    | binding:vif_details   | {"port_filter": true, "ovs_hybrid_plug": true}
    |
    | binding:vif_type      | ovs
    |
    | binding:vnic_type     | normal
    |
    | device_id             |
    |
    | device_owner          |
    |
    | extra_dhcp_opts       |
    |
    | fixed_ips             | {"subnet_id": "5279a66d-a5f5-4639-b664-163c39f26838", "ip_address": "10.1.0.2"}
    |
    | id                    | 0a9e54da-6588-42ce-9011-d637c3387670
    |
    | mac_address           | fa:16:3e:44:c3:d9
    |
    | name                  | rally-port                                                                  |
    | network_id            | 1cd7ae4f-d057-41bd-8c56-557771bf9f73
    |
    | security_groups       | 76fe37c7-debb-46b4-a57a-d7dbb9dfd0ed
    |
    | status                | DOWN
    |
    | tenant_id             | 6f98906137a2421da579d4e70714cac6
    |
    +-----------------------
    +---------------------------------------------------------------------------------+
    
  10. Within the Controller node, modify the rally virtual machine XML with the following:
    # virsh edit rally
    ...
       <interface type='bridge'>
         <mac address='fa:16:3e:1a:3b:f1'/>
         <source bridge='br-int'/>
         <virtualport type='openvswitch'>
           <parameters interfaceid='neutron-port-id'/>
         </virtualport>
         <target dev='vnet4'/>
         <model type='virtio'/>
         <alias name='net1'/>
         <address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/>
       </interface>
    ...

    Note

    Make sure you update the neutron-port-id with the id located in the previous step when creating the rally-port.
  11. After the XML file changes have been applied to the rally guest, reboot the guest.