COA Architecture & System Design 3 — Questions and Answers
Question 1: What is the function of the oslo.messaging library in OpenStack service communication?
- It provides a unified API for sending emails from OpenStack services
- It abstracts RPC calls and notifications over pluggable message broker backends (Correct answer)
- It manages TLS certificate rotation between API endpoints
- It serializes Nova VM metadata into a common format
Correct answer: It abstracts RPC calls and notifications over pluggable message broker backends
oslo.messaging provides a transport-agnostic RPC and notification framework used by most OpenStack services to communicate over message brokers like RabbitMQ.
Question 2: In Ceph-backed Cinder deployments, what advantage does the RADOS Block Device (RBD) driver provide over traditional shared file storage?
- It enforces strict single-writer semantics to prevent data corruption
- It enables thin provisioning, copy-on-write snapshots, and direct Nova-to-Ceph access (Correct answer)
- It provides automatic encryption of all volumes without key management
- It eliminates the need for network connectivity between compute and storage nodes
Correct answer: It enables thin provisioning, copy-on-write snapshots, and direct Nova-to-Ceph access
RBD supports thin provisioning and copy-on-write cloning, and Nova can directly access Ceph avoiding data copying during boot from volume.
Question 3: Which component in the Neutron architecture is responsible for implementing security group rules on compute nodes?
- Neutron server (neutron-server)
- L3 agent
- OVS/iptables firewall driver on the compute node (Correct answer)
- DHCP agent
Correct answer: OVS/iptables firewall driver on the compute node
Security group rules are enforced by the firewall driver (iptables or OVS-based) running on the compute node, not by central Neutron components.
Question 4: What is the recommended approach to prevent a 'noisy neighbor' issue where one tenant's workload monopolizes compute resources in OpenStack?
- Assigning all tenants to the same availability zone
- Using flavor extra specs with CPU pinning and NUMA topology policies (Correct answer)
- Disabling the scheduler weight functions in Nova
- Setting all instances to use shared storage backends
Correct answer: Using flavor extra specs with CPU pinning and NUMA topology policies
CPU pinning and NUMA topology flavor extra specs ensure dedicated CPU cores are allocated to instances, preventing contention with other tenants' workloads.
Question 5: In the context of OpenStack Keystone federation, what does Identity Provider (IdP) federation allow?
- Multiple Keystone services to share a single MySQL database
- Users from an external identity system to authenticate and receive OpenStack tokens (Correct answer)
- Automatic replication of project quotas across multiple regions
- Nova to bypass Keystone for internal service-to-service calls
Correct answer: Users from an external identity system to authenticate and receive OpenStack tokens
Federation allows users authenticated by an external IdP (e.g., SAML, OIDC) to receive mapped Keystone tokens without needing a local Keystone account.
Question 6: Which Heat resource type would you use to create a set of identically configured Nova instances that can scale horizontally?
- OS::Nova::Server
- OS::Heat::AutoScalingGroup (Correct answer)
- OS::Cinder::VolumeType
- OS::Neutron::LoadBalancer
Correct answer: OS::Heat::AutoScalingGroup
OS::Heat::AutoScalingGroup manages a collection of identical resources and integrates with Ceilometer/Aodh alarms for automatic scaling actions.
Question 7: When configuring Nova for SR-IOV networking, what must be enabled on the physical host?
- Open vSwitch with VXLAN tunneling
- VT-d (IOMMU) in the BIOS and the sriov_numvfs setting on the NIC (Correct answer)
- Neutron L2 population driver for ARP suppression
- OVN southbound database with hardware offload rules
Correct answer: VT-d (IOMMU) in the BIOS and the sriov_numvfs setting on the NIC
SR-IOV requires IOMMU (VT-d on Intel) enabled in BIOS and the number of Virtual Functions configured on the physical NIC via sriov_numvfs.
What is the function of the oslo.messaging library in OpenStack service communication?