OpenStack 001

OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds. Backed by some of the biggest companies in software development and hosting, as well as thousands of individual community members, many think that OpenStack is the future of cloud computing. OpenStack is managed by the OpenStack Foundation, a non-profit that oversees both development and community-building around the project.
Introduction to OpenStack
OpenStack lets users deploy virtual machines and other instances that handle different tasks for managing a cloud environment on the fly. It makes horizontal scaling easy, which means that tasks that benefit from running concurrently can easily serve more or fewer users on the fly by just spinning up more instances. For example, a mobile application that needs to communicate with a remote server might be able to divide the work of communicating with each user across many different instances, all communicating with one another but scaling quickly and easily as the application gains more users.
Core Components (Services)
OpenStack is modular, with each service handling a specific function:
Service | Function | Key Features |
---|---|---|
Nova | Compute (VM orchestration) | Supports KVM, Hyper-V, VMware, Xen. |
Neutron | Networking (SDN) | VLANs, VPN, load balancing, security groups. |
Cinder | Block Storage | Persistent volumes (iSCSI, Ceph, NFS). |
Swift | Object Storage | S3-like scalable storage for unstructured data. |
Glance | Image Management | VM templates (ISO/QCOW2) storage/retrieval. |
Keystone | Identity & Authentication | RBAC, multi-factor auth, LDAP/AD integration. |
Horizon | Web Dashboard | GUI for admin/user operations. |
Heat | Orchestration (Infra-as-Code) | Auto-scaling, templates (YAML/JSON). |
Ceilometer | Monitoring & Metering | Billing/alerts, integrated with Gnocchi (time-series DB). |
Architecture
- Control Plane: Runs core services (API, scheduler, database).
- Compute Nodes: Host VMs via hypervisors (KVM, Xen, etc.).
- Storage Backends: Ceph, NFS, iSCSI, or vendor-specific (e.g., NetApp).
- Networking:
- Provider Networks: Direct physical network access.
- Tenant Networks: Overlay networks (VXLAN/GRE) for isolation.

Key Features
- Multi-Tenancy: Isolate projects/users with quotas.
- API-Driven: RESTful APIs for automation (compatible with AWS EC2/S3).
- Scalability: Deploy 1 node or 1,000+ nodes.
- Integration: Works with Kubernetes (via Magnum), Terraform, Ansible.
OpenStack vs. CloudStack vs. Others
Feature | OpenStack | CloudStack | VMware vSphere |
---|---|---|---|
Complexity | High (modular) | Low (monolithic) | Medium (proprietary) |
Networking | Flexible (Neutron plugins) | Built-in advanced networking | NSX (paid add-on) |
Ecosystem | Largest (500+ vendors) | Smaller | Closed (VMware-only) |
Cost | Free (open-source) | Free (open-source) | Expensive licensing |
Pros & Cons
- Pros:
- Flexibility: Customizable for diverse workloads.
- Avoid Vendor Lock-in: Runs on any hardware.
- Community: Backed by IBM, Red Hat, Intel, etc.
- Cons:
- Steep Learning Curve: Requires expertise.
- Maintenance Overhead: Upgrades can be complex.
1. RHOSP Classroom vs. Production Environments
- Classroom deployments use prebuilt, customized TripleO templates (located in
~/templates
on the director). You can get one, if you have RedHat partner subscription.
- Production environments prioritize resilience and low-latency communication between undercloud/overcloud nodes. Nodes can be rebooted for maintenance without downtime due to redundancy.
2. OpenStack Cloud Personas
Red Hat defines 10 personas (user roles) based on real-world OpenStack usage:
- Focuses on Domain Operator in this course (manages RHOSP operations).
- Other personas include project admins, developers, and network engineers.
- Purpose: Align training with real user tasks, not just features.
3. OpenStackClient (OSC) Basics
- Unified CLI for all OpenStack services (
openstack
command).

- Authentication: Requires user, password, project, domain, and Identity API endpoint.Use environment files (e.g.,
user-project-rc
) to store credentials.
Common Commands:
openstack server list -c Name -c Status
(filtered output).openstack network list --max-width 80
(formatting).- Structured output:
-f json
or-f yaml
(e.g., for parsing withjq
).

4. Instance Management
Key Objects for Launching Instances
- Image: Bootable OS disk (e.g.,
rhel8
). - Flavor: VM resources (CPU, RAM, disk).
- Network/Subnet: Layer 2/3 connectivity (e.g.,
finance-network1
).
Launch via CLI

Launch via Dashboard
- Access:
http://dashboard.overcloud.example.com
- Verify project and user in the top-right corner.
- Navigate to Compute → Instances → Launch Instance.


Summary
OpenStack is the "Linux of the cloud"—powerful, modular, and ideal for organizations needing full control over their cloud infrastructure. While complex, its flexibility and scalability make it a leader in open-source cloud solutions.