From f6cd0e506116291d1e88f916bc76e8ded797dc61 Mon Sep 17 00:00:00 2001 From: xiulin yin Date: Wed, 15 Feb 2017 11:08:26 +0800 Subject: [PATCH] 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 --- devstack/plugin.sh | 8 ++++---- doc/source/multi-pod-installation-devstack.rst | 13 +++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 5378107c..b0e0e5ee 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -60,6 +60,8 @@ function init_local_neutron_conf { 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 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_password $ADMIN_PASSWORD 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 ext_mapping="extern:$TRICIRCLE_DEFAULT_EXT_BRIDGE" - OVS_BRIDGE_MAPPINGS=$vlan_mapping - if [ "$TRICIRCLE_START_SERVICES" == "False" ]; then - OVS_BRIDGE_MAPPINGS=$vlan_mapping,$ext_mapping - fi + OVS_BRIDGE_MAPPINGS=$vlan_mapping,$ext_mapping + fi } diff --git a/doc/source/multi-pod-installation-devstack.rst b/doc/source/multi-pod-installation-devstack.rst index ce509bcf..6899c0f0 100644 --- a/doc/source/multi-pod-installation-devstack.rst +++ b/doc/source/multi-pod-installation-devstack.rst @@ -204,6 +204,19 @@ In pod2 in node2 for OpenStack RegionTwo, - 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:: + + + Require all granted + + + After update, restart Apache service first, and then placement API. + How to play ^^^^^^^^^^^