This repository was archived by the owner on Aug 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
This repository was archived by the owner on Aug 16, 2021. It is now read-only.
Ubuntu based OpenStack IceHouse Installation #15
Copy link
Copy link
Open
Description
Start
- check memory of VM/box
- check capacity of VM/box
- use 64-bit version
- example assumes 3 node architecture
- 1 controller, 1 network & 1 compute
Networking at controller
- configure 1st interface as management interface
IP address: 10.0.0.11
Network mask: 255.255.255.0 (or /24)
Default gateway: 10.0.0.1
set hostname of the node to controller
edit /etc/hosts file to resolve controller, network & compute address
remove the 127.0.0.1 line
Networking at network
- configure 1st interface as management interface
- configure 2nd interface as instance tunnels interface
- configure 3rd interface as the external interface
- external interface does not need an IP address configured
- replace INTERFACE_NAME with actual interface name e.g. eth2
- edit /etc/network/interfaces
# The external network interface
auto INTERFACE_NAME
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
- restart network
- service networking stop && service networking start
- name resolution @ /etc/hosts
- remove 127.0.0.1 line entry
Networking at compute
- configure 1st interface as management interface
- configure 2nd interface as instance tunnels interface
- name resolution
Verify networking connectivity
- verify internet connection
- @ controller # ping -c 4 openstack.org
- verify controller to network's management connection
- @ controller # ping -c 4 network
- verify controller to compute's management connection
- @ controller # ping -c 4 compute
- similarly do @ network
- similarly do @ compute
Synchronize services across multiple machines
- @ controller # apt-get install ntp
- configure the other nodes to sync from controller node
- install the ntp daemon as above
- edit /etc/ntp.conf
- change server directive to use controller node
Controller & mysql
- apt-get install python-mysqldb mysql-server
- remember the db root password
- edit /etc/mysql/my.cnf
- [mysqld]
bind-address = management IP of controller node
- bind-address enables access to mysql from other nodes via management network
- verify /etc/mysql/my.cnf
- default-storage-engine = innodb
- collation-server = utf8_general_ci
- init-connect = 'SET NAMES utf8'
- character-set-server = utf8
- restart mysql
- service mysql restart
- delete anonymous users that are created when db is first started
- mysql_secure_installation
- if above fails:
- mysql_install_db
- mysql_secure_installation
Other nodes & mysql
- install mysql python library
- apt-get install python-mysqldb
OpenStack packages
- ubuntu cloud archive is a repo that allows to install newer releases of OpenStack
- on stable supported version of ubuntu
- apt-get install python-software-properties
- add-apt-repository cloud-archive:icehouse
- apt-get update
- apt-get dist-upgrade
- reboot
Install message broker service
- apt-get install rabbitmq-server
- default install creates guest for username & password
- replace with a suitable password
- mention the password in .conf files for all services
- rabbitmqctl change_password guest <RABBIT_PASS>
Install identity service
- apt-get install keystone
- update the MySQL database info at conf files
- edit /etc/keystone/keystone.conf
[database]
connection = mysql://keystone:<KEYSTONE_DB_PASS>@controller/keystone
- provide a suitable password for keystone user
- delete the default SQLite database which comes during Ubuntu installation
- rm /var/lib/keystone/keystone.db
- create a keystone database user
- mysql -u root -p
- CREATE DATABASE keystone;
- GRANT ALL PRIVILEDGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
- GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels