Nov 2024
18 Mon
19 Tue
20 Wed
21 Thu
22 Fri 09:00 AM – 05:10 PM IST
23 Sat
24 Sun
Krishna Prasanth
This tech talk explores the design and evolution of the PPEC Agent and PPEC Proxy, which form the backbone of a virtualization stack leveraging libvirt, KVM, and QEMU to manage virtual machine (VM) creation, disk attachment, and performance tuning of VMs on bare-metal systems. The session will outline key engineering decisions, the challenges faced in optimizing resource management for VMs, and how advanced tuning techniques like NUMA core optimization play a vital role in performance improvements.
The PPEC system is designed to handle VM lifecycle management, focusing on performance optimization. The PPEC Agent runs as a long-lived daemon on all bare-metal machines, while the PPEC Proxy listens on a predefined port for predefined task requests from the Orchestrator service (PPEC API) and communicates via Unix Domain Socket (UDS).
This section introduces the Orchestrator Service, which sets the groundwork for VM creation and reliable infrastructure management by:
IP Allocation: The Orchestrator uses a dedicated IPDB service to assign IPs, taking into account various factors like the VRF under which the requested host(s) belongs to, etc.
Bare-Metal Candidate Filtering: The Orchestrator filters eligible bare-metal candidates for provisioning based on a combination of factors:
Data Synchronization for Real-Time Eligibility: The Orchestrator leverages periodic updates from the PPEC Agent to access up-to-date baremetal information, ensuring the latest view of resources across regions. This data, accessible to SREs through the PPEC CLI and PPEC UI, is vital for accurate candidate selection, manual oversight, and proactive alerting in case of unintended activities done on baremetal in terms of VM Lifecycle.
PPEC CLI and UI Access: The CLI provides users with a unified interface for managing VM lifecycle operations, viewing baremetal details, and facilitating capacity planning.
Maker-Checker Process: To safeguard major operations (e.g., IP or VM updates/deletions), a two-person approval flow is enforced, with nuances like resource-type restrictions for the approvers, enhancing reliability and accuracy in operational actions.
These capabilities streamline VM provisioning, and capacity planning, and ensure high system integrity through PPEC’s coordinated ecosystem.
The PPEC Agent Syncer plays a critical role in ensuring that the PPEC Agent stays up to date with minimal disruption to the running VMs and services. This section will explore the checksum-based periodic verification process used by the syncer to detect any discrepancies between the agent’s current state and the desired state.
Additionally, the talk will cover the self-update cycle of the PPEC Agent Syncer, detailing how it autonomously initiates upgrades to ensure consistency and performance, all while maintaining seamless operation and minimizing downtime during these updates.
This talk is ideal for software engineers interested in the operational aspects of virtualization, performance tuning, and resource management on bare-metal systems.
Hosted by
Supported by
Platinum Sponsor
Platinum Sponsor
Community sponsor
Venue host - Rootconf workshops
Community Partner
Community Partner
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}