Difference between revisions of "RunningQuantumV2Api"
Line 10: | Line 10: | ||
</nowiki></pre> | </nowiki></pre> | ||
− | * Apply the patch "Enables keystone-enabled Quantum in devstack" https://review.openstack.org/#/c/10269/. | + | * Apply the patch "Enables keystone-enabled Quantum in devstack" https://review.openstack.org/#/c/10269/. (will be merged soon) |
* Add the following line to devstack/files/apt/general. It is a dependency bug in Ubuntu 12.04. | * Add the following line to devstack/files/apt/general. It is a dependency bug in Ubuntu 12.04. | ||
Line 40: | Line 40: | ||
== 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 | + | $ quantum net-create mynet |
Created a new network: | Created a new network: | ||
+----------------+--------------------------------------+ | +----------------+--------------------------------------+ | ||
Line 65: | Line 61: | ||
+----------------+--------------------------------------+ | +----------------+--------------------------------------+ | ||
| 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 | ||
+ | +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+ | ||
+ | | 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> | ||
Line 76: | Line 79: | ||
<pre><nowiki> | <pre><nowiki> | ||
− | $quantum | + | $ quantum subnet-create --ip_version 4 --gateway 10.2.2.1 c329c96f-a9e2-4035-9947-c2fd51b3224c 10.2.2.0/24 |
Created a new subnet: | Created a new subnet: | ||
− | +------------+--------------------------------------+ | + | +------------------+--------------------------------------------+ |
− | | Field | + | | Field | Value | |
− | +------------+--------------------------------------+ | + | +------------------+--------------------------------------------+ |
− | | cidr | + | | allocation_pools | {"start": "10.2.2.2", "end": "10.2.2.254"} | |
− | | gateway_ip | 10.2.2.1 | + | | cidr | 10.2.2.0/24 | |
− | | id | + | | gateway_ip | 10.2.2.1 | |
− | | ip_version | 4 | + | | id | 032b9a1a-6a01-4ff1-88f1-3ec61b460ddd | |
− | | network_id | | + | | 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 | | ||
+ | +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+ | ||
</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 116: | ||
| 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> |
Revision as of 13:52, 1 August 2012
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
- Apply the patch "Enables keystone-enabled Quantum in devstack" https://review.openstack.org/#/c/10269/. (will be merged soon)
- Add the following line to devstack/files/apt/general. It is a dependency bug in Ubuntu 12.04.
python-pyparsing
- Create a localrc file in your devstack repo that contains the following:
disable_service n-net enable_service q-svc enable_service q-agt Q_PLUGIN=openvswitch ADMIN_PASSWORD=password MYSQL_PASSWORD=password RABBIT_PASSWORD=password SERVICE_PASSWORD=password SERVICE_TOKEN=tokentoken SCHEDULER=nova.scheduler.simple.SimpleScheduler LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver NOVA_USE_QUANTUM_API=v2
- 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 Created 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 +----------------+--------------------------------------+-------+--------+--------------------------------------+----------------------------------+ | 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:
$ quantum subnet-create --ip_version 4 --gateway 10.2.2.1 c329c96f-a9e2-4035-9947-c2fd51b3224c 10.2.2.0/24 Created a new 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 | +--------------------------------------+-------+--------+----------------+
Quantum DHCP
The Quantum DHCP agent has been merged into master and is supported by Devstack. If you want to use Quantum DHCP, just add the following to your *localrc*.
enable_service q-dhcp
This will run the Quantum DHCP agent in a separate screen.
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