OpenStack: Install with Packstack

From Define Wiki
Jump to navigation Jump to search

Install Packstack

[root@server2-a ~]# yum install -y openstack-packstack

Create an answers file for automated installation

[root@server2-a ~]# packstack --gen-answer-file /root/answers.txt


Edit the answers file with a few settings:

CONFIG_NTP_SERVERS=172.28.254.254
CONFIG_KEYSTONE_ADMIN_PW=redhat
CONFIG_HORIZON_SSL=y
CONFIG_PROVISION_DEMO=n

Run Packstack using answers file

[root@server2-a ~]# packstack --answer-file /root/answers.txt 
Welcome to Installer setup utility

Installing:
Clean Up                                             [ DONE ]
Setting up ssh keys                                  [ DONE ]
Discovering hosts' details                           [ DONE ]
Adding pre install manifest entries                  [ DONE ]
Installing time synchronization via NTP              [ DONE ]
Preparing servers                                    [ DONE ]
Adding AMQP manifest entries                         [ DONE ]
Adding MySQL manifest entries                        [ DONE ]
Adding Keystone manifest entries                     [ DONE ]
Adding Glance Keystone manifest entries              [ DONE ]
Adding Glance manifest entries                       [ DONE ]
Adding Cinder Keystone manifest entries              [ DONE ]
Adding Cinder manifest entries                       [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Adding Nova API manifest entries                     [ DONE ]
Adding Nova Keystone manifest entries                [ DONE ]
Adding Nova Cert manifest entries                    [ DONE ]
Adding Nova Conductor manifest entries               [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Adding Nova Compute manifest entries                 [ DONE ]
Adding Nova Scheduler manifest entries               [ DONE ]
Adding Nova VNC Proxy manifest entries               [ DONE ]
Adding Openstack Network-related Nova manifest entries[ DONE ]
Adding Nova Common manifest entries                  [ DONE ]
Adding Neutron API manifest entries                  [ DONE ]
Adding Neutron Keystone manifest entries             [ DONE ]
Adding Neutron L3 manifest entries                   [ DONE ]
Adding Neutron L2 Agent manifest entries             [ DONE ]
Adding Neutron DHCP Agent manifest entries           [ DONE ]
Adding Neutron LBaaS Agent manifest entries          [ DONE ]
Adding Neutron Metering Agent manifest entries       [ DONE ]
Adding Neutron Metadata Agent manifest entries       [ DONE ]
Adding OpenStack Client manifest entries             [ DONE ]
Adding Horizon manifest entries                      [ DONE ]
Adding Swift Keystone manifest entries               [ DONE ]
Adding Swift builder manifest entries                [ DONE ]
Adding Swift proxy manifest entries                  [ DONE ]
Adding Swift storage manifest entries                [ DONE ]
Adding Swift common manifest entries                 [ DONE ]
Adding MongoDB manifest entries                      [ DONE ]
Adding Ceilometer manifest entries                   [ DONE ]
Adding Ceilometer Keystone manifest entries          [ DONE ]
Adding Nagios server manifest entries                [ DONE ]
Adding Nagios host manifest entries                  [ DONE ]
Adding post install manifest entries                 [ DONE ]
Installing Dependencies                              [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 172.25.2.10_prescript.pp
172.25.2.10_prescript.pp:                            [ DONE ]       
Applying 172.25.2.10_ntpd.pp
172.25.2.10_ntpd.pp:                                 [ DONE ]  
Applying 172.25.2.10_amqp.pp
Applying 172.25.2.10_mysql.pp
172.25.2.10_amqp.pp:                                 [ DONE ]   
172.25.2.10_mysql.pp:                                [ DONE ]   
Applying 172.25.2.10_keystone.pp
Applying 172.25.2.10_glance.pp
Applying 172.25.2.10_cinder.pp
172.25.2.10_keystone.pp:                             [ DONE ]      
172.25.2.10_cinder.pp:                               [ DONE ]      
172.25.2.10_glance.pp:                               [ DONE ]      
Applying 172.25.2.10_api_nova.pp
172.25.2.10_api_nova.pp:                             [ DONE ]      
Applying 172.25.2.10_nova.pp
172.25.2.10_nova.pp:                                 [ DONE ]  
Applying 172.25.2.10_neutron.pp
172.25.2.10_neutron.pp:                              [ DONE ]     
Applying 172.25.2.10_neutron_fwaas.pp
Applying 172.25.2.10_osclient.pp
Applying 172.25.2.10_horizon.pp
172.25.2.10_neutron_fwaas.pp:                        [ DONE ]           
172.25.2.10_horizon.pp:                              [ DONE ]           
172.25.2.10_osclient.pp:                             [ DONE ]           
Applying 172.25.2.10_ring_swift.pp
172.25.2.10_ring_swift.pp:                           [ DONE ]        
Applying 172.25.2.10_swift.pp
172.25.2.10_swift.pp:                                [ DONE ]   
Applying 172.25.2.10_mongodb.pp
172.25.2.10_mongodb.pp:                              [ DONE ]     
Applying 172.25.2.10_ceilometer.pp
Applying 172.25.2.10_nagios.pp
Applying 172.25.2.10_nagios_nrpe.pp
172.25.2.10_ceilometer.pp:                           [ DONE ]         
172.25.2.10_nagios_nrpe.pp:                          [ DONE ]         
172.25.2.10_nagios.pp:                               [ DONE ]         
Applying 172.25.2.10_postscript.pp
172.25.2.10_postscript.pp:                           [ DONE ]        
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

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


Additional information:
 * Did not create a cinder volume group, one already existed
 * File /root/keystonerc_admin has been created on OpenStack client host 172.25.2.10. To use the command line tools you need to source the file.
 * NOTE : A certificate was generated to be used for ssl, You should change the ssl certificate configured in /etc/httpd/conf.d/ssl.conf on 172.25.2.10 to use a CA signed cert.
 * To access the OpenStack Dashboard browse to https://172.25.2.10/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * To use Nagios, browse to http://172.25.2.10/nagios username: nagiosadmin, password: 135225bb92224f28
 * Because of the kernel update the host 172.25.2.10 requires reboot.
 * The installation log file is available at: /var/tmp/packstack/20150427-115355-Wkd3e1/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20150427-115355-Wkd3e1/manifests

Verify services are running

[root@server2-a ~]# openstack-status 
== Nova services ==
openstack-nova-api:                     active
openstack-nova-cert:                    active
openstack-nova-compute:                 active
openstack-nova-network:                 inactive  (disabled on boot)
openstack-nova-scheduler:               active
openstack-nova-volume:                  inactive  (disabled on boot)
openstack-nova-conductor:               active
== Glance services ==
openstack-glance-api:                   active
openstack-glance-registry:              active
== Keystone service ==
openstack-keystone:                     active
== Horizon service ==
openstack-dashboard:                    301
== neutron services ==
neutron-server:                         active
neutron-dhcp-agent:                     active
neutron-l3-agent:                       active
neutron-metadata-agent:                 active
neutron-lbaas-agent:                    inactive  (disabled on boot)
neutron-openvswitch-agent:              active
neutron-linuxbridge-agent:              inactive  (disabled on boot)
neutron-ryu-agent:                      inactive  (disabled on boot)
neutron-nec-agent:                      inactive  (disabled on boot)
neutron-mlnx-agent:                     inactive  (disabled on boot)
== Swift services ==
openstack-swift-proxy:                  active
openstack-swift-account:                active
openstack-swift-container:              active
openstack-swift-object:                 active
== Cinder services ==
openstack-cinder-api:                   active
openstack-cinder-scheduler:             active
openstack-cinder-volume:                active
openstack-cinder-backup:                active
== Ceilometer services ==
openstack-ceilometer-api:               active
openstack-ceilometer-central:           active
openstack-ceilometer-compute:           active
openstack-ceilometer-collector:         active
openstack-ceilometer-alarm-notifier:    active
openstack-ceilometer-alarm-evaluator:   active
== Support services ==
libvirtd:                               active
openvswitch:                            active
dbus:                                   active
tgtd:                                   inactive  (disabled on boot)
rabbitmq-server:                        active
memcached:                              active
== Keystone users ==
Warning keystonerc not sourced

Amend local networking configuration (attach eth0 to Open Vswitch external bridge for 2 interface systems)

NB: OpenStack guidelines suggest systems should have 3 interfaces: Management, External & Interconnect
The External interface is accessed via a bridge - br-ex
If the system has only 2 interfaces, the Management interface can share the same bridge.

  • Copy network config files
[root@server2-a ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root/
[root@server2-a ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br-ex
  • Edit eth0 config file:
DEVICE=eth0
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
  • Edit the new br-ex config file:
DEVICE=br-ex
BOOTPROTO=static
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=172.25.2.10
NETMASK=255.255.255.0
GATEWAY=172.25.2.254
DNS1=172.25.254.254
  • Add eth0 to br-ex bridge and set hostname:
[root@server2-a ~]# ovs-vsctl add-port br-ex eth0 ; systemctl restart network.service 
[root@server2-a ~]# hostnamectl set-hostname server2-a.example.com

NB: ovs-vsctl add-port br-ex eth0 is apparently not vital

  • Set hostname:
[root@server2-a ~]# hostnamectl set-hostname server2-a.example.com

NB: This assigns a static hostname rather than that transient hostname.