Difference between revisions of "RunningQuantumV2Api"
m (Text replace - "__NOTOC__" to "") |
|||
(27 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | + | ||
== Quantum v2 API == | == Quantum v2 API == | ||
− | |||
− | |||
− | |||
− | |||
=== In order to run Quantum using the v2 api the following steps are need: === | === In order to run Quantum using the v2 api the following steps are need: === | ||
* First download a copy of devstack. | * First download a copy of devstack. | ||
− | + | ||
<pre><nowiki> | <pre><nowiki> | ||
git clone git://github.com/openstack-dev/devstack.git | git clone git://github.com/openstack-dev/devstack.git | ||
</nowiki></pre> | </nowiki></pre> | ||
− | + | * Add the following line to devstack/files/apt/general. It is a dependency bug in Ubuntu 12.04. | |
− | * | + | |
− | |||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
− | + | python-pyparsing | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | * run stack.sh as normal to download code | + | * 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 == | == Create a network using Quantumv2 == | ||
+ | * Set envvars for quantum client. | ||
+ | |||
<pre><nowiki> | <pre><nowiki> | ||
− | + | $ . 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 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | * | + | * Creating a network named mynet. |
− | + | ||
<pre><nowiki> | <pre><nowiki> | ||
− | $ | + | $ quantum net-create mynet # Creates a new network |
− | |||
+----------------+--------------------------------------+ | +----------------+--------------------------------------+ | ||
| Field | Value | | | Field | Value | | ||
+----------------+--------------------------------------+ | +----------------+--------------------------------------+ | ||
| admin_state_up | True | | | admin_state_up | True | | ||
− | | id | | + | | id | c329c96f-a9e2-4035-9947-c2fd51b3224c | |
| name | mynet | | | name | mynet | | ||
| status | ACTIVE | | | status | ACTIVE | | ||
| subnets | | | | subnets | | | ||
− | | tenant_id | | + | | 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 | | ||
+ | +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | * Associate a subnet with this network: | + | * Associate a subnet with this network (you can do this 0 or more times, but *beware* that some hypervisor drivers do not yet support networks with 0 IPv4 subnets - https://bugs.launchpad.net/nova/+bug/1039665): |
− | + | ||
<pre><nowiki> | <pre><nowiki> | ||
− | $ | + | $ quantum subnet-create c329c96f-a9e2-4035-9947-c2fd51b3224c 10.2.2.0/24 # Creates a subnet |
− | + | +------------------+--------------------------------------------+ | |
− | +------------+--------------------------------------+ | + | | Field | Value | |
− | | Field | + | +------------------+--------------------------------------------+ |
− | +------------+--------------------------------------+ | + | | allocation_pools | {"start": "10.2.2.2", "end": "10.2.2.254"} | |
− | | cidr | + | | cidr | 10.2.2.0/24 | |
− | | gateway_ip | 10.2.2.1 | + | | gateway_ip | 10.2.2.1 | |
− | | id | + | | id | 032b9a1a-6a01-4ff1-88f1-3ec61b460ddd | |
− | | ip_version | 4 | + | | ip_version | 4 | |
− | | network_id | | + | | 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 | | ||
+ | +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | * Boot a VM using this network (the VM will get a NIC for each network owned by that tenant. The --nic option is | + | * 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): |
− | + | ||
<pre><nowiki> | <pre><nowiki> | ||
− | $IMG_ID=`nova image-list | grep cirros | grep -v kernel | grep -v ram | awk -F "|" '{print $2}'` | + | $ IMG_ID=`nova image-list | grep cirros | grep -v kernel | grep -v ram | awk -F "|" '{print $2}'` |
− | $ nova boot --image $IMG_ID --flavor 1 test1 | + | $ nova boot --image $IMG_ID --flavor 1 --nic net-id=c329c96f-a9e2-4035-9947-c2fd51b3224c test1 |
+------------------------+--------------------------------------+ | +------------------------+--------------------------------------+ | ||
| Property | Value | | | Property | Value | | ||
Line 103: | Line 94: | ||
| accessIPv4 | | | | accessIPv4 | | | ||
| accessIPv6 | | | | accessIPv6 | | | ||
− | | adminPass | | + | | adminPass | KHZ9r9CHTQMw | |
| config_drive | | | | config_drive | | | ||
− | | created | 2012- | + | | created | 2012-08-01T13:49:09Z | |
| flavor | m1.tiny | | | flavor | m1.tiny | | ||
| hostId | | | | hostId | | | ||
− | | id | | + | | id | 21a7f742-288f-4796-8e5f-d9c8741d4b75 | |
| image | cirros-0.3.0-x86_64-uec | | | image | cirros-0.3.0-x86_64-uec | | ||
− | | key_name | | + | | key_name | None | |
| metadata | {} | | | metadata | {} | | ||
| name | test1 | | | name | test1 | | ||
| progress | 0 | | | progress | 0 | | ||
| status | BUILD | | | status | BUILD | | ||
− | | tenant_id | | + | | tenant_id | ce829a76691c445db483b56a18e38ca0 | |
− | | updated | 2012- | + | | updated | 2012-08-01T13:49:10Z | |
− | | user_id | | + | | user_id | 037c166e4363491fb25e4f669fa18e45 | |
+------------------------+--------------------------------------+ | +------------------------+--------------------------------------+ | ||
− | |||
− | |||
$ nova list | $ nova list | ||
+--------------------------------------+-------+--------+----------------+ | +--------------------------------------+-------+--------+----------------+ | ||
| ID | Name | Status | Networks | | | ID | Name | Status | Networks | | ||
+--------------------------------------+-------+--------+----------------+ | +--------------------------------------+-------+--------+----------------+ | ||
− | | | + | | 21a7f742-288f-4796-8e5f-d9c8741d4b75 | test1 | ACTIVE | mynet=10.2.2.2 | |
+--------------------------------------+-------+--------+----------------+ | +--------------------------------------+-------+--------+----------------+ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | + | == 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. | * 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 == | ||
+ | |||
* In order to deploy Quantum using the v2 API with multiple nodes follow the Multi-Node Setup outlined here: http://wiki.openstack.org/QuantumDevstack | * In order to deploy Quantum using the v2 API with multiple nodes follow the Multi-Node Setup outlined here: http://wiki.openstack.org/QuantumDevstack |
Latest revision as of 23:30, 17 February 2013
Contents
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 | +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+
- Associate a subnet with this network (you can do this 0 or more times, but *beware* that some hypervisor drivers do not yet support networks with 0 IPv4 subnets - https://bugs.launchpad.net/nova/+bug/1039665):
$ 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
- In order to deploy Quantum using the v2 API with multiple nodes follow the Multi-Node Setup outlined here: http://wiki.openstack.org/QuantumDevstack