QA:Testcase Quantum V2

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
Line 73: Line 73:
 
Ensure that environment varibales are configured to run the client
 
Ensure that environment varibales are configured to run the client
 
  $> source keystonerc
 
  $> source keystonerc
 +
 +
Get the keystone tenant-id
 +
 +
$>  keystone tenant-list | grep " service " | awk '{print $2}'
 +
 +
This ID will be used for the service tenant.
  
 
Create network and subnet
 
Create network and subnet
  $> quantum net-create net1
+
  $> quantum net-create --tenant-id <ID> net1
  $> quantum subnet-create net1 10.0.0.0/24
+
  $> quantum subnet-create --tenant-id <ID> net1 10.0.0.0/24
  
 
Connectivity between VM's
 
Connectivity between VM's

Revision as of 08:02, 16 September 2012

Contents

Description

Deploy the Quantum virtual network service and configure Nova to use QuantumManager as its NetworkManager. Quantum includes several plugins. The linuxbridge and openvswitch plugins are covered here.

Setup

The installtion of the Quantum packages is done the openstack-demo-install utility. This will also configure a Quantum user with Keystone. The examples below show the usage of OpenvSwitch as the plugin and agent. This can be replaced by any one of the other supperted agents, for example linux bridge.

Note: A Quantum user needs to be created in keystone.

Install the openvswitch package. This will also install the openvswitch package.

$> sudo yum install openstack-quantum-openvswitch

Enable and start the openvswitch service

$> sudo systemctl enable openvswitch.service
$> sudo systemctl start openvswitch.service

Create the integration bridges (these are used for VM traffic management and layer 3 external networking)

$> sudo ovs-vsctl add-br br-int
$> sudo ovs-vsctl add-br br-ex

Configure quantum-server to use the openvswitch Please note that this will create a database:

$> sudo quantum-server-setup --plugin openvswitch

Enable and start the quantum-server:

$> sudo systemctl enable quantum-server.service
$> sudo systemctl start quantum-server.service

Restart the nova compute (quantum updates drivers in the nova.conf configuration file)

Enable and start the layer 2 agent:

$> sudo systemctl enable quantum-openvswitch-agent.service
$> sudo systemctl start quantum-openvswitch-agent.service

Configure the DHCP service (set the hostname as localhost):

$> sudo quantum-dhcp-setup --plugin openvswitch

Enable and start the DHCP agent:

$> sudo systemctl enable quantum-dhcp-agent.service
$> sudo systemctl start quantum-dhcp-agent.service

Configure the L3 service:

$> sudo quantum-l3-setup --plugin openvswitch

Enable and start the L3 agent:

$> sudo systemctl enable quantum-l3-agent.service
$> sudo systemctl start quantum-l3-agent.service

quantum now should be up and ready to go. Check the log files to see if there are any error:

  1. Service - /var/log/quantum/server.log
  2. OpenvSwitch agent - /var/log/quantum/openvswitch-agent.log
  3. DHCP agent - /var/log/quantum/dhcp-agent.log
  4. L3 agent - /var/log/quantum/l3-agent.log

How to test

Configuration

Ensure that environment varibales are configured to run the client

$> source keystonerc

Get the keystone tenant-id

$>  keystone tenant-list

Expected Results

  1. After the subnet create the DHCP server should allocate a port to allocate IP addresses to the VMs running on the network. Run quantum port-list to check that a port has been created.
  2. check that a namespace has been created for the DHCP agent. Run ip netns. A namespace should be created with the prefix dhcp. This can be used to ping VM's deployed on the network.
  3. The L2 agent will add the port to the integration bridge. Run sudo ovs-vsctl show. This will show that a tap device for the DHCP agent has been added to the integration bridge. The tap device name will be the first 11 bytes of the port ID.
  4. VM's that are started should receive and IP address on the network 10.0.0.0/24. In addition to this if there is more than one VM on the network the VM's should be able to ping one another.