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 -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 267Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
Switch to the keystone schema:
mysql> use keystoneDatabase 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> quitBye
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