Fix issues of multi-region devstack environment setup

1. What is the problem
(1) Currently we only add bridge mapping for br-extern in RegionTwo by
default in plugin.sh, so if we only have one node for the tempest
test, we can not test the cases that network is created in physical
network of "extern".
(2) Keystone url is not configured explicitly in tricircle local
Neutron plugin configuration so local Neutron plugin may fail to connect
to central Neutron.
(3) In multi-pod installation, Nova services in node2 fail to talk to
placement API due to placement API configuration problem, which leads
to instance booting error.

2. What is the solution to the problem
(1) Add bridge mapping for br-extern both in RegionOne and RegionTwo
by default.
(2) Configure two options client.identity_url and client.auth_url in
plugin.sh to make sure local Neutron server can correctly connect to
central Neutron server.
(3) Update multi-pod installation guide to add a workaround for the
placement API problem.

3. What the features need to be implemented to the Tricircle
No new features.

Change-Id: I0925ee976a3bc7ce16b5ac19865c08dedb2de423
This commit is contained in:
xiulin yin 2017-02-15 11:08:26 +08:00
parent fcd1b661d6
commit f6cd0e5061
2 changed files with 17 additions and 4 deletions

View File

@ -60,6 +60,8 @@ function init_local_neutron_conf {
iniset $NEUTRON_CONF DEFAULT core_plugin tricircle.network.local_plugin.TricirclePlugin iniset $NEUTRON_CONF DEFAULT core_plugin tricircle.network.local_plugin.TricirclePlugin
iniset $NEUTRON_CONF DEFAULT service_plugins tricircle.network.local_l3_plugin.TricircleL3Plugin iniset $NEUTRON_CONF DEFAULT service_plugins tricircle.network.local_l3_plugin.TricircleL3Plugin
iniset $NEUTRON_CONF client auth_url http://$KEYSTONE_SERVICE_HOST:5000/v3
iniset $NEUTRON_CONF client identity_url http://$KEYSTONE_SERVICE_HOST:35357/v3
iniset $NEUTRON_CONF client admin_username admin iniset $NEUTRON_CONF client admin_username admin
iniset $NEUTRON_CONF client admin_password $ADMIN_PASSWORD iniset $NEUTRON_CONF client admin_password $ADMIN_PASSWORD
iniset $NEUTRON_CONF client admin_tenant demo iniset $NEUTRON_CONF client admin_tenant demo
@ -89,10 +91,8 @@ function init_local_neutron_variables {
local vlan_mapping="bridge:$TRICIRCLE_DEFAULT_VLAN_BRIDGE" local vlan_mapping="bridge:$TRICIRCLE_DEFAULT_VLAN_BRIDGE"
local ext_mapping="extern:$TRICIRCLE_DEFAULT_EXT_BRIDGE" local ext_mapping="extern:$TRICIRCLE_DEFAULT_EXT_BRIDGE"
OVS_BRIDGE_MAPPINGS=$vlan_mapping OVS_BRIDGE_MAPPINGS=$vlan_mapping,$ext_mapping
if [ "$TRICIRCLE_START_SERVICES" == "False" ]; then
OVS_BRIDGE_MAPPINGS=$vlan_mapping,$ext_mapping
fi
fi fi
} }

View File

@ -204,6 +204,19 @@ In pod2 in node2 for OpenStack RegionTwo,
- 6 After DevStack successfully starts, the setup is finished. - 6 After DevStack successfully starts, the setup is finished.
.. note:: In the newest version of codes, we may fail to boot an instance in
node2. The reason is that Apache configuration file of Nova placement API
doesn't grant access right to the placement API bin folder. You can use
"screen -r" to check placement API is working well or not. If placement API
is in stuck status, manually update "/etc/apache2/sites-enabled/placement-api.conf"
placement API configuration file in node2 to add the following section::
<Directory /usr/local/bin>
Require all granted
</Directory>
After update, restart Apache service first, and then placement API.
How to play How to play
^^^^^^^^^^^ ^^^^^^^^^^^