Jump to: navigation, search

RunningQuantumV2Api

Revision as of 23:30, 17 February 2013 by Ryan Lane (talk | contribs) (Text replace - "__NOTOC__" to "")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Quantum v2 API

In order to run Quantum using the v2 api the following steps are need:

  • First download a copy of devstack.
git clone git://github.com/openstack-dev/devstack.git
  • Add the following line to devstack/files/apt/general. It is a dependency bug in Ubuntu 12.04.
python-pyparsing
  • See QuantumDevstack for information about configuring devstack to use Quantum
  • run stack.sh as normal to download code and get things running.

Create a network using Quantumv2

  • Set envvars for quantum client.
$ . openrc
$ env | grep OS_
OS_PASSWORD=password
OS_AUTH_URL=http://192.168.122.248:5000/v2.0
OS_USERNAME=demo
OS_TENANT_NAME=demo
  • Creating a network named mynet.
$ quantum net-create mynet # Creates a new network
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| admin_state_up | True                                 |
| id             | c329c96f-a9e2-4035-9947-c2fd51b3224c |
| name           | mynet                                |
| status         | ACTIVE                               |
| subnets        |                                      |
| tenant_id      | ce829a76691c445db483b56a18e38ca0     |
+----------------+--------------------------------------+
$ quantum net-list # Network shows up in list
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
| admin_state_up | id                                   | name  | status | subnets                              | tenant_id                        |
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
| True           | 17af5b57-bebc-4556-8c83-ea40f842488f | net1  | ACTIVE | 0f6c205c-1420-4724-a133-b0ca8b2117ff | ce829a76691c445db483b56a18e38ca0 |
| True           | c329c96f-a9e2-4035-9947-c2fd51b3224c | mynet | ACTIVE |                                      | ce829a76691c445db483b56a18e38ca0 |
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
$ quantum subnet-create c329c96f-a9e2-4035-9947-c2fd51b3224c 10.2.2.0/24 # Creates a subnet
+------------------+--------------------------------------------+
| Field            | Value                                      |
+------------------+--------------------------------------------+
| allocation_pools | {"start": "10.2.2.2", "end": "10.2.2.254"} |
| cidr             | 10.2.2.0/24                                |
| gateway_ip       | 10.2.2.1                                   |
| id               | 032b9a1a-6a01-4ff1-88f1-3ec61b460ddd       |
| ip_version       | 4                                          |
| name             |                                            |
| network_id       | c329c96f-a9e2-4035-9947-c2fd51b3224c       |
| tenant_id        | ce829a76691c445db483b56a18e38ca0           |
+------------------+--------------------------------------------+
$ quantum net-list
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
| admin_state_up | id                                   | name  | status | subnets                              | tenant_id                        |
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
| True           | 17af5b57-bebc-4556-8c83-ea40f842488f | net1  | ACTIVE | 0f6c205c-1420-4724-a133-b0ca8b2117ff | ce829a76691c445db483b56a18e38ca0 |
| True           | c329c96f-a9e2-4035-9947-c2fd51b3224c | mynet | ACTIVE | 032b9a1a-6a01-4ff1-88f1-3ec61b460ddd | ce829a76691c445db483b56a18e38ca0 |
+----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
  • Boot a VM using this network (the VM will get a NIC for each network owned by that tenant. The --nic option is already supported):
$ IMG_ID=`nova image-list | grep cirros | grep -v kernel | grep -v ram | awk -F "|" '{print $2}'`
$ nova boot --image $IMG_ID --flavor 1 --nic net-id=c329c96f-a9e2-4035-9947-c2fd51b3224c test1
+------------------------+--------------------------------------+
| Property               | Value                                |
+------------------------+--------------------------------------+
| OS-DCF:diskConfig      | MANUAL                               |
| OS-EXT-STS:power_state | 0                                    |
| OS-EXT-STS:task_state  | scheduling                           |
| OS-EXT-STS:vm_state    | building                             |
| accessIPv4             |                                      |
| accessIPv6             |                                      |
| adminPass              | KHZ9r9CHTQMw                         |
| config_drive           |                                      |
| created                | 2012-08-01T13:49:09Z                 |
| flavor                 | m1.tiny                              |
| hostId                 |                                      |
| id                     | 21a7f742-288f-4796-8e5f-d9c8741d4b75 |
| image                  | cirros-0.3.0-x86_64-uec              |
| key_name               | None                                 |
| metadata               | {}                                   |
| name                   | test1                                |
| progress               | 0                                    |
| status                 | BUILD                                |
| tenant_id              | ce829a76691c445db483b56a18e38ca0     |
| updated                | 2012-08-01T13:49:10Z                 |
| user_id                | 037c166e4363491fb25e4f669fa18e45     |
+------------------------+--------------------------------------+
$ nova list
+--------------------------------------+-------+--------+----------------+
| ID                                   | Name  | Status | Networks       |
+--------------------------------------+-------+--------+----------------+
| 21a7f742-288f-4796-8e5f-d9c8741d4b75 | test1 | ACTIVE | mynet=10.2.2.2 |
+--------------------------------------+-------+--------+----------------+


Limitations

  • Note: with v2, Quantum no longer uses the L3 + NAT logic from nova-network. Quantum will not have the equivalent functionality until F-3, so you won't be able to ping the VMs from the nova controller host.

Advanced Setups