OpenStack Installation Checklist v
Network Environment
Network Type CIDR Gateway Default Interface
Management Network [Link]/24 [Link] eth0
Provider Network [Link]/24 203.0.113.eth1
Passwords Host Addresses
Description Parameter Value Name
SQL Database 'root' PassworMySQL_root openstack controller
'admin' User Password ADMIN_PASS openstack compute1
Database password for CindCINDER_DBPASS openstack compute2
'cinder' User Password CINDER_PASS openstack block1
Database password for Hori DASH_DBPASS openstack
'demo' User Password DEMO_PASS openstack Host SSH Users
Database password for GlanGLANCE_DBPASSopenstack
'glance' User Password GLANCE_PASS openstack Host
Database password for KeysKEYSTONE_DBPAopenstack controller
Secret for metadata server METADATA_SECRopenstack compute1
Database Password for NeutNEUTRON_DBPASopenstack compute2
'neutron' User Password NEUTRON_PASS openstack block1
Database Password for NovaNOVA_DBPASS openstack
'nova' User Password NOVA_PASS openstack
'placement' User Password PLACEMENT_PASopenstack
RabbitMQ Password for 'openstack
RABBIT_PASS openstack
Firewall and Default Ports
Description Service Port sudo ufw status verbose
Horizon Dashboard unencry HTTP 80 sudo ufw disable
SSL Enabled Services HTTPS 443
Block Storage iSCSI target iSCSI Target 3260
Common SQL Database MariaDB 3306
Message Broker (AMPQ traffRabbitMQ 5672
Block Storage Endpoints Cinder 8776
Compute Endpoints Nova 8774
Compute API Nova 8775
Compute API Nova 8773
Compute VM consoles Nova 5900-5999
Compute VNC Proxy (browseNova 6080
Compute VNC Proxy (clients)Nova 6081
Compute HTML5 console Nova 6082
Identity Service admin endpKeystone 35357
Identity Service public endp Keystone 5000
Image Service API Glance 9292
Image Service Registry Glance 9191
Networking Service Neutron 9696
ation Checklist vGeneral Parameters
Host Systems Operating System
Name Ubuntu Server 16.04 LTS
Download Lin[Link]
ost Addresses
IPv4 AddresNetmask DNS Nameserver
[Link] 255.255.2558.8.8.8
[Link] 255.255.2558.8.8.8
[Link] 255.255.2558.8.8.8
[Link] 255.255.2558.8.8.8
ost SSH Users
Username Password
kris openstack
kris openstack
kris openstack
kris openstack
do ufw status verbose
do ufw disable
Controller Installation Checklist
Set-up 1 - VM
HW Config
Virtual RecommendActual
VCPU (core1-2+ 2
RAM 4+ GB 6
Primary Dis10+ GB 20
VirtualBox Host-Only Network Ethernet Adapter #2
Configure Adapter ManIPv4 Addr10.0.0.1 IPv4 Net Ma255.255.255.0 DHCP Disabled
NAT Network ProviderNetwork1
CIDR [Link]/24 DHCP Disabled
NAT Network NatNetwork1
CIDR [Link]/24 DHCP Enabled
Network Interfaces
Interface Network OS NameConfig Type IP Addr Netmask Gateway
Adapter 1 Managemeneth0 static [Link] [Link] [Link]
Adapter 2 Provider eth1 manual --- --- ---
Adapter 3 Internet wlan0 NetworkManaDHCP DHCP DHCP
Operating System
Name Ubuntu Server 16.04 LTS
Link [Link]
Operating System Installation Options
Recommended Actual
1. Language English English
2. Hit F4 to choose 'Modes' Install a Minimal Virtual Install a Minimal Virtual Machine
3. Press Enter to 'Install Ubuntu Server'
4. Choose Language English-English English-English
5. Select your location United States United States
6. Detect keyboard layout? No No
7. Keyboard layout English (US) English (US)
8. Primary network interface enp0s3 enp0s3
9. Network configration methodConfigure network manuaConfigure Network manualy
10. IP address [Link] [Link]
11. Netmask [Link] [Link]
12. Gateway <nothing> <nothing>
13. Name server address [Link] [Link]
14. Hostname controller controller
15. Domain name
16. Full name of the new user kris
17. Username for your account kris
18. Choose password for the new user openstack
19. Encrypt your home directory? no
20. Select your time zone Eastern
21. Partitioning method use entire disk and set up use entire disk and set up LVM
22. HTTP Proxy none
23. How to manage upgrades? No automatic updates No automatic updates
24. Choose software to install OpenSSH Server OpenSSH Server
25. Install GRUB? Yes Yes
Configure Security, Networking, Install Linux Utilities
Configure 'sudo' accesskris
sudo su
visudo
add following line at the bottom of the file:
kris ALL=(ALL) NOPASSWD:ALL
save, exit and run sudo su again to test
Edit /etc/hosts
Remove [Link] controller, if present
Make sure following lines are present:
[Link] controller
[Link] compute1
[Link] block1
Edit /etc/default/grub to include:
GRUB_CMDLINE_LINUX="[Link]=0 biosdevname=0"
Run command:
update-grub
reboot
Enable Network Interfaces
sudo su
Edit /etc/network/interfaces
Make sure following Interfaces definitions are present:
auto eth0
iface eth0 inet static
address [Link]
netmask [Link]
dns-nameservers [Link]
auto eth1
iface eth1 inet manual
up ip link set dev eth1 up
down ip link set dev eth1 down
auto eth2
iface eth2 inet dhcp
Reboot the system
Run 'ifconfig' as superuser to verify settings.
Verify connectivity to other hosts, once configured
ping -c 3 [Link]
ping -c 3 compute1
ping -c 3 block1
Install basic Linux Utilities
Run following commands:
sudo su
apt update
apt install vim glances curl
apt upgrade -y
Install and Configure Network Time Protocol
Install and Configure Components
sudo su
apt install chrony
Edit /etc/chrony/[Link]:
set server to your Orgaznization's NTP Server, if you have one
set allow to [Link]/24
save and quit
Restart chrony service:
service chrony restart
Verify:
chronyc sources
Install Basic OpenStack Packages
sudo su
apt install software-properties-common
add-apt-repository cloud-archive:pike
apt update && apt dist-upgrade
reboot
apt install python-openstackclient
SQL Database - MariaDB
Install and Configure Packages
sudo su
apt install mariadb-server python-pymysql
Create and edit MariaDB configuration file: /etc/mysql/[Link].d/[Link]
Put following 7 lines in the file:
[mysqld]
bind-address = [Link]
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
Restart MariaDB service:
service mysql restart
Secure the Database Service:
mysql_secure_installation
Message Queue - RabbitMQ
Install and Configure Packages:
sudo su
apt install rabbitmq-server
Add openstack user:
rabbitmqctl add_user openstack openstack
Configure permissions for openstack user:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Memcached
Install and Configure Packages:
sudo su
apt install memcached python-memcache
Edit /etc/[Link] to define IP address:
-l [Link]
Restart Memcached Service:
service memcached restart
Etcd
Create etcd User and directories:
sudo su
groupadd --system etcd
useradd --home-dir "/var/lib/etcd" --system --shell /bin/false -g etcd etcd
mkdir -p /etc/etcd
chown etcd:etcd /etc/etcd
mkdir -p /var/lib/etcd
chown etcd:etcd /var/lib/etcd
Download and install etcd tarball
ETCD_VER=v3.2.7
rm -rf /tmp/etcd && mkdir -p /tmp/etcd
curl -L [Link]
tar xzvf /tmp/etcd-${ETCD_VER}-[Link] -C /tmp/etcd --strip-components=1
cp /tmp/etcd/etcd /usr/bin/etcd
cp /tmp/etcd/etcdctl /usr/bin/etcdctl
Create and edit the /etc/etcd/[Link] file
vim /etc/etcd/[Link]
and put following 9 lines in it:
name: controller
data-dir: /var/lib/etcd
initial-cluster-state: 'new'
initial-cluster-token: 'etcd-cluster-01'
initial-cluster: controller=[Link]
initial-advertise-peer-urls: [Link]
advertise-client-urls: [Link]
listen-peer-urls: [Link]
listen-client-urls: [Link]
Create and edit /lib/systemd/system/[Link] file
vim /lib/systemd/system/[Link]
and put following 13 lines in it:
[Unit]
After=[Link]
Description=etcd - highly-available key value store
[Service]
LimitNOFILE=65536
Restart=on-failure
Type=notify
ExecStart=/usr/bin/etcd --config-file /etc/etcd/[Link]
User=etcd
[Install]
WantedBy=[Link]
Enable and start etcd Service:
systemctl enable etcd
systemctl start etcd
Install Keystone - Identity Management
Configure SQL Database for Keystone:
Run these commands:
sudo su
mysql
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'openstack
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'openstack';
EXIT;
Install and Configure Packages:
Run these commands:
sudo su
# Install required packages + crudini to edit .conf files
apt install keystone apache2 libapache2-mod-wsgi crudini -y
# Configure Keystone database access, as set above
crudini --set /etc/keystone/[Link] database connection mysql+pymysql://keystone:openstack@
# Set Fernet Token Provider
crudini --set /etc/keystone/[Link] token provider fernet
# Populate Identity Service Database
su -s /bin/sh -c "keystone-manage db_sync" keystone
# Initialize Fernet Repositories
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# Bootstrap Identity Service
keystone-manage bootstrap --bootstrap-password openstack --bootstrap-admin-url [Link]
Configure Apache Server:
Edit /etc/apache2/[Link] and add following line:
ServerName controller
Restart the apache2 service
service apache2 restart
Configure OpenStack Client Environment Scripts
Create admin-openrc Script (in Primary User's Home Directory, for example)
Insert following lines:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=[Link]
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
Create demo-openrc Script
Insert following lines:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=openstack
export OS_AUTH_URL=[Link]
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
Verify Keystone operation
Run following commands:
. admin-openrc
openstack token issue
Create Projects, Users and Roles
Run following commands:
. admin-openrc
# Create a service Project
openstack project create --domain default --description "Service Project" service
# Create a demo Project
openstack project create --domain default --description "Demo Project" demo
# Create a demo User
openstack user create --domain default --password openstack demo
# Create a user Role
openstack role create user
# Add the user role to User demo in Project demo
openstack role add --project demo --user demo user
Verify User demo
Run following commands:
. demo-openrc
openstack token issue
Install Glance - Image Service
Configure SQL Database for Glance
Run following commands:
sudo su
mysql
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';
EXIT;
Create glance User
. admin-openrc
openstack user create --domain default --password openstack glance
Add admin role to User glance in Project service
openstack role add --project service --user glance admin
Create glance Service
openstack service create --name glance --description "OpenStack Image" image
Create glance Service Endpoints
openstack endpoint create --region RegionOne image public [Link]
openstack endpoint create --region RegionOne image internal [Link]
openstack endpoint create --region RegionOne image admin [Link]
Install and Configure Packages
Run following commands:
apt update -y
apt install glance -y
Configure /etc/glance/[Link] Parameters
Run following commands:
# Configure database access for glance
crudini --set /etc/glance/[Link] database connection mysql+pymysql://glance:openstack@con
# Configure Identity Service access
crudini --set /etc/glance/[Link] keystone_authtoken auth_uri [Link]
crudini --set /etc/glance/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/glance/[Link] keystone_authtoken memcached_servers controller:11211
crudini --set /etc/glance/[Link] keystone_authtoken auth_type password
crudini --set /etc/glance/[Link] keystone_authtoken project_domain_name default
crudini --set /etc/glance/[Link] keystone_authtoken user_domain_name default
crudini --set /etc/glance/[Link] keystone_authtoken project_name service
crudini --set /etc/glance/[Link] keystone_authtoken username glance
crudini --set /etc/glance/[Link] keystone_authtoken password openstack
crudini --set /etc/glance/[Link] paste_deploy flavor keystone
# Configure Glance to store Images on Local Filesystem
crudini --set /etc/glance/[Link] glance_store stores "file,http"
crudini --set /etc/glance/[Link] glance_store default_store file
crudini --set /etc/glance/[Link] glance_store filesystem_store_datadir /var/lib/glance/images/
Configure /etc/glance/[Link] Parameters
Run following commands:
# Configure database access for glance
crudini --set /etc/glance/[Link] database connection mysql+pymysql://glance:openstack@
# Configure Identity Service access
crudini --set /etc/glance/[Link] keystone_authtoken auth_uri [Link]
crudini --set /etc/glance/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/glance/[Link] keystone_authtoken memcached_servers controller:1121
crudini --set /etc/glance/[Link] keystone_authtoken auth_type password
crudini --set /etc/glance/[Link] keystone_authtoken project_domain_name default
crudini --set /etc/glance/[Link] keystone_authtoken user_domain_name default
crudini --set /etc/glance/[Link] keystone_authtoken project_name service
crudini --set /etc/glance/[Link] keystone_authtoken username glance
crudini --set /etc/glance/[Link] keystone_authtoken password openstack
crudini --set /etc/glance/[Link] paste_deploy flavor keystone
Populate the Image Service Database
Run following commands:
su -s /bin/sh -c "glance-manage db_sync" glance
Restart glance Services
service glance-registry restart
service glance-api restart
Verify Glance Operation
Run following commands:
. admin-openrc
wget [Link]
openstack image create cirros3.5 --file cirros-0.3.5-x86_64-[Link] --disk-format qcow2 --container-f
openstack image list
Download Cloud Image[Link]
Install & Configure Nova (Compute Service) Controller
Configure SQL Databases for Nova
Run following commands:
sudo su
mysql
CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'openstac
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'open
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'openst
Create Compute Service User and add admin role in service Project
Run following commands:
. admin-openrc
openstack user create --domain default --password openstack nova
openstack role add --project service --user nova admin
Create Compute Service & Endpoints
Run following commands:
. admin-openrc
openstack service create --name nova --description "OpenStack Compute" c
openstack endpoint create --region RegionOne compute public [Link]
openstack endpoint create --region RegionOne compute internal [Link]
openstack endpoint create --region RegionOne compute admin [Link]
Create Placement Service User and add admin role in service Project
Run following commands:
. admin-openrc
openstack user create --domain default --password openstack placement
openstack role add --project service --user placement admin
Create Placement Service & Endpoints
Run following commands:
. admin-openrc
openstack service create --name placement --description "Placement API"
openstack endpoint create --region RegionOne placement public [Link]
openstack endpoint create --region RegionOne placement internal [Link]
openstack endpoint create --region RegionOne placement admin [Link]
Install Nova Controller Packages
Run following commands:
sudo su
apt install -y nova-api nova-conductor nova-consoleauth nova-novncproxy
Configure MySQL & RabbitMQ parameters in /etc/nova/[Link]
Run following commands:
crudini --set /etc/nova/[Link] api_database connection mysql+pymysql:
crudini --set /etc/nova/[Link] database connection mysql+pymysql://no
crudini --set /etc/nova/[Link] DEFAULT transport_url rabbit://opensta
Configure Identity Service access
Run following commands:
crudini --set /etc/nova/[Link] api auth_strategy keystone
crudini --set /etc/nova/[Link] keystone_authtoken auth_uri [Link]
crudini --set /etc/nova/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/nova/[Link] keystone_authtoken memcached_servers c
crudini --set /etc/nova/[Link] keystone_authtoken auth_type password
crudini --set /etc/nova/[Link] keystone_authtoken project_domain_name
crudini --set /etc/nova/[Link] keystone_authtoken user_domain_name de
crudini --set /etc/nova/[Link] keystone_authtoken project_name servic
crudini --set /etc/nova/[Link] keystone_authtoken username nova
crudini --set /etc/nova/[Link] keystone_authtoken password openstack
Configure support for Networking Service
Run following commands:
crudini --set /etc/nova/[Link] DEFAULT my_ip [Link]
crudini --set /etc/nova/[Link] DEFAULT use _neutron True
crudini --set /etc/nova/[Link] DEFAULT firewall_driver [Link]
Configure vnc proxy on Controller Node
Run following commands:
crudini --set /etc/nova/[Link] vnc enabled True
crudini --set /etc/nova/[Link] vnc vncserver_listen [Link]
crudini --set /etc/nova/[Link] vnc vncserver_proxyclient_address 10.0
Configure Glance location
Run following command:
crudini --set /etc/nova/[Link] glance api_servers [Link]
Configure Lock Path for Oslo Concurrency
Run following command:
crudini --set /etc/nova/[Link] oslo_concurrency lock_path /var/lib/no
Configure Placement API
Run following commands:
crudini --set /etc/nova/[Link] placement os_region_name RegionOne
crudini --set /etc/nova/[Link] placement project_domain_name Default
crudini --set /etc/nova/[Link] placement project_name service
crudini --set /etc/nova/[Link] placement auth_type password
crudini --set /etc/nova/[Link] placement user_domain_name Default
crudini --set /etc/nova/[Link] placement auth_url [Link]
crudini --set /etc/nova/[Link] placement username placement
crudini --set /etc/nova/[Link] placement password openstack
Remove log_dir parameter in DEFAULT section
Run following command:
crudini --del /etc/nova/[Link] DEFAULT log_dir
Populate nova_api Database
Run following commands:
sudo su
su -s /bin/sh -c "nova-manage api_db sync" nova
Register cell0 Database
Run following command:
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
Create cell1 Cell
Run following command:
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose
Populate nova Database
Run following command:
su -s /bin/sh -c "nova-manage db sync" nova
Verify configuration of Cells
Run following command:
nova-manage cell_v2 list_cells
Restart Services
Run following commands:
service nova-api restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart
Install and Configure Nova on Compute Node(s)
Discover Compute Nodes
Run following command:
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
Verify Compute Service Installation
Run following commands:
. admin-openrc
openstack compute service list
openstack catalog list
openstack image list
nova-status upgrade check
Install Neutron (Network Service) on Controller Node
Create Neutron SQL Database
Run following commands:
sudo su
mysql
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'openst
EXIT;
Create neutron User and add admin Role in service Project
Run following commands:
. admin-openrc
openstack user create --domain default --password openstack neutron
openstack role add --project service --user neutron admin
Create Neutron Service and Endpoints
Run following commands:
openstack service create --name neutron --description "OpenStack Network
openstack endpoint create --region RegionOne network public [Link]
openstack endpoint create --region RegionOne network internal [Link]
openstack endpoint create --region RegionOne network admin [Link]
Install Neutron Packages
Run following commands:
sudo su
apt install -y neutron-server neutron-plugin-ml2 neutron-linuxbridge-age
Configure SQL Database and RabbitMQ access for Neutron
Run following commands:
crudini --set /etc/neutron/[Link] database connection mysql+pymysq
crudini --set /etc/neutron/[Link] DEFAULT transport_url rabbit://o
Enable the Modular Layer 2 (ML2) plug-in, router service, and overlapping IP addresses
Run following commands:
crudini --set /etc/neutron/[Link] DEFAULT core_plugin ml2
crudini --set /etc/neutron/[Link] DEFAULT service_plugins router
crudini --set /etc/neutron/[Link] DEFAULT allow_overlapping_ips tr
Configure Identity Service access
Run following commands:
crudini --set /etc/neutron/[Link] api auth_strategy keystone
crudini --set /etc/neutron/[Link] keystone_authtoken auth_uri http
crudini --set /etc/neutron/[Link] keystone_authtoken auth_url http
crudini --set /etc/neutron/[Link] keystone_authtoken memcached_ser
crudini --set /etc/neutron/[Link] keystone_authtoken auth_type pas
crudini --set /etc/neutron/[Link] keystone_authtoken project_domai
crudini --set /etc/neutron/[Link] keystone_authtoken user_domain_n
crudini --set /etc/neutron/[Link] keystone_authtoken project_name
crudini --set /etc/neutron/[Link] keystone_authtoken username neut
crudini --set /etc/neutron/[Link] keystone_authtoken password open
Configure Networking to notify Compute of network topology changes
Run following commands:
crudini --set /etc/neutron/[Link] DEFAULT notify_nova_on_port_status_changes true
crudini --set /etc/neutron/[Link] DEFAULT notify_nova_on_port_data_changes true
Configure Nova access
Run following commands:
crudini --set /etc/neutron/[Link] nova auth_url [Link]
crudini --set /etc/neutron/[Link] nova auth_type password
crudini --set /etc/neutron/[Link] nova project_domain_name default
crudini --set /etc/neutron/[Link] nova user_domain_name default
crudini --set /etc/neutron/[Link] nova region_name RegionOne
crudini --set /etc/neutron/[Link] nova project_name service
crudini --set /etc/neutron/[Link] nova username nova
crudini --set /etc/neutron/[Link] nova password openstack
Configure ML2 Plugin
Run following commands:
# Enable flat, VLAN and VXLAN Networks
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan
# Enable VXLAN Self-service Networks
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan
# Enable Linux Bridge and L2Population mechanisms
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge,l2population
# Enable Port Security Extenstion Driver
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security
# Configure provider Virtual Network as flat Network
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider
# Configure VXLAN Network Identifier Range for Self-service Networks
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000
# Enable ipset to increase efficiency of Security Group Rules
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset true
Configure the Linux Bridge Agent
Run following commands:
# Configure provider Virtual Network mapping to Physical Interface
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mapping
# Enable VXLAN for Self-service Networks, configure IP address of the Management Interface handling V
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip [Link]
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
# Enable security groups and configure the Linux bridge iptables firewall driver
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group tru
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver [Link]
Configure the Layer-3 Agent
Run following command:
crudini --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridge
Configure the DHCP Agent
Run following commands:
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver [Link]
crudini --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true
Configure Metadata Agent
Run following commands:
crudini --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host controller
crudini --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret openstack
Configure Compute Service to use Neutron
Run following commands:
crudini --set /etc/nova/[Link] neutron url [Link]
crudini --set /etc/nova/[Link] neutron auth_url [Link]
crudini --set /etc/nova/[Link] neutron auth_type password
crudini --set /etc/nova/[Link] neutron project_domain_name default
crudini --set /etc/nova/[Link] neutron user_domain_name default
crudini --set /etc/nova/[Link] neutron region_name RegionOne
crudini --set /etc/nova/[Link] neutron project_name service
crudini --set /etc/nova/[Link] neutron username neutron
crudini --set /etc/nova/[Link] neutron password openstack
crudini --set /etc/nova/[Link] neutron service_metadata_proxy true
crudini --set /etc/nova/[Link] neutron metadata_proxy_shared_secret openstack
Populate Neutron Database
Run following Command:
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/[Link] --config-file /etc/neutron/p
Restart the Compute API Service
Run following command:
service nova-api restart
Restart Networking Services
Run following Commands:
service neutron-server restart
service neutron-linuxbridge-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
service neutron-l3-agent restart
Install Neutron on Compute Nodes
Verify Installation
Run following commands:
. admin-openrc
openstack network agent list
Install Cinder - Block Storage Service on block1 Node
Install Cinder Block Storage Service on Controller Node
Create Cinder Database
Run following commands:
sudo su
mysql
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'openstack';
EXIT;
Create cinder User and Add admin Role in service Project
Run following commands:
. admin-openrc
openstack user create --domain default --password openstack cinder
openstack role add --project service --user cinder admin
Create cinderv2 and cinderv3 Services and their Endpoints
Run following commands:
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
openstack endpoint create --region RegionOne volumev2 public [Link]
openstack endpoint create --region RegionOne volumev2 internal [Link]
openstack endpoint create --region RegionOne volumev2 admin [Link]
openstack endpoint create --region RegionOne volumev3 public [Link]
openstack endpoint create --region RegionOne volumev3 internal [Link]
openstack endpoint create --region RegionOne volumev3 admin [Link]
Install Packages
Run following command:
apt install -y cinder-api cinder-scheduler
Configure Database and RabbitMQ Access
Run following commands:
crudini --set /etc/cinder/[Link] database connection mysql+pymysql://cinder:openstack@control
crudini --set /etc/cinder/[Link] DEFAULT transport_url rabbit://openstack:openstack@controll
Configure Identity Service Access
Run following commands:
crudini --set /etc/cinder/[Link] DEFAULT auth_strategy keystone
crudini --set /etc/cinder/[Link] keystone_authtoken auth_uri [Link]
crudini --set /etc/cinder/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/cinder/[Link] keystone_authtoken memcached_servers controller:11211
crudini --set /etc/cinder/[Link] keystone_authtoken auth_type password
crudini --set /etc/cinder/[Link] keystone_authtoken project_domain_name default
crudini --set /etc/cinder/[Link] keystone_authtoken user_domain_name default
crudini --set /etc/cinder/[Link] keystone_authtoken project_name service
crudini --set /etc/cinder/[Link] keystone_authtoken username cinder
crudini --set /etc/cinder/[Link] keystone_authtoken password openstack
Configure my_ip Parameter and Lock Path
Run following commands:
crudini --set /etc/cinder/[Link] DEFAULT my_ip [Link]
crudini --set /etc/cinder/[Link] oslo_concurrency lock_path /var/lib/cinder/tmp
Populate Block Storage Database
Run following command:
su -s /bin/sh -c "cinder-manage db sync" cinder
Configure Compute Service to use Cinder
Run following command:
crudini --set /etc/nova/[Link] cinder os_region_name RegionOne
Restart Services
Run following commands:
service nova-api restart
service cinder-scheduler restart
service apache2 restart
Verify Cinder Operation
Run following commands:
. admin-openrc
openstack volume service list
Install Horizon Dashboard
Install Packages
Run following commands:
sudo su
apt install -y openstack-dashboard
Edit /etc/openstack-dashboard/local_settings.py to include following settings:
OPENSTACK_HOST = "controller"
SESSION_ENGINE = '[Link]'
CACHES = {
'default': {
'BACKEND': '[Link]',
'LOCATION': 'controller:11211',
}
}
OPENSTACK_KEYSTONE_URL = "[Link] % OPENSTACK_HOST
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
Edit /etc/apache2/conf-available/[Link] to include following line:
WSGIApplicationGroup %{GLOBAL}
Reload Web Server Configuration
Run following command:
service apache2 reload
Verify Horizon Operation by pointing Web Browser to
[Link]
Set-up 2 - Bare Metal Server
Bare MetaRecommended Actual
CPU 1+ 4
RAM 16+ 32
Primary D128+ GB, SSD preff 512GB
DHCP Disabled
DNS ServeVirtualBox Network Name
[Link] Host Only Adapter #2
--- NAT Network ProviderNetwoPromiscuous Mode: Allow All
DHCP NAT Network NatNetwork1
{ETCD_VER}-[Link] -o /tmp/etcd-${ETCD_VER}-[Link]
FIED BY 'openstack';
BY 'openstack';
keystone:openstack@controller/keystone
url [Link] --bootstrap-internal-url [Link] --bootstrap-public-url [Link]
D BY 'openstack';
openstack';
lance:openstack@controller/glance
troller:5000
troller:35357
s controller:11211
me default
ar/lib/glance/images/
ql://glance:openstack@controller/glance
/controller:5000
/controller:35357
rvers controller:11211
n_name default
name default
at qcow2 --container-format bare --public
IDENTIFIED BY 'openstack';
IED BY 'openstack';
NTIFIED BY 'openstack';
BY 'openstack';
t' IDENTIFIED BY 'openstack';
IFIED BY 'openstack';
ack nova
Stack Compute" compute
lic [Link]
ernal [Link]
in [Link]
ack placement
"Placement API" placement
ublic [Link]
nternal [Link]
dmin [Link]
nova-novncproxy nova-scheduler nova-placement-api
n mysql+pymysql://nova:openstack@controller/nova_api
sql+pymysql://nova:openstack@controller/nova
rabbit://openstack:openstack@controller
h_uri [Link]
h_url [Link]
cached_servers controller:11211
h_type password
ject_domain_name default
r_domain_name default
ject_name service
rname nova
sword openstack
r [Link]
[Link]
ent_address [Link]
p://controller:9292
path /var/lib/nova/tmp
me RegionOne
in_name Default
service
name Default
p://controller:35357/v3
=cell1 --verbose" nova
erbose" nova
t' IDENTIFIED BY 'openstack';
IFIED BY 'openstack';
ack neutron
penStack Networking" network
lic [Link]
ernal [Link]
in [Link]
-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent
ion mysql+pymysql://neutron:openstack@controller/neutron
t_url rabbit://openstack:openstack@controller
plugins router
erlapping_ips true
y keystone
en auth_uri [Link]
en auth_url [Link]
en memcached_servers controller:11211
en auth_type password
en project_domain_name default
en user_domain_name default
en project_name service
en username neutron
en password openstack
changes true
hanges true
xbridge,l2population
al_interface_mappings provider:eth1
nt Interface handling VXLAN traffic
e_security_group true
all_driver [Link].iptables_firewall.IptablesFirewallDriver
.[Link]
d_secret openstack
fig-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
D BY 'openstack';
openstack';
ge" volumev2
ge" volumev3
r:8776/v2/%\(project_id\)s
er:8776/v2/%\(project_id\)s
r:8776/v2/%\(project_id\)s
r:8776/v3/%\(project_id\)s
er:8776/v3/%\(project_id\)s
r:8776/v3/%\(project_id\)s
r:openstack@controller/cinder
:openstack@controller
ntroller:11211
public-url [Link] --bootstrap-region-id RegionOne
tadata-agent
Compute1 Installation Checklist
Set-up 1 - VM
HW Config
Virtual RecommendActual
VCPU (core1-2+ 1
RAM 4+ GB 4
Primary Dis10+ GB 10
VirtualBox Host-Only Network Ethernet Adapter #2
Configure Adapter ManIPv4 Addr10.0.0.1 IPv4 Net Ma255.255.255.0
NAT Network ProviderNetwork1
CIDR [Link]/24 DHCP Disabled
NAT Network NatNetwork1
CIDR [Link]/24 DHCP Enabled
Network Interfaces
Interface Network OS NameConfig Type IP Addr Netmask
Adapter 1 Managemeneth0 static [Link] [Link]
Adapter 2 Provider eth1 manual --- ---
Adapter 3 Internet wlan0 NetworkManaDHCP DHCP
Operating System
Name Ubuntu Server 16.04 LTS
Link [Link]
Operating System Installation Options
Recommended Actual
1. Language English English
2. Hit F4 to choose 'Modes' Install a Minimal Virtual Install a Minimal Virtual Machine
3. Press Enter to 'Install Ubuntu Server'
4. Choose Language English-English English-English
5. Select your location United States United States
6. Detect keyboard layout? No No
7. Keyboard layout English (US) English (US)
8. Primary network interface enp0s3 enp0s3
9. Network configration methodConfigure network manuaConfigure Network manualy
10. IP address [Link] [Link]
11. Netmask [Link] [Link]
12. Gateway [Link] [Link]
13. Name server address [Link] [Link]
14. Hostname compute1 compute1
15. Domain name
16. Full name of the new user kris
17. Username for your account kris
18. Choose password for the new user openstack
19. Encrypt your home directory? no
20. Select your time zone Eastern
21. Partitioning method use entire disk and set up use entire disk and set up LVM
22. HTTP Proxy none
23. How to manage upgrades? No automatic updates No automatic updates
24. Choose software to install OpenSSH Server OpenSSH Server
25. Install GRUB? Yes Yes
Configure Security, Networking, Install Linux Utilities
Configure 'sudo' accesskris
sudo su
visudo
add following line at the bottom of the file:
kris ALL=(ALL) NOPASSWD:ALL
save, exit and run sudo su again to test
Edit /etc/hosts
Remove [Link] compute1, if present
Make sure following lines are present:
[Link] controller
[Link] compute1
[Link] block1
Edit /etc/default/grub to include:
GRUB_CMDLINE_LINUX="[Link]=0 biosdevname=0"
Run command:
update-grub
reboot
Enable Network Interfaces
sudo su
Edit /etc/network/interfaces
Make sure following Interfaces definitions are present:
auto eth0
iface eth0 inet static
address [Link]
netmask [Link]
dns-nameservers [Link]
auto eth1
iface eth1 inet manual
up ip link set dev eth1 up
down ip link set dev eth1 down
auto eth2
iface eth2 inet dhcp
Reboot the system
Run 'ifconfig' as superuser to verify settings.
Verify connectivity to other hosts, once configured
ping -c 3 [Link]
ping -c 3 controller
ping -c 3 block1
Install basic Linux Utilities
Run following commands:
sudo su
apt update
apt install vim glances curl
apt upgrade -y
Install and Configure Network Time Protocol
Install and Configure Components
sudo su
apt install chrony
Edit /etc/chrony/[Link]:
set server to controller
server controller iburst
comment out pool [Link] offline iburst line.
save and quit
Restart chrony service:
service chrony restart
Verify:
chronyc sources
Install Basic OpenStack Packages
sudo su
apt install software-properties-common
add-apt-repository cloud-archive:pike
apt update && apt dist-upgrade
reboot
apt install python-openstackclient
Install Keystone Identity Service on Controller Node
Install Glance Image Service on Controller Node
Install Compute Service on Compute Node
Install Nova Compute Package
Run following commands:
sudo su
apt update
apt install -y nova-compute crudini
Configure RabbitMQ access
Run following command:
crudini --set /etc/nova/[Link] DEFAULT transport_url rabbit://opensta
Configure Identity Service access
Run following commands:
crudini --set /etc/nova/[Link] api auth_strategy keystone
crudini --set /etc/nova/[Link] keystone_auth auth_uri [Link]
crudini --set /etc/nova/[Link] keystone_auth auth_url [Link]
crudini --set /etc/nova/[Link] keystone_auth memcached_servers contro
crudini --set /etc/nova/[Link] keystone_auth auth_type password
crudini --set /etc/nova/[Link] keystone_auth project_domain_name defa
crudini --set /etc/nova/[Link] keystone_auth user_domain_name default
crudini --set /etc/nova/[Link] keystone_auth project_name service
crudini --set /etc/nova/[Link] keystone_auth username nova
crudini --set /etc/nova/[Link] keystone_auth password openstack
Configure support for Networking Service
Run following commands:
crudini --set /etc/nova/[Link] DEFAULT my_ip [Link]
crudini --set /etc/nova/[Link] DEFAULT use_neutron True
crudini --set /etc/nova/[Link] DEFAULT firewall_driver [Link]
Configure vnc Remote Console access on Compute Node
Run following commands:
crudini --set /etc/nova/[Link] vnc enabled True
crudini --set /etc/nova/[Link] vnc vncserver_listen [Link]
crudini --set /etc/nova/[Link] vnc vncserver_proxyclient_address 10.0
crudini --set /etc/nova/[Link] vnc novncproxy_base_url [Link]
Configure Glance location
Run following command:
crudini --set /etc/nova/[Link] glance api_servers [Link]
Configure Lock Path for Oslo Concurrency
Run following command:
crudini --set /etc/nova/[Link] oslo_concurrency lock_path /var/lib/no
Configure Placement API
Run following commands:
crudini --set /etc/nova/[Link] placement os_region_name RegionOne
crudini --set /etc/nova/[Link] placement project_domain_name Default
crudini --set /etc/nova/[Link] placement project_name service
crudini --set /etc/nova/[Link] placement auth_type password
crudini --set /etc/nova/[Link] placement user_domain_name Default
crudini --set /etc/nova/[Link] placement auth_url [Link]
crudini --set /etc/nova/[Link] placement username placement
crudini --set /etc/nova/[Link] placement password openstack
Remove log_dir parameter in DEFAULT section
Run following command:
crudini --del /etc/nova/[Link] DEFAULT log_dir
` Set-up #1 - Virtual Machines: use QEMU Emulator
Run following command:
crudini --set /etc/nova/[Link] libvirt virt_type qemu
Set-up #2 - Bare Metal Hosts: use KVM
Verify Compute Host Capabilities
Run following commands:
sudo su
kvm-ok
uname -m
Install KVM & Utilities
Run following command:
apt-get install -y qemu-kvm libvirt-bin bridge-utils
Verify KVM Installation
Run following command:
virsh list --all
Run following command:
crudini --set /etc/nova/[Link] libvirt virt_type kvm
Restart Nova Compute service
Run following command:
service nova-compute restart
Discover Compute Node on Controller Node
Install Neutron on Controller Node
Install Neutron on Compute Node
Install Packages
Run following commands:
sudo su
apt update
apt install -y neutron-linuxbridge-agent
Configure RabbitMQ access
Run following command:
crudini --set /etc/neutron/[Link] DEFAULT transport_url rabbit://openstack:openstack@cont
Configure Indetity Service Accesss
Run following commands:
crudini --set /etc/neutron/[Link] DEFAULT auth_strategy keystone
crudini --set /etc/neutron/[Link] keystone_authtoken auth_uri [Link]
crudini --set /etc/neutron/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/neutron/[Link] keystone_authtoken memcached_servers controller:11211
crudini --set /etc/neutron/[Link] keystone_authtoken auth_type password
crudini --set /etc/neutron/[Link] keystone_authtoken project_domain_name default
crudini --set /etc/neutron/[Link] keystone_authtoken user_domain_name default
crudini --set /etc/neutron/[Link] keystone_authtoken project_name service
crudini --set /etc/neutron/[Link] keystone_authtoken username neutron
crudini --set /etc/neutron/[Link] keystone_authtoken password openstack
Configure the Linux Bridge Agent
Run following commands:
# Configure provider Virtual Network mapping to Physical Interface
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mapping
# Enable VXLAN for Self-service Networks, configure IP address of the Management Interface handling V
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan true
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip [Link]
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
# Enable security groups and configure the Linux bridge iptables firewall driver
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group tru
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver [Link]
Configure Compute Service to use Neutron
Run following commands:
crudini --set /etc/nova/[Link] neutron url [Link]
crudini --set /etc/nova/[Link] neutron auth_url [Link]
crudini --set /etc/nova/[Link] neutron auth_type password
crudini --set /etc/nova/[Link] neutron project_domain_name default
crudini --set /etc/nova/[Link] neutron user_domain_name default
crudini --set /etc/nova/[Link] neutron region_name RegionOne
crudini --set /etc/nova/[Link] neutron project_name service
crudini --set /etc/nova/[Link] neutron username neutron
crudini --set /etc/nova/[Link] neutron password openstack
Restart Services
Run following commands:
service nova-compute restart
service neutron-linuxbridge-agent restart
Set-up 2 - Bare Metal Server
Bare MetaRecommended Actual
CPU 1+ 8
RAM 16+ 32
Primary D128+ GB, SSD preff 512
DHCP Disabled
Gateway DNS ServeVirtualBox Network Name
[Link] [Link] Host Only Adapter #2
--- --- NAT Network ProviderNetwoPromiscuous Mode: Allow All
DHCP DHCP NAT Network NatNetwork1
Virtual Machine
ork manualy
nd set up LVM
t_url rabbit://openstack:openstack@controller
y keystone
th_uri [Link]
th_url [Link]
mcached_servers controller:11211
th_type password
oject_domain_name default
er_domain_name default
oject_name service
ername nova
ssword openstack
ron True
_driver [Link]
sten [Link]
oxyclient_address [Link]
ase_url [Link]
rs [Link]
lock_path /var/lib/nova/tmp
ion_name RegionOne
t_domain_name Default
t_name service
ype password
omain_name Default
rl [Link]
me placement
rd openstack
ibvirt virt_type qemu
dge-utils
ibvirt virt_type kvm
://openstack:openstack@controller
tp://controller:5000
tp://controller:35357
_servers controller:11211
main_name default
n_name default
ge physical_interface_mappings provider:eth1
anagement Interface handling VXLAN traffic
e_vxlan true
_ip [Link]
pulation true
up enable_security_group true
up firewall_driver [Link].iptables_firewall.IptablesFirewallDriver
Block1 Installation Checklist
Set-up 1 - VM
HW Config
Virtual RecommendActual
VCPU (core1-2+ 1
RAM 4+ GB 4
Primary Dis10+ GB 20
VirtualBox Host-Only Network Ethernet Adapter #2
Configure Adapter ManIPv4 Addr10.0.0.1 IPv4 Net Ma255.255.255.0
NAT Network ProviderNetwork1
CIDR [Link]/24 DHCP Disabled
NAT Network NatNetwork1
CIDR [Link]/24 DHCP Enabled
Network Interfaces
Interface Network OS NameConfig Type IP Addr Netmask
Adapter 1 Managemeneth0 static [Link] [Link]
Adapter 2 Provider eth1 manual --- ---
Adapter 3 Internet wlan0 NetworkManaDHCP DHCP
Operating System
Name Ubuntu Server 16.04 LTS
Link [Link]
Operating System Installation Options
Recommended Actual
1. Language English English
2. Hit F4 to choose 'Modes' Install a Minimal Virtual Install a Minimal Virtual Machine
3. Press Enter to 'Install Ubuntu Server'
4. Choose Language English-English English-English
5. Select your location United States United States
6. Detect keyboard layout? No No
7. Keyboard layout English (US) English (US)
8. Primary network interface enp0s3 enp0s3
9. Network configration methodConfigure network manuaConfigure Network manualy
10. IP address [Link] [Link]
11. Netmask [Link] [Link]
12. Gateway [Link] [Link]
13. Name server address [Link] [Link]
14. Hostname block1 compute1
15. Domain name
16. Full name of the new user kris
17. Username for your account kris
18. Choose password for the new user openstack
19. Encrypt your home directory? no
20. Select your time zone Eastern
21. Partitioning method use entire disk and set up use entire disk and set up LVM
22. HTTP Proxy none
23. How to manage upgrades? No automatic updates No automatic updates
24. Choose software to install OpenSSH Server OpenSSH Server
25. Install GRUB? Yes Yes
Configure Security, Networking, Install Linux Utilities
Configure 'sudo' accesskris
sudo su
visudo
add following line at the bottom of the file:
kris ALL=(ALL) NOPASSWD:ALL
save, exit and run sudo su again to test
Edit /etc/hosts
Remove [Link] block1, if present
Make sure following lines are present:
[Link] controller
[Link] compute1
[Link] block1
Edit /etc/default/grub to include:
GRUB_CMDLINE_LINUX="[Link]=0 biosdevname=0"
Run command:
update-grub
reboot
Enable Network Interfaces
sudo su
Edit /etc/network/interfaces
Make sure following Interfaces definitions are present:
auto eth0
iface eth0 inet static
address [Link]
netmask [Link]
dns-nameservers [Link]
auto eth2
iface eth2 inet dhcp
Reboot the system
Run 'ifconfig' as superuser to verify settings.
Verify connectivity to other hosts, once configured
ping -c 3 [Link]
ping -c 3 controller
ping -c 3 compute1
Install basic Linux Utilities
Run following commands:
sudo su
apt update
apt install vim glances curl
apt upgrade -y
reboot
Install and Configure Network Time Protocol
Install and Configure Components
sudo su
apt install chrony
Edit /etc/chrony/[Link]:
set server to controller
server controller iburst
comment out pool [Link] offline iburst line.
save and quit
Restart chrony service:
service chrony restart
Verify:
chronyc sources
Install Basic OpenStack Packages
sudo su
apt install software-properties-common
add-apt-repository cloud-archive:pike
apt update && apt dist-upgrade
reboot
apt install python-openstackclient
Install Keystone Identity Service on Controller Node
Install Glance Image Service on Controller Node
Install Compute Service on Controller Node
Install Compute Service on Compute Node
Install Network Service on Controller Node
Install Network Service on Compute Node
Install Block Storage Service on Storage Node
Install Supporting Packages
Run following commands:
sudo su
apt update
apt install -y lvm2 thin-provisioning-tools crudini
Verify sdb Disk
Run following command:
fdisk -l
Create LVM Physical Volume /dev/sdb
Run following command:
pvcreate /dev/sdb
Create LVM Volume Group "cinder-volumes"
Run following command:
vgcreate cinder-volumes /dev/sdb
Edit LVM Configuration File /etc/lvm/[Link] to include following line in devices section
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
Install Cinder Packages
Run following command:
apt install -y cinder-volume
Configure Database and RabbitMQ Access
Run following commands:
crudini --set /etc/cinder/[Link] database connection mysql+pymysql://cinder:openstack@control
crudini --set /etc/cinder/[Link] DEFAULT transport_url rabbit://openstack:openstack@controll
Configure Identity Service Access
Run following commands:
crudini --set /etc/cinder/[Link] DEFAULT auth_strategy keystone
crudini --set /etc/cinder/[Link] keystone_authtoken auth_uri = [Link]
crudini --set /etc/cinder/[Link] keystone_authtoken auth_url [Link]
crudini --set /etc/cinder/[Link] keystone_authtoken memcached_servers controller:11211
crudini --set /etc/cinder/[Link] keystone_authtoken auth_type password
crudini --set /etc/cinder/[Link] keystone_authtoken project_domain_name default
crudini --set /etc/cinder/[Link] keystone_authtoken user_domain_name default
crudini --set /etc/cinder/[Link] keystone_authtoken project_name service
crudini --set /etc/cinder/[Link] keystone_authtoken username cinder
crudini --set /etc/cinder/[Link] keystone_authtoken password openstack
Configure my_ip Parameter
Run following command:
crudini --set /etc/cinder/[Link] DEFAULT my_ip [Link]
Configure LVM Backend
Run following commands:
crudini --set /etc/cinder/[Link] lvm volume_driver [Link]
crudini --set /etc/cinder/[Link] lvm volume_group cinder-volumes
crudini --set /etc/cinder/[Link] lvm iscsi_protocol iscsi
crudini --set /etc/cinder/[Link] lvm iscsi_helper tgtadm
Enable LVM Backend
Run following command:
crudini --set /etc/cinder/[Link] DEFAULT enabled_backends lvm
Configure Location of Image Service and Lock Path
Run following commands:
crudini --set /etc/cinder/[Link] DEFAULT glance_api_servers [Link]
crudini --set /etc/cinder/[Link] oslo_concurrency lock_path /var/lib/cinder/tmp
Restart Services
Run following commands:
service tgt restart
service cinder-volume restart
Set-up 2 - Bare Metal Server
Bare MetaRecommended Actual
CPU 1+ 4
RAM 16+ 24
Primary D128+ GB, SSD preff 256GB + 2TB
DHCP Disabled
Gateway DNS ServeVirtualBox Network Name
[Link] [Link] Host Only Adapter #2
--- --- NAT Network ProviderNetwoPromiscuous Mode: Allow All
DHCP DHCP NAT Network NatNetwork1
Virtual Machine
ork manualy
nd set up LVM
devices section
ql://cinder:openstack@controller/cinder
penstack:openstack@controller
p://controller:5000
/controller:35357
rvers controller:11211
n_name default
name default
[Link]
://controller:9292
b/cinder/tmp