Difference between revisions of "RunningQuantumV2Api"
Line 11: | Line 11: | ||
− | |||
* Create a localrc file in your devstack repo that contains the following: | * Create a localrc file in your devstack repo that contains the following: | ||
Revision as of 17:28, 16 July 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
- Create a localrc file in your devstack repo that contains the following:
ENABLED_SERVICES+=,-n-net,q-svc,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
- Determine the tenant-id:
$ SERVICE_ENDPOINT=http://localhost:35357/v2.0 $ SERVICE_TOKEN=tokentoken $ keystone --token $SERVICE_TOKEN --endpoint $SERVICE_ENDPOINT tenant-list +----------------------------------+--------------------+---------+ | id | name | enabled | +----------------------------------+--------------------+---------+ | 0331b94a864a46f9b5ce7e188c115c29 | invisible_to_admin | True | | 118c80482f8e4bbc83661399e93ab020 | service | True | | 7c46d68545ca49e4b52e5bc0be9e2a2a | admin | True | | 9b234056142543949c95601d7bb77b9b | demo | True | +----------------------------------+--------------------+---------+
- Using the id for the demo user create a network:
$quantum --os_token ADMIN --os_url http://localhost:9696/ net-create --tenant_id 9b234056142543949c95601d7bb77b9b mynet Created a new network: +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | admin_state_up | True | | id | 335b9d39-f803-4e38-9236-cc7fd047baab | | name | mynet | | status | ACTIVE | | subnets | | | tenant_id | 9b234056142543949c95601d7bb77b9b | +----------------+--------------------------------------+
- Associate a subnet with this network:
$quantum --os_token ADMIN --os_url http://localhost:9696/ subnet-create --tenant_id 9b234056142543949c95601d7bb77b9b --ip_version 4 --gateway 10.2.2.1 335b9d39-f803-4e38-9236-cc7fd047baab 10.2.2.0/24 Created a new subnet: +------------+--------------------------------------+ | Field | Value | +------------+--------------------------------------+ | cidr | 10.2.2.0/24 | | gateway_ip | 10.2.2.1 | | id | badb639d-8191-47d2-a6fa-6bc81beae97f | | ip_version | 4 | | network_id | 335b9d39-f803-4e38-9236-cc7fd047baab | +------------+--------------------------------------+
- Boot a VM using this network (the VM will get a NIC for each network owned by that tenant. The --nic option is not yet support):
$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 +------------------------+--------------------------------------+ | 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 | 4X6a5z55WFxT | | config_drive | | | created | 2012-06-30T02:25:12Z | | flavor | m1.tiny | | hostId | | | id | 7ee202a1-f6e6-4e68-b6c3-dc7489ddb433 | | image | cirros-0.3.0-x86_64-uec | | key_name | | | metadata | {} | | name | test1 | | progress | 0 | | status | BUILD | | tenant_id | 9b234056142543949c95601d7bb77b9b | | updated | 2012-06-30T02:25:12Z | | user_id | 0c23bf7f644a404896d1387e2bb97540 | +------------------------+--------------------------------------+ $ nova list +--------------------------------------+-------+--------+----------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+----------------+ | 7ee202a1-f6e6-4e68-b6c3-dc7489ddb433 | test1 | ACTIVE | mynet=10.2.2.2 | +--------------------------------------+-------+--------+----------------+
Quantum DHCP
The Quantum DHCP agent has been merged into master, but is currently unsupported by Devstack. You can enable support by adding the patch https://review.openstack.org/#/c/9362/ to you devstack repo. This requires adding "q-dhcp" to the "ENABLED_SERVICES". 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