Merge "Use tricircle cli instead of curl command"

This commit is contained in:
Jenkins 2017-07-27 08:47:36 +00:00 committed by Gerrit Code Review
commit ed540a25d9
5 changed files with 45 additions and 79 deletions

View File

@ -47,14 +47,11 @@ token=$(openstack token issue | awk 'NR==5 {print $4}')
echo $token
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionOne"}}'
openstack multiregion networking pod create --region-name RegionOne
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "Pod1", "az_name": "az1"}}'
openstack multiregion networking pod create --region-name Pod1 --availability-zone az1
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "Pod2", "az_name": "az2"}}'
openstack multiregion networking pod create --region-name Pod2 --availability-zone az2
echo "******************************"
echo "* Verify Nova *"
@ -63,17 +60,12 @@ echo "******************************"
echo "Show nova aggregate:"
nova aggregate-list
curl -X POST http://127.0.0.1:9696/v2.0/networks -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
-d '{"network": {"name": "net1", "admin_state_up": true, "availability_zone_hints": ["az1"]}}'
curl -X POST http://127.0.0.1:9696/v2.0/networks -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
-d '{"network": {"name": "net2", "admin_state_up": true, "availability_zone_hints": ["az2"]}}'
neutron net-create --availability-zone-hint az1 net1
echo "Create external network ext-net by curl:"
curl -X POST http://127.0.0.1:9696/v2.0/networks -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
-d '{"network": {"name": "ext-net", "admin_state_up": true, "router:external": true, "provider:network_type": "vlan", "provider:physical_network": "extern", "availability_zone_hints": ["Pod2"]}}'
neutron net-create --availability-zone-hint az2 net2
echo "Create external network ext-net:"
neutron net-create --router:external --provider:network_type vlan --provider:physical_network extern --availability-zone-hint Pod2 ext-net
echo "Create test flavor:"
nova flavor-create test 1 1024 10 1

View File

@ -43,11 +43,9 @@ token=$(openstack token issue | awk 'NR==5 {print $4}')
echo $token
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionOne"}}'
openstack multiregion networking pod create --region-name RegionOne
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "Pod1", "az_name": "az1"}}'
openstack multiregion networking pod create --region-name Pod1 --availability-zone az1
echo "******************************"
echo "* Verify Nova *"

View File

@ -313,48 +313,41 @@ How to play
normal OpenStack regions which includes Nova, Neutron and Glance. Shared
Keystone service is registered in "RegionOne".
- 4 Get token for the later commands. Run ::
- 4 Create pod instances for the Tricircle to manage the mapping between
availability zones and OpenStack instances ::
openstack --os-region-name=RegionOne token issue
openstack multiregion networking pod create --region-name CentralRegion
- 5 Create pod instances for the Tricircle to manage the mapping between
availability zones and OpenStack instances, "$token" is obtained in step 4 ::
openstack multiregion networking pod create --region-name RegionOne --availability-zone az1
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "CentralRegion"}}'
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionOne", "az_name": "az1"}}'
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionTwo", "az_name": "az2"}}'
openstack multiregion networking pod create --region-name RegionTwo --availability-zone az2
Pay attention to "region_name" parameter we specify when creating pod. Pod name
should exactly match the region name registered in Keystone. In the above
commands, we create pods named "CentralRegion", "RegionOne" and "RegionTwo".
- 6 Create necessary resources in central Neutron server ::
- 5 Create necessary resources in central Neutron server ::
neutron --os-region-name=CentralRegion net-create net1
neutron --os-region-name=CentralRegion net-create --availability-zone-hint RegionOne net1
neutron --os-region-name=CentralRegion subnet-create net1 10.0.1.0/24
neutron --os-region-name=CentralRegion net-create net2
neutron --os-region-name=CentralRegion net-create --availability-zone-hint RegionTwo net2
neutron --os-region-name=CentralRegion subnet-create net2 10.0.2.0/24
Please note that the net1 and net2 ID will be used in later step to boot VM.
- 7 Get image ID and flavor ID which will be used in VM booting ::
- 6 Get image ID and flavor ID which will be used in VM booting ::
glance --os-region-name=RegionOne image-list
nova --os-region-name=RegionOne flavor-list
glance --os-region-name=RegionTwo image-list
nova --os-region-name=RegionTwo flavor-list
- 8 Boot virtual machines ::
- 7 Boot virtual machines ::
nova --os-region-name=RegionOne boot --flavor 1 --image $image1_id --nic net-id=$net1_id vm1
nova --os-region-name=RegionTwo boot --flavor 1 --image $image2_id --nic net-id=$net2_id vm2
- 9 Verify the VMs are connected to the networks ::
- 8 Verify the VMs are connected to the networks ::
neutron --os-region-name=CentralRegion port-list
neutron --os-region-name=RegionOne port-list
@ -366,11 +359,9 @@ How to play
Neutron server. The port has same uuid in local Neutron server and central
Neutron Server.
- 10 Create external network and subnet ::
- 9 Create external network and subnet ::
curl -X POST http://127.0.0.1:20001/v2.0/networks -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
-d '{"network": {"name": "ext-net", "admin_state_up": true, "router:external": true, "provider:network_type": "vlan", "provider:physical_network": "extern", "availability_zone_hints": ["RegionTwo"]}}'
neutron --os-region-name=CentralRegion net-create --router:external --provider:network_type vlan --provider:physical_network extern --availability-zone-hint RegionTwo ext-net
neutron --os-region-name=CentralRegion subnet-create --name ext-subnet --disable-dhcp ext-net 163.3.124.0/24
Pay attention that when creating external network, we need to pass
@ -382,13 +373,13 @@ How to play
bridge network when handling interface adding operation. This limitation will
be removed later.*
- 11 Create router and attach subnets in central Neutron server ::
- 10 Create router and attach subnets in central Neutron server ::
neutron --os-region-name=CentralRegion router-create router
neutron --os-region-name=CentralRegion router-interface-add router $subnet1_id
neutron --os-region-name=CentralRegion router-interface-add router $subnet2_id
- 12 Set router external gateway in central Neutron server ::
- 11 Set router external gateway in central Neutron server ::
neutron --os-region-name=CentralRegion router-gateway-set router ext-net
@ -397,18 +388,18 @@ How to play
to directly start a virtual machine in the external network to check the
network connectivity.
- 13 Launch VNC console and test connection ::
- 12 Launch VNC console and test connection ::
nova --os-region-name=RegionOne get-vnc-console vm1 novnc
nova --os-region-name=RegionTwo get-vnc-console vm2 novnc
You should be able to ping vm1 from vm2 and vice versa.
- 14 Create floating ip in central Neutron server ::
- 13 Create floating ip in central Neutron server ::
neutron --os-region-name=CentralRegion floatingip-create ext-net
- 15 Associate floating ip ::
- 14 Associate floating ip ::
neutron --os-region-name=CentralRegion floatingip-list
neutron --os-region-name=CentralRegion port-list

