This deep dive will address the questions on how to install, deploy and operate OpenStack by providing informative slides which will help users get ahead start with this awesome project
3. Before We Begin
§ Demonstration will be done over an RDO “Liberty” installation of OpenStack
§ A pre-installed version of OpenStack server based on PackStack will be used
§ OpenStack is purely based on Linux and python
§ To master OpenStack – you need to master Linux
§ To master OpenStack – you need to master Python
§ Troubleshooting is a by product of using OpenStack
§ Take notes, capture your screens, ask questions
4. § Stands for: Redhat Distribution OpenStack
§ RDO is a community of people using and deploying OpenStack on CentOS,
Fedora, and Red Hat Enterprise Linux
§ The Open Source version launched by Red hat
§ Provides stable, documented and secured releases of OpenStack with full
documentation and support tool
About RDO
RDO To RHOS
Is Like
Fedora To RHEL
6. Installing OpenStack – How ?
§ Several methods to Install OpenStack:
§ PackStack – basic installer based on python & puppet that works with
configuration files to establish a working cloud instance
§ TripleO – an advanced installer that is aimed at installing, upgrading and
operating OpenStack clouds using OpenStack's own cloud facilities as the
foundations
§ Manual – installation of sources (tar balls) on a machine manually
7. About PackStack
§ Based on configuration files
§ Script that automates the installation process using puppet, RPM and YUM
§ Server must be pre-configured with all required RPM sources
§ Divided into sections for each one of the components {key: value}
§ Control if and where to install Nova, Swift, Glance, Cinder, etc’.
§ Support AIO distributed Standalone installations
§ Control users, passwords and tenants
8. Installation Process–PackStack
[root@rdo-openstack ~]# yum install openstack-packstack
Resolving Dependencies
--> Running transaction check
---> Package openstack-packstack.noarch 1:7.0.0-0.10.dev1682.g42b3426.el7 will be
installed
--> Finished Dependency Resolution
Dependencies Resolved
Package Arch Version
Repository Size
Installing:
openstack-packstack noarch 1:7.0.0-0.10.dev1682.g42b3426.el7
openstack-liberty 234 k
Installed:
openstack-packstack.noarch 1:7.0.0-0.10.dev1682.g42b3426.el7
Complete!
§ First – install the basic package openstack-packstack
9. Installation Process–PackStack
§ Second – Generate a basic configuration file from template
§ Then – edit the generated conf file using your favorite text editor
[root@rdo-openstack ~]# vim /tmp/rdo-openstack.conf
[root@rdo-openstack ~]# packstack --gen-answer-file=/tmp/rdo-openstack.conf
[root@rdo-openstack ~]#
[root@rdo-openstack ~]# ls -l /tmp/rdo-openstack.conf
-rw-------. 1 root root 46355 Mar 5 14:34 /tmp/rdo-openstack.conf
13. PackStack
What Could Go Wrong?
§ Everything.
§ In case of failure, inspect the following:
o Read log file and understand the error message
o Check network connectivity to all external servers
o Check security enhanced Linux (SELinux) configuration
o Make sure YUM repositories are configured correctly
o Make sure server has enough free disk space
14. OpenStack Storage Concepts
§ Ephemeral storage:
o Persists until VM is terminated
o Accessible from within VM as local file system
o Used to run operating system and/or scratch space
o Managed by Nova
§ Block storage:
o Persists until specifically deleted by user
o Accessible from within VM as a block device (e.g. /dev/vdc)
o Used to add additional persistent storage to VM and/or run operating system
o Managed by Cinder
§ Object storage:
o Persists until specifically deleted by user
o Accessible from anywhere
o Used to add store files, including VM images
o Managed by Swift
17. Features-Cinder
§ Volumes:
o Persistent R/W Block Storage devices
o Can be attached to VMs as secondary storage
o Can be root store to boot VMs
o Can be attached only to one instance at a time
o Keep their state independent of instances
§ Snapshots:
o Read-only point in time copy of a volume
o Can then be used to create a new instance
§ Backups:
o An archived copy of a volume
22. Commands–Cinder
create Create a volume
delete Delete a volume
rename Rename a volume
manage Manage an existing volume
list List all volumes
show Show volume details
snapshot-create Creates a snapshot
snapshot-delete Removes one or more snapshots
migrate Migrates volume to a new host
27. Commands–Glance
Image-list List images you can access
Image-create Create a new image
Image-delete Delete an image
Image-show Show a specific image
Image-update Update an existing image
Image-upload Upload data for a specific image
member-list Describe sharing permissions by image
location-add
Add a location (and related metadata) to
an image.
location-delete Delete a location from an image
32. Commands–Swift
delete delete a container or objects within a container
download Download objects from containers
list Lists the containers for the account or the objects for a
container
post Updates meta information for the account, container, or
object; creates containers if not present
stat Displays information for the account, container, or
object
upload Uploads files or directories to the given container
capabilities List cluster capabilities
tempurl Create a temporary URL
37. Commands–Nova
list List active servers
host-list List all hosts by service
hypervisor-list List hypervisors
network-list Print a list of available networks
image-create Create a new image by taking a snapshot of a running server.
interface-attach Attach a network interface to a server
interface-dettach Detach a network interface to a server
migrate Migrate a server. The new host will be selected by the scheduler
stop Start the server(s)
start Start the server(s)
get-vnc-console Get a vnc console to a server
59. Internals-Horizon
§ 2 subprojects
o horizon - generic Django libraries and components to work with REST-
based back-end
o Openstack-dashboard - web app itself, with styles, locale, etc.
§ Dashboard for each entity (like instances or images) - nested Django app
62. Configuration Files-OpenStack
§ Configuration files are usually stored under /etc/
§ Example – Cinder configuration files are stored under /etc/cinder/
§ System service must be reloaded for configuration change to take affect
[root@rdo-cloud ~(keystone_admin)]# ll /etc/cinder
total 136
-rw-r----- 1 root cinder 2018 Mar 9 21:32 api-paste.ini
-rw-r----- 1 root cinder 121028 Mar 10 11:03 cinder.conf
-rw-r----- 1 root cinder 4623 Dec 22 14:59 policy.json
-rw-r----- 1 root cinder 973 Dec 22 14:59 rootwrap.conf
drwxr-xr-x 2 root root 29 Mar 9 21:32 rootwrap.d
drwxr-xr-x 2 cinder root 6 Dec 22 17:54 volumes
63. Service Management-OpenStack
§ Services in RHEL Fedora Centos are managed by systemctl
§ 2 dedicated tools:
o openstack-service – control OpenStack service states
o openstack-status – validate OpenStack service state
[root@rdo-cloud ~(keystone_admin)]# openstack-service status neutron
MainPID=10533 Id=neutron-dhcp-agent.service ActiveState=active
MainPID=10534 Id=neutron-l3-agent.service ActiveState=active
MainPID=10535 Id=neutron-metadata-agent.service ActiveState=active
MainPID=10536 Id=neutron-openvswitch-agent.service ActiveState=active
MainPID=10537 Id=neutron-server.service ActiveState=active
66. Useful Resources
§ RDO - https://www.rdoproject.org/
§ Miranits - https://www.mirantis.com/
§ OpenStack official site - http://www.openstack.org/
o Docs
o Training
o Learning
o Events
§ Ubuntu OpenStack - http://www.ubuntu.com/cloud/openstack