Openstack: change endpoint IP addresses after installation

Prerequisites

You have a single node DevStack installation using mysql for the database that was working properly before the IP address changed.  If you have important data in your environment that can't be lost, make sure to take a backup of all configuration files, data files, and databases before making further changes to your environment.

Shut Down Services

Stop all the running OpenStack services with the unstack.sh script:

~/devstack$ ./unstack.sh

Modifications

To modify the endpoints in the database, you'll need to update values in the endpoints table of the keystone schema.

Log into mysql:

~/devstack$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 267
Server version: 5.5.40-0ubuntu0.12.04.1-log (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Switch to the keystone schema:

mysql> use keystone
Database changed

Modify endpoint IPs:

mysql> update endpoint set url = REPLACE(url, '[old IP address]', '[new IP address]');

The number of rows this command updates will vary by how many endpoints your installation uses.  In my case, it was 30.

Validate that the endpoint urls were updated:

mysql> select url from endpoint;

Log out of mysql:

mysql> quit
Bye

Update configuration files in /etc:

$ grep -rl '[old IP address]' /etc | xargs sed -i 's/[old IP address]/[new IP address]/g'

Update configuration files in /opt/stack (necessary if you've got tempest or other components that put configurations in /opt/stack):

grep -rl '[old IP address]' /opt/stack | xargs sed -i 's/[old IP address]/[new IP address]/g'

Check whether .my.cnf in your home directory needs an update.  In my case, the IP address in this file was set to 127.0.0.1, so it didn't need an update.

Restart Services

Run the rejoin-stack.sh command, which starts the services again without making changes to the database or configuration files:

~/devstack$ ./rejoin-stack.sh

Copied from: https://www.symantec.com/connect/blogs/change-endpoint-ip-addresses-after-openstack-installation-devstack


猜你喜欢

转载自blog.csdn.net/yexianyi/article/details/53691479