View File

@ -17,25 +17,25 @@ installing DevStack in virtual machine.
https://github.com/openstack/tricircle/blob/master/devstack/local.conf.sample
to local.conf, change password in the file if needed.
- 3 Run DevStack. In DevStack folder, run::
- 3 Run DevStack. In DevStack folder, run ::
./stack.sh
- 4 After DevStack successfully starts, we need to create environment variables for
the user (admin user as example in this document). In DevStack folder::
the user (admin user as example in this document). In DevStack folder ::
source openrc admin demo
- 5 Unset the region name environment variable, so that the command can be issued to
specified region in following commands as needed::
specified region in following commands as needed ::
unset OS_REGION_NAME
- 6 Check if services have been correctly registered. Run::
- 6 Check if services have been correctly registered. Run ::
openstack --os-region-name=RegionOne endpoint list
you should get output looks like as following::
you should get output looks like as following ::
+----------------------------------+---------------+--------------+----------------+
| ID | Region | Service Name | Service Type |
@ -59,41 +59,34 @@ installing DevStack in virtual machine.
"RegionOne" is the normal OpenStack region which includes Nova, Cinder,
Neutron.
- 7 Get token for the later commands. Run::
- 7 Create pod instances for the Tricircle to manage the mapping between
availability zone and OpenStack instances ::
openstack --os-region-name=RegionOne token issue
openstack multiregion networking pod create --region-name CentralRegion
- 8 Create pod instances for the Tricircle to manage the mapping between
availability zone and OpenStack instances, the "$token" is obtained in the
step 7::
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "CentralRegion"}}'
curl -X POST http://127.0.0.1/tricircle/v1.0/pods -H "Content-Type: application/json" \
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionOne", "az_name": "az1"}}'
openstack multiregion networking pod create --region-name RegionOne --availability-zone az1
Pay attention to "region_name" parameter we specify when creating pod. Pod name
should exactly match the region name registered in Keystone. In the above
commands, we create pods named "CentralRegion" and "RegionOne".
- 9 Create necessary resources in central Neutron server::
- 8 Create necessary resources in central Neutron server ::
neutron --os-region-name=CentralRegion net-create net1
neutron --os-region-name=CentralRegion net-create --availability-zone-hint RegionOne net1
neutron --os-region-name=CentralRegion subnet-create net1 10.0.0.0/24
Please note that the net1 ID will be used in later step to boot VM.
- 10 Get image ID and flavor ID which will be used in VM booting::
- 9 Get image ID and flavor ID which will be used in VM booting ::
glance --os-region-name=RegionOne image-list
nova --os-region-name=RegionOne flavor-list
- 11 Boot a virtual machine::
- 10 Boot a virtual machine ::
nova --os-region-name=RegionOne boot --flavor 1 --image $image_id --nic net-id=$net_id vm1
- 12 Verify the VM is connected to the net1::
- 11 Verify the VM is connected to the net1 ::
neutron --os-region-name=CentralRegion port-list
neutron --os-region-name=RegionOne port-list

View File

@ -36,20 +36,12 @@ unset OS_REGION_NAME
mytoken=$(openstack --os-region-name=RegionOne token issue | awk 'NR==5 {print $4}')
echo $mytoken
curl -X POST http://$PRIMARY_NODE_IP/tricircle/v1.0/pods \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $mytoken" -d '{"pod": {"region_name": "CentralRegion"}}'
openstack multiregion networking pod create --region-name CentralRegion
curl -X POST http://$PRIMARY_NODE_IP/tricircle/v1.0/pods \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $mytoken" \
-d '{"pod": {"region_name": "RegionOne", "az_name": "az1"}}'
openstack multiregion networking pod create --region-name RegionOne --availability-zone az1
if [ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]; then
curl -X POST http://$PRIMARY_NODE_IP/tricircle/v1.0/pods \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $mytoken" \
-d '{"pod": {"region_name": "RegionTwo", "az_name": "az2"}}'
openstack multiregion networking pod create --region-name RegionTwo --availability-zone az2
fi
# the usage of "nova flavor-create":