Skip to content

Instantly share code, notes, and snippets.

@vitor-caetano
Last active January 17, 2017 23:04
Show Gist options
  • Select an option

  • Save vitor-caetano/90c15e2cea780f65af6e45e512286c5b to your computer and use it in GitHub Desktop.

Select an option

Save vitor-caetano/90c15e2cea780f65af6e45e512286c5b to your computer and use it in GitHub Desktop.
Setup openstack

References: https://www.rdoproject.org/

Download VirtualBox from: https://www.virtualbox.org/wiki/Downloads

Download Vagrant from: https://www.vagrantup.com/downloads.html

Make a folder on the host machine and change to it

$ mkdir openstack && cd openstack

Get the Vagrantfile from gist

wget https://gist.githubusercontent.com/vitor-caetano/90c15e2cea780f65af6e45e512286c5b/raw/9f694aed4040b5a61a656d5f2f0ad8f915561456/Vagrantfile

Start the virtual machine

vagrant up

And then ssh into it

$ vagrant ssh
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

Now fix the locale

[vagrant@openstack-server ~]$ sudo su
[root@openstack-server vagrant]# vi /etc/environment

add the following to /etc/enviroment

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

Save && exit VM and ssh again

[root@openstack-server vagrant]# exit
exit
[vagrant@openstack-server ~]$ exit
logout
Connection to 127.0.0.1 closed.
$ vagrant ssh

Now locale is fixed

$ vagrant ssh
Last login: Tue Jan 17 21:50:10 2017 from 10.0.2.2

On CentOS

[vagrant@openstack-server ~]$ sudo su
[root@openstack-server vagrant]# yum install -y centos-release-openstack-newton
[root@openstack-server vagrant]# yum update -y
[root@openstack-server vagrant]# yum install -y openstack-packstack
[root@openstack-server vagrant]# packstack --allinone

That's what you get

[root@openstack-server vagrant]# packstack --allinone
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20170117-220856-e4uc5Z/openstack-setup.log
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

Installing:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
Setting up ssh keys                                  [ DONE ]
Preparing servers                                    [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries                        [ DONE ]
Setting up CACERT                                    [ DONE ]
Preparing AMQP entries                               [ DONE ]
Preparing MariaDB entries                            [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries                           [ DONE ]
Preparing Glance entries                             [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries                             [ DONE ]
Preparing Nova API entries                           [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Preparing Nova Compute entries                       [ DONE ]
Preparing Nova Scheduler entries                     [ DONE ]
Preparing Nova VNC Proxy entries                     [ DONE ]
Preparing OpenStack Network-related Nova entries     [ DONE ]
Preparing Nova Common entries                        [ DONE ]
Preparing Neutron LBaaS Agent entries                [ DONE ]
Preparing Neutron API entries                        [ DONE ]
Preparing Neutron L3 entries                         [ DONE ]
Preparing Neutron L2 Agent entries                   [ DONE ]
Preparing Neutron DHCP Agent entries                 [ DONE ]
Preparing Neutron Metering Agent entries             [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Preparing OpenStack Client entries                   [ DONE ]
Preparing Horizon entries                            [ DONE ]
Preparing Swift builder entries                      [ DONE ]
Preparing Swift proxy entries                        [ DONE ]
Preparing Swift storage entries                      [ DONE ]
Preparing Gnocchi entries                            [ DONE ]
Preparing MongoDB entries                            [ DONE ]
Preparing Redis entries                              [ DONE ]
Preparing Ceilometer entries                         [ DONE ]
Preparing Aodh entries                               [ DONE ]
Preparing Nagios server entries                      [ DONE ]
Preparing Nagios host entries                        [ DONE ]
Preparing Puppet manifests                           [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 10.0.2.15_controller.pp
10.0.2.15_controller.pp:                             [ DONE ]      
Applying 10.0.2.15_network.pp
10.0.2.15_network.pp:                                [ DONE ]   
Applying 10.0.2.15_compute.pp
10.0.2.15_compute.pp:                                [ DONE ]   
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

 **** Installation completed successfully ******

Additional information:
 * A new answerfile was created in: /root/packstack-answers-20170117-220857.txt
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * Warning: NetworkManager is active on 10.0.2.15. OpenStack networking currently does not work on systems that have the Network Manager service enabled.
 * File /root/keystonerc_admin has been created on OpenStack client host 10.0.2.15. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://10.0.2.15/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * To use Nagios, browse to http://10.0.2.15/nagios username: nagiosadmin, password: 15c93b7d88174c45
 * The installation log file is available at: /var/tmp/packstack/20170117-220856-e4uc5Z/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20170117-220856-e4uc5Z/manifests

A list of the network interfaces by now

[root@openstack-server vagrant]# ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.24.4.225  netmask 255.255.255.240  broadcast 0.0.0.0
        inet6 fe80::d499:17ff:feeb:3645  prefixlen 64  scopeid 0x20<link>
        ether d6:99:17:eb:36:45  txqueuelen 1000  (Ethernet)
        RX packets 13  bytes 892 (892.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::5054:ff:fe22:5b53  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:22:5b:53  txqueuelen 1000  (Ethernet)
        RX packets 473723  bytes 372023245 (354.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 235516  bytes 14394821 (13.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 143675  bytes 30166582 (28.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 143675  bytes 30166582 (28.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Try to open the dashboard onyour host machine browser

http://10.0.2.15/dashboard

an you will get

The site can't be reached

The warning above tell us why

* Warning: NetworkManager is active on 10.0.2.15. OpenStack networking currently does not work on systems that have the Network Manager service enabled.

Now let's fix it! Stop, disable and mask NetworkManager

[root@openstack-server vagrant]# systemctl stop NetworkManager
[root@openstack-server vagrant]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
[root@openstack-server vagrant]# systemctl mask NetworkManager
Created symlink from /etc/systemd/system/NetworkManager.service to /dev/null.

List all service settings

[root@openstack-server vagrant]# /sbin/chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

nagios         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off

xinetd based services:
	chargen-dgram: 	off
	chargen-stream:	off
	daytime-dgram: 	off
	daytime-stream:	off
	discard-dgram: 	off
	discard-stream:	off
	echo-dgram:    	off
	echo-stream:   	off
	rsync:         	on
	tcpmux-server: 	off
	time-dgram:    	off
	time-stream:   	off

Turn on network service

[root@openstack-server vagrant]# /sbin/chkconfig network on
[root@openstack-server vagrant]# systemctl restart network
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "centos/7"
config.vm.provider "virtualbox" do |v|
v.name = "openstack-server"
v.memory = 6144
v.cpus = 2
end
config.vm.hostname = "openstack-server"
config.vm.network :private_network, ip: "192.168.33.7"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment