1. What is the problem?
Tricircle now is dedicated for networking automation across Neutron. Some
tables used in APIs gateway should be removed, like aggregation table, pod
binding table, etc. They should not reside in the Tricircle any more. Other
tables containing old meanings but are still in use should be renamed for
better understanding. We can see the blueprint[1] for further explanation.
2. What is the solution to the problem?
The data models, tables and APIs about aggregation, pod binding, etc. should
be removed. After the pod binding table is removed, the az_hint used for
external network creation is hard to match. So special handle needs to be
implemented. Other tables will have vague meaning after this splitting, but
they still take effective in the Tricircle, So they should be renamed for
better understanding. What's more, the pod_name in the pod table is renamed
to region_name, which coordinates better with its availability zone.
1)Tables to be removed:
*aggregates
*aggregate_metadata
*instance_types
*instance_type_projects
*instance_type_extra_specs
*key_pairs
*pod_binding
2)Tables need to be renamed:
*cascaded_pod_service_configuration (new name: cached_endpoints)
*cascaded_pods (new name: pods)
*cascaded_pods_resource_routing (new name: resource_routings)
*job (new name: async_jobs)
3. What the features need to be implemented to the Tricircle to realize
the solution?
After the pod binding table is removed, the az_hint used for external
network creation is hard to match. New features will be implemented to solve
this problem.
[1] https://blueprints.launchpad.net/tricircle/+spec/clean-legacy-tables
Change-Id: I025b4fb48c70abf424bd458fac0dc888e5fa19fd
95 lines
2.6 KiB
Bash
Executable File
95 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Script name: verify_top_install.sh
|
|
# This script is to verify the installation of Tricircle in Top OpenStack.
|
|
#
|
|
# In this script, there are some parameters you need to consider before running it.
|
|
#
|
|
# 1, Post URL whether is 127.0.0.1 or something else,
|
|
# 2, This script create a subnet called net1 10.0.0.0/24, Change these if needed.
|
|
#
|
|
# Change the parameters according to your own environment.
|
|
# Execute "verify_top_install.sh" in the top OpenStack
|
|
#
|
|
# Author: Pengfei Shi <shipengfei92@gmail.com>
|
|
#
|
|
|
|
set -o xtrace
|
|
|
|
TEST_DIR=$(pwd)
|
|
echo "Test work directory is $TEST_DIR."
|
|
|
|
if [ ! -r admin-openrc.sh ];then
|
|
set -o xtrace
|
|
echo "Your work directory doesn't have admin-openrc.sh,"
|
|
echo "Please check whether you are in tricircle/devstack/ or not and run this script."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Beginning the verify testing..."
|
|
|
|
echo "Import client environment variables:"
|
|
source $TEST_DIR/admin-openrc.sh
|
|
|
|
echo "******************************"
|
|
echo "* Verify Endpoint *"
|
|
echo "******************************"
|
|
|
|
echo "List openstack endpoint:"
|
|
|
|
openstack --debug endpoint list
|
|
|
|
token=$(openstack token issue | awk 'NR==5 {print $4}')
|
|
|
|
echo $token
|
|
|
|
curl -X POST http://127.0.0.1:19999/v1.0/pods -H "Content-Type: application/json" \
|
|
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "RegionOne"}}'
|
|
|
|
curl -X POST http://127.0.0.1:19999/v1.0/pods -H "Content-Type: application/json" \
|
|
-H "X-Auth-Token: $token" -d '{"pod": {"region_name": "Pod1", "az_name": "az1"}}'
|
|
|
|
echo "******************************"
|
|
echo "* Verify Nova *"
|
|
echo "******************************"
|
|
|
|
echo "Show nova aggregate:"
|
|
nova --debug aggregate-list
|
|
|
|
echo "Create test flavor:"
|
|
nova --debug flavor-create test 1 1024 10 1
|
|
|
|
echo "******************************"
|
|
echo "* Verify Neutron *"
|
|
echo "******************************"
|
|
|
|
echo "Create net1:"
|
|
neutron --debug net-create net1
|
|
|
|
echo "Create subnet of net1:"
|
|
neutron --debug subnet-create net1 10.0.0.0/24
|
|
|
|
image_id=$(glance image-list |awk 'NR==4 {print $2}')
|
|
net_id=$(neutron net-list|grep net1 |awk '{print $2}')
|
|
|
|
echo "Boot vm1 in az1:"
|
|
nova --debug boot --flavor 1 --image $image_id --nic net-id=$net_id --availability-zone az1 vm1
|
|
|
|
echo "******************************"
|
|
echo "* Verify Cinder *"
|
|
echo "******************************"
|
|
|
|
echo "Create a volume in az1:"
|
|
cinder --debug create --availability-zone=az1 1
|
|
|
|
echo "Show volume list:"
|
|
cinder --debug list
|
|
volume_id=$(cinder list |grep lvmdriver-1 | awk '{print $2}')
|
|
|
|
echo "Show detailed volume info:"
|
|
cinder --debug show $volume_id
|
|
|
|
echo "Delete test volume:"
|
|
cinder --debug delete $volume_id
|
|
cinder --debug list
|