Course Outline
\r\n 1. Introduction to OpenStack - 2h<\/strong> \r\n \u25cf OpenStack certification \r\n \r\n \u25cb Keypair management \r\n \u25cb Setting up object expiration \r\n 3. Advanced Topics<\/strong> \r\n \u25cf Role system - authorization in OpenStack ~2h<\/strong> \r\n \u25cf Neutron router and OVN logical router
\r\n \u25cf History of the cloud and OpenStack
\r\n \u25cf Cloud features
\r\n \u25cf Cloud models
\r\n \u25cb private, public, hybrid
\r\n \u25cb on-premise, IaaS, PaaS, SaaS
\r\n \u25cf Public and private cloud deployments based on OpenStack
\r\n \u25cf Open source and commercial OpenStack distributions
\r\n \u25cf OpenStack deployment models
\r\n \u25cf OpenStack ecosystem
\r\n \u25cb Modules
\r\n \u25cb Underlying tools
\r\n \u25cb Integrations
\r\n \u25cf OpenStack lifecycle\r\n <\/p>\r\n
\r\n \u25cf OpenStack lab (VM) for this course\r\n <\/p>\r\n
\r\n 2. Hands-on OpenStack administration workshop<\/strong>
\r\n \u25cf Getting to know OpenStack ~0.5h<\/strong>
\r\n \u25cb OpenStack components (Keystone, Glance, Nova, Neutron, Cinder, Swift,
\r\n Heat)
\r\n \u25cb Interaction with OpenStack cloud
\r\n \u25cb OpenStack daemons and API communication flow
\r\n \u25cf Keystone - Identity management service ~1h<\/strong>
\r\n \u25cb Keystone architecture
\r\n \u25cb Authentication and available backends
\r\n \u25cb Token types and token management
\r\n \u25cb Authorization in OpenStack - roles and oslo.policy
\r\n \u25cb Keystone resources - domains, projects, users
\r\n \u25cb Openrc and clouds.yaml - CLI clients configuration
\r\n \u25cb OpenStack service catalog
\r\n \u25cb Adding new OpenStack service
\r\n \u25cb Quota system in OpenStack
\r\n \u25cf Glance - Image service ~1.5h<\/strong>
\r\n \u25cb Images adjusted to the cloud
\r\n \u25cb Image features (properties, metadata, format, container)
\r\n \u25cb Uploading and downloading image
\r\n \u25cb Sharing images
\r\n \u25cb Glance image stores
\r\n \u25cb Protected images
\r\n \u25cb Manage quotas for image service
\r\n \u25cb Verification of Glance services
\r\n \u25cf Neutron - Networking ~2-3h<\/strong>
\r\n \u25cb Architecture and Neutron services
\r\n \u25cb The ML2 plugin
\r\n \u25cb Networking in compute node - analysis
\r\n \u25cb Networking concepts and tools used by Neutron
\r\n \u25cb Basic Neutron network resource types
\r\n \u25cb Manage tenant networks, subnets,
\r\n \u25cb Manage security groups and rules
\r\n \u25cb East-West routing
\r\n \u25cb Network namespaces
\r\n \u25cb Manage external\/provider networks
\r\n \u25cb North-South routing
\r\n \u25cb Floating IPs management
\r\n \u25cb Manage network quotas
\r\n \u25cb Basic network troubleshooting (namespaces, tcpdump, etc.)
\r\n \u25cb Networking quotas
\r\n \u25cb Verification of Neutron services
\r\n \u25cf Nova - Compute service ~2-3h<\/strong>
\r\n \u25cb Interfaces to hypervisors\r\n <\/p>\r\n
\r\n \u25cb Flavour management
\r\n \u25cb Flavors and CPU topology
\r\n \u25cb Instance parameters
\r\n \u25cb Creating an instance
\r\n \u25cb Verification of spawned instances
\r\n \u25cb Snapshotting
\r\n \u25cb Instance management
\r\n \u25cb Resizing instances
\r\n \u25cb Assigning floating IPs
\r\n \u25cb Interactive console and console log
\r\n \u25cb Security groups assignment
\r\n \u25cb Compute quotas
\r\n \u25cb Getting statistics from Nova
\r\n \u25cb Placement API and Nova Cells v2
\r\n \u25cb Placement API and instance scheduling
\r\n \u25cb Placement API client commands
\r\n \u25cb Verification of Nova services
\r\n \u25cf Cinder - Block Storage ~2-3h<\/strong>
\r\n \u25cb Volume parameters
\r\n \u25cb Creating volume
\r\n \u25cb Manage volume
\r\n \u25cb Attaching volume to Nova instance
\r\n \u25cb Managing volume snapshots
\r\n \u25cb Managing volume backups
\r\n \u25cb Internals of snapshots and backups in Cinder
\r\n \u25cb Transferring volumes between projects
\r\n \u25cb Restoring backups
\r\n \u25cb Managing volume quotas
\r\n \u25cb Adding new storage backend
\r\n \u25cb QoS (limits) in Cinder
\r\n \u25cb LVM, storage array and Ceph storage backends
\r\n \u25cb Ceph in OpenStack
\r\n \u25cb Integrating Ceph and Cinder
\r\n \u25cb Good practices for Ceph deployments
\r\n \u25cb Verification of Cinder services
\r\n \u25cf Barbican - Key Management Service - ~2h<\/strong>
\r\n \u25cb Barbican architecture
\r\n \u25cb Storing passphrases
\r\n \u25cb Generating and storing symmetric encryption keys
\r\n \u25cb Volume encryption mechanisms
\r\n \u25cb Configuring Cinder storage type for volume encryption
\r\n \u25cb Limitations of volume encryption
\r\n \u25cb Storing X.509 certificate bundles
\r\n \u25cf Swift - Object Storage (quick screening for the COA exam) <1h<\/strong>
\r\n \u25cb Swift components and processes
\r\n \u25cb Managing containers and objects
\r\n \u25cb Managing access control lists\r\n <\/p>\r\n
\r\n \u25cb The Ring and storage policies
\r\n \u25cb Monitoring available storage space
\r\n \u25cb Setting up quotas
\r\n \u25cb Verification of Swift services
\r\n \u25cf Octavia - Load Balancing-as-a-service ~2-3h<\/strong>
\r\n \u25cb Architecture
\r\n \u25cb Objects and request flow
\r\n \u25cb Octavia flavors
\r\n \u25cb Octavia Availability Zones
\r\n \u25cb Creating the HTTP load balancer
\r\n \u25cb Creating the TCP load balancer
\r\n \u25cb Creating HTTPS passthrough load balancer
\r\n \u25cb Listeners, Pools and Health Monitors
\r\n \u25cb Layer 7 load balancing in Octavia
\r\n \u25cb Building Amphora image
\r\n \u25cb LB Failover
\r\n \u25cb Networking and Monitoring details
\r\n \u25cb Troubleshooting Octavia
\r\n \u25cf Heat - Orchestration ~1-2h<\/strong>
\r\n \u25cb Heat Orchestration Template and its components
\r\n \u25cb Creating Heat stack
\r\n \u25cb Verification of Heat stack
\r\n \u25cb Updating Heat stack
\r\n \u25cb Verification of Heat services
\r\n \u25cf Basic troubleshooting ~2h<\/strong>
\r\n \u25cb Analyzing log files
\r\n \u25cb Centralized logging
\r\n \u25cb Debugging OpenStack client queries
\r\n \u25cb Managing OpenStack database
\r\n \u25cb Backing up OpenStack
\r\n \u25cb Analyzing compute node status
\r\n \u25cb Analyzing instance status
\r\n \u25cb Analyzing AMQP broker (RabbitMQ)
\r\n \u25cb Metadata services
\r\n \u25cb General way of diagnosing OpenStack issues
\r\n \u25cb Troubleshooting network problems
\r\n \u25cb Troubleshooting network performance
\r\n \u25cb Instance backup and recovery\r\n <\/p>\r\n
\r\n \u25cf Hardware considerations and capacity planning ~2h<\/strong>
\r\n \u25cb Compute hardware
\r\n \u25cb Network design
\r\n \u25cb Storage design
\r\n \u25cb Flavour sizing
\r\n \u25cb Resource overcommitment\r\n <\/p>\r\n
\r\n \u25cb Creating new role as member role extension
\r\n \u25cb policy.yaml - API calls authorization
\r\n \u25cf Highly Available control plane ~1h<\/strong>
\r\n \u25cb HA in OpenStack services
\r\n \u25cb HA database
\r\n \u25cb HA message queue
\r\n \u25cf Cloud partitioning and scheduler filters ~1h<\/strong>
\r\n \u25cb Why and how implement cloud partitions (host-aggregates)
\r\n \u25cb Nova scheduler filters
\r\n \u25cf Workload migration ~1h<\/strong>
\r\n \u25cb Cold and live migration
\r\n \u25cb Live migration tweaking
\r\n \u25cf OpenStack monitoring and telemetry <1h<\/strong>
\r\n \u25cb Ceilometer service
\r\n \u25cb External monitoring
\r\n \u25cf Advanced cloud\/hypervisor features <1h<\/strong>
\r\n \u25cb CPU pinning / NUMA architecture
\r\n \u25cb SR-IOV
\r\n \u25cf Cloud-init and image customization <1h<\/strong>
\r\n \u25cb Metadata Service
\r\n \u25cf Block storage backends <1h<\/strong>
\r\n \u25cb LVM
\r\n \u25cb Ceph RBD
\r\n \u25cb Physical appliances
\r\n \u25cb Storage network considerations
\r\n \u25cf Upgrading OpenStack <1h<\/strong>
\r\n \u25cb Upgrade strategies and procedures
\r\n \u25cb Zero-downtime upgrade
\r\n \u25cf Bare-metal provisioning with OpenStack <1h<\/strong>
\r\n \u25cb Ironic module
\r\n \u25cb Undercloud and overcloud concepts
\r\n \u25cf Future of OpenStack
\r\n 4. Deep-dive into Neutron and OVN backend - ~6-8h<\/strong>
\r\n \u25cf OVN architecture
\r\n \u25cf OVN components
\r\n \u25cf ML2 - OVN vs OvS driver
\r\n \u25cf Top-down OVN networking
\r\n \u25cb OpenStack logic (Neutron database)
\r\n \u25cb Northbound database
\r\n \u25cb Southbound database
\r\n \u25cb Logical datapath pipelines
\r\n \u25cb Logical flows
\r\n \u25cb OpenFlow flows
\r\n \u25cf Neutron network and OVN logical switch
\r\n \u25cb Logical ports and their types
\r\n \u25cb Switching flows\r\n <\/p>\r\n
\r\n \u25cb NAT types
\r\n \u25cb Routing flows
\r\n \u25cf Neutron subnet and native DHCP
\r\n \u25cb DHCP flows
\r\n \u25cf Security groups in OVN
\r\n \u25cb ACLs and Port Groups
\r\n \u25cb Security group flows
\r\n \u25cb Port security in OVN
\r\n \u25cf Summary of OVN Northbound tables
\r\n \u25cf Information flow in OVN
\r\n \u25cb Neutron DB, OVN NB and SB DB, OpenFlow at OvS
\r\n \u25cf Logical flow tracing
\r\n \u25cb Defining microflows
\r\n \u25cb L2 tracing
\r\n \u25cb L3 tracing
\r\n \u25cb DHCP tracing
\r\n \u25cf Physical flows - OpenFlow
\r\n \u25cb Physical live-cycle of VM-originated packet
\r\n \u25cf Physical tracing
\r\n \u25cb Tracing for hypothetical packets
\r\n \u25cb Tracing for real packets
\r\n \u25cf Displaying Open vSwitch database and resources\r\n <\/p>
Testimonials (1)
communication, knowledge from experience, solve problems,