Merge "Update plugin.sh and document for cellv2 integration"
This commit is contained in:
commit
f1055bd70c
@ -64,7 +64,7 @@ function init_common_tricircle_conf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init_local_nova_conf {
|
function init_local_nova_conf {
|
||||||
iniset $NOVA_CONF glance api_servers http://$KEYSTONE_SERVICE_HOST:9292
|
iniset $NOVA_CONF glance api_servers http://$KEYSTONE_SERVICE_HOST/image
|
||||||
iniset $NOVA_CONF placement os_region_name $CENTRAL_REGION_NAME
|
iniset $NOVA_CONF placement os_region_name $CENTRAL_REGION_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,28 +229,27 @@ function start_central_nova_server {
|
|||||||
local central_region=$2
|
local central_region=$2
|
||||||
local central_neutron_port=$3
|
local central_neutron_port=$3
|
||||||
|
|
||||||
# reconfigure central neutron server to use our own central plugin
|
|
||||||
echo "Configuring Nova API for Tricircle to work with cell V2"
|
echo "Configuring Nova API for Tricircle to work with cell V2"
|
||||||
|
|
||||||
cp $NOVA_CONF $NOVA_CONF.0
|
iniset $NOVA_CONF neutron region_name $central_region
|
||||||
iniset $NOVA_CONF.0 neutron region_name $central_region
|
iniset $NOVA_CONF neutron url "$Q_PROTOCOL://$SERVICE_HOST:$central_neutron_port"
|
||||||
iniset $NOVA_CONF.0 neutron url "$Q_PROTOCOL://$SERVICE_HOST:$central_neutron_port"
|
|
||||||
|
# Here we create new endpoints for central region instead of updating the
|
||||||
|
# endpoints in local region because at the end of devstack, the script tries
|
||||||
|
# to query the nova api in local region to check whether the nova-compute
|
||||||
|
# service is running. If we update the endpoint region from local region to
|
||||||
|
# central region, the check will fail and thus devstack fails
|
||||||
|
nova_url=$(openstack endpoint list --service compute --interface public --region $local_region -c URL -f value)
|
||||||
|
get_or_create_endpoint "compute" "$central_region" "$nova_url"
|
||||||
|
nova_legacy_url=$(openstack endpoint list --service compute_legacy --interface public --region $local_region -c URL -f value)
|
||||||
|
get_or_create_endpoint "compute_legacy" "$central_region" "$nova_legacy_url"
|
||||||
|
|
||||||
nova_endpoint_id=$(openstack endpoint list --service compute --interface public --region $local_region -c ID -f value)
|
|
||||||
openstack endpoint set --region $central_region $nova_endpoint_id
|
|
||||||
nova_legacy_endpoint_id=$(openstack endpoint list --service compute_legacy --interface public --region $local_region -c ID -f value)
|
|
||||||
openstack endpoint set --region $central_region $nova_legacy_endpoint_id
|
|
||||||
image_endpoint_id=$(openstack endpoint list --service image --interface public --region $local_region -c ID -f value)
|
image_endpoint_id=$(openstack endpoint list --service image --interface public --region $local_region -c ID -f value)
|
||||||
openstack endpoint set --region $central_region $image_endpoint_id
|
openstack endpoint set --region $central_region $image_endpoint_id
|
||||||
place_endpoint_id=$(openstack endpoint list --service placement --interface public --region $local_region -c ID -f value)
|
place_endpoint_id=$(openstack endpoint list --service placement --interface public --region $local_region -c ID -f value)
|
||||||
openstack endpoint set --region $central_region $place_endpoint_id
|
openstack endpoint set --region $central_region $place_endpoint_id
|
||||||
|
|
||||||
stop_process n-api
|
restart_service devstack@n-api
|
||||||
# remove previous failure flag file since we are going to restart service
|
|
||||||
rm -f "$SERVICE_DIR/$SCREEN_NAME"/n-api.failure
|
|
||||||
sleep 20
|
|
||||||
run_process n-api "$NOVA_BIN_DIR/nova-api --config-file $NOVA_CONF.0"
|
|
||||||
|
|
||||||
restart_apache_server
|
restart_apache_server
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,12 @@ Setup
|
|||||||
friendly). End user can access CentralRegion endpoint of Nova and Neutron to
|
friendly). End user can access CentralRegion endpoint of Nova and Neutron to
|
||||||
experience the integration of Nova cell v2 and Tricircle.
|
experience the integration of Nova cell v2 and Tricircle.
|
||||||
|
|
||||||
- 2 Enter the screen section in node2, stop n-api and n-sch.
|
- 2 Stop the following services in node2::
|
||||||
|
|
||||||
|
systemctl stop devstack@n-sch.service
|
||||||
|
systemctl stop devstack@n-super-cond.service
|
||||||
|
systemctl stop devstack@n-api.service
|
||||||
|
systemctl stop devstack@n-api-meta.service
|
||||||
|
|
||||||
.. note:: Actually for cell v2, only one Nova API is required. We enable n-api
|
.. note:: Actually for cell v2, only one Nova API is required. We enable n-api
|
||||||
in node2 because we need DevStack to help us create the necessary cell
|
in node2 because we need DevStack to help us create the necessary cell
|
||||||
@ -32,7 +37,7 @@ Setup
|
|||||||
|
|
||||||
- 3 In node2, run the following command::
|
- 3 In node2, run the following command::
|
||||||
|
|
||||||
mysql -u$user -p$password -Dnova -e 'select host, mapped from compute_nodes
|
mysql -u$user -p$password -Dnova_cell1 -e 'select host, mapped from compute_nodes'
|
||||||
|
|
||||||
you can see that this command returns you one row showing the host of node2
|
you can see that this command returns you one row showing the host of node2
|
||||||
is already mapped::
|
is already mapped::
|
||||||
@ -46,15 +51,15 @@ Setup
|
|||||||
This host is registered to Nova API in node2, which is already stopped by us,
|
This host is registered to Nova API in node2, which is already stopped by us,
|
||||||
We need to update this row to set "mapped" to 0::
|
We need to update this row to set "mapped" to 0::
|
||||||
|
|
||||||
mysql -u$user -p$password -Dnova -e 'update compute_nodes set mapped = 0 where host = "zhiyuan-2"'
|
mysql -u$user -p$password -Dnova_cell1 -e 'update compute_nodes set mapped = 0 where host = "zhiyuan-2"'
|
||||||
|
|
||||||
then we can register this host again in step4.
|
then we can register this host again in step4.
|
||||||
|
|
||||||
- 4 In node1, run the following commands to register the new cell::
|
- 4 In node1, run the following commands to register the new cell::
|
||||||
|
|
||||||
nova-manage cell_v2 create_cell --name cell2 \
|
nova-manage cell_v2 create_cell --name cell2 \
|
||||||
--transport-url rabbit://$rabbit_user:$rabbit_passwd@$node2_ip:5672/ \
|
--transport-url rabbit://$rabbit_user:$rabbit_passwd@$node2_ip:5672/nova_cell1 \
|
||||||
--database_connection mysql+pymysql://$db_user:$db_passwd@$node2_ip/nova?charset=utf8
|
--database_connection mysql+pymysql://$db_user:$db_passwd@$node2_ip/nova_cell1?charset=utf8
|
||||||
|
|
||||||
nova-manage cell_v2 discover_hosts
|
nova-manage cell_v2 discover_hosts
|
||||||
|
|
||||||
@ -86,17 +91,17 @@ Setup
|
|||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
| ID | Binary | Host | Zone | Status | State | Updated At |
|
| ID | Binary | Host | Zone | Status | State | Updated At |
|
||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
| 5 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:37.000000 |
|
| 5 | nova-scheduler | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:56:02.000000 |
|
||||||
| 7 | nova-scheduler | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:36.000000 |
|
| 6 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:56:09.000000 |
|
||||||
| 8 | nova-consoleauth | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:39.000000 |
|
| 8 | nova-consoleauth | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:56:01.000000 |
|
||||||
| 9 | nova-compute | zhiyuan-1 | nova | enabled | up | 2017-05-27T06:04:42.000000 |
|
| 1 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:56:07.000000 |
|
||||||
| 4 | nova-conductor | zhiyuan-2 | internal | enabled | up | 2017-05-27T06:04:40.000000 |
|
| 3 | nova-compute | zhiyuan-1 | nova | enabled | up | 2017-09-20T06:56:10.000000 |
|
||||||
| 6 | nova-scheduler | zhiyuan-2 | internal | enabled | down | 2017-05-27T02:56:50.000000 |
|
| 1 | nova-conductor | zhiyuan-2 | internal | enabled | up | 2017-09-20T06:56:07.000000 |
|
||||||
| 7 | nova-consoleauth | zhiyuan-2 | internal | enabled | up | 2017-05-27T06:04:36.000000 |
|
| 3 | nova-compute | zhiyuan-2 | nova | enabled | up | 2017-09-20T06:56:09.000000 |
|
||||||
| 8 | nova-compute | zhiyuan-2 | nova | enabled | up | 2017-05-27T06:04:38.000000 |
|
|
||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
|
|
||||||
Nova scheduler in host zhiyuan-2 is down because we stop it in step2.
|
zhiyuan-1 has two nova-conductor services, because one of them is a super
|
||||||
|
conductor service.
|
||||||
|
|
||||||
- 6 Create two aggregates and put the two hosts in each aggregate::
|
- 6 Create two aggregates and put the two hosts in each aggregate::
|
||||||
|
|
||||||
@ -128,22 +133,13 @@ Trouble Shooting
|
|||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
| ID | Binary | Host | Zone | Status | State | Updated At |
|
| ID | Binary | Host | Zone | Status | State | Updated At |
|
||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
| 5 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:37.000000 |
|
| 5 | nova-scheduler | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:55:52.000000 |
|
||||||
| 7 | nova-scheduler | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:36.000000 |
|
| 6 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:55:59.000000 |
|
||||||
| 8 | nova-consoleauth | zhiyuan-1 | internal | enabled | up | 2017-05-27T06:04:39.000000 |
|
| 8 | nova-consoleauth | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:56:01.000000 |
|
||||||
| 9 | nova-compute | zhiyuan-1 | nova | enabled | up | 2017-05-27T06:04:42.000000 |
|
| 1 | nova-conductor | zhiyuan-1 | internal | enabled | up | 2017-09-20T06:55:57.000000 |
|
||||||
|
| 3 | nova-compute | zhiyuan-1 | nova | enabled | up | 2017-09-20T06:56:00.000000 |
|
||||||
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
+----+------------------+-----------+----------+---------+-------+----------------------------+
|
||||||
|
|
||||||
Though new cell has been registered in the database, the running n-api process
|
Though new cell has been registered in the database, the running n-api process
|
||||||
in node1 may not recognize it. We find that restarting n-api can solve this
|
in node1 may not recognize it. We find that restarting n-api can solve this
|
||||||
problem.
|
problem.
|
||||||
|
|
||||||
- 2 After you create a server, the server turns into Error status with error
|
|
||||||
"No valid host was found"
|
|
||||||
|
|
||||||
We check the log of n-sch process in node1 and find it says: "Found 2 cells",
|
|
||||||
this is incorrect since we have three cells including cell0. After restarting
|
|
||||||
n-sch, the log says "Found 3 cells". Try creating server again after that.
|
|
||||||
|
|
||||||
Another reason for this problem we have found is that n-cpu doesn't sync
|
|
||||||
available resource with n-sch, restarting n-cpu can slove this problem.
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user