Duration: 4 days

This course will explain to Openstack users what Openstack is, how it works and how to use its services.
Using already implemented  Openstack may be cumbersome for end user due to number of services and specific openstack concepts.
To make usage more friendly for end user, instructor will bring up openstack services one by one and discuss options. Then, students will connect to implemented openstack and use these services.
In first part of course, basic linux usage and virtualization concepts are introduced. Openstack automates virtualization, networking and storage use in linux environment so it is beneficial for end users to have at least basic knowledge of these concepts.

Basic linux usage for Openstack users
– using bash
– understanding bash environment, variables
– understanding permissions
– understanding program execution
– sourcing scripts
– ssh; passwordless authentication

Virtualization with qemu-kvm in Linux environment for Openstack users
– Virtualization overview: “full” virtualization vs “internal” virtualization
– full virtualization concepts; virtualizing hardware: CPU, controller, disk, cd, memory, network card, display card
– kvm and qemu
– libvirt
– virsh and vmm
– networking options; taps,  linux bridging example;
– openvswitch introduction
– introducing iptables
– storage options; local and remote storage; remote storage options
– configuring and starting vm, installing guest os
– stoping, pausing, resuming , cloning vm

Introduction to Openstack
– need for virtualization automation
– Openstack: complex architecture for large scale deployment

Openstack architecture
– user interaction with Openstack: dashboard / cli / curl, api endpoints
– Openstack core services
– Openstack core services introduction: identity management, image, compute, networking, block storage, dashboard, and object storage
– other Openstack services
– other implementation services: ntp, message queue, database

Using multinode Openstack implementation
– explain installation process
– explain underlying services: database, message queue, memcached
– explain and use implemented: identity service
– explain and use implemented: image service
– explain and use implemented: compute service
– explain and use implemented: network service with openvswitch and provider network
– logging as a user, creating and starting instance, attaching console
– editing security group, verifying network connectivity
– creating keypair and attaching to instance
– explaining metadata service
– explaining cloudinit
– explain and use implemented:dashboard service
– explain and use implemented: volume service
– explain and use implemented: heat service