Integrating oVirt, Foreman And Katello To Empower Your Data-Center Utilization
Yaniv Bronhaim Senior Software Engineer, Maintainer @ RHEV
Red Hat IL, Raanana August 2015, CloudOpen Europe CloudOpen 2015 Agenda ● Introducing Open-Source solutions ● oVirt, Foreman and Katello
● New third-party integration in oVirt 3.6 ● Using Foreman for Bare-Metal Provisioning ● Using Katello for displaying Errata (update) content information for hosts, Vms and Engine
● oVirt 3.6 Upgrade Manager
● oVirt 4.0 plans
CloudOpen 2015 Large scale, centralized management for server and desktop virtualization
Provide an open source alternative to vCenter/vSphere
Focus on KVM for best integration/performance
CloudOpen 2015 Focus #1 : Performance And Scalability Maintain a large amount of resources
Data Centers
Linux Hypervisors
Network Storage Guests \ VMs
CloudOpen 2015 Focus #2 : User Intuitive Different type of users and requirements
CloudOpen 2015 Focus #3 : Secure and Recoverable It hurts to lose your VM in the cloud
CloudOpen 2015 Data Centers
Linux Hypervisors
Network Storage Guests \ VMs
CloudOpen 2015 oVirt Engine Redhat Enterprise Virtualization http://www.ovirt.org/Quick_Start_Guide
CloudOpen 2015 CloudOpen 2015 Host Deploy The Basic Of Utilizing The Hypervisor
Engine Client (Web Portal)
CloudOpen 2015 Deploy Host Flow
Engine Client (web portals)
CloudOpen 2015 New Host
Deploy (Configure) CloudOpen 2015 Host Deployment The process of preparing an operating system environment suitable to host virtual machines and to be managed by the ovirt back-end
● VDSM packages are installed. ● Clock is 'soft' synchronized. ● Management bridge created. ● Firewall rules applied. ● SSH trust obtained. ● PKI trust obtained. ● VDSM certificate issued. ● Services' boot state set. ● Host tuned for virtualization.
CloudOpen 2015 oVirt Node ● Standalone hypervisor – Small footprint < 100MB
● Customized 'spin' of Fedora + KVM ● 'Just enough' Fedora to run virtual machines ● Runs on all RHEL hardware with Intel VT/AMD-V CPUs – Easy to install, configure and upgrade
● PXE boot, USB boot, CD or Hard drive ● Upcoming – Using Atomic
CloudOpen 2015 CloudOpen 2015 /usr/libexec/qemu-kvm -name vm-f16-buildmachine -S -M rhel6.4.0 -cpu Westmere -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -uuid a8ccdb60-8a42-44f5- 9669-d74c3b2eff43 -smbios type=1,manufacturer=Red Hat,product=RHEV Hypervisor,version=6Server-6.4.0.4.el6,serial=30353036-3837-4247-3831- 30394635324C_78:e7:d1:22:46:d8,uuid=a8ccdb60-8a42-44f5-9669-d74c3b2eff43 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm-f16- buildmachine.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2013-10-08T12:16:16,driftfix=slew -no-shutdown -device piix3-usb- uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio- serial0,bus=pci.0,addr=0x4 -drive if=none,media=cdrom,id=drive-ide0-1- 0,readonly=on,format=raw,serial= -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1- 0,id=ide0-1-0 -drive file=/rhev/data-center/f79b0b28-c82f-11e0-8739-78e7d1e48c4c/5bab6470- 8825-4e3a-b408-ebcde93678b6/images/4c213cd2-c4d5-441b-a1ac-dfb1a6868699/11b3e132-50a5-481b- b48b-e3b1f2879e69,if=none,id=drive-virtio-disk0,format=qcow2,serial=4c213cd2-c4d5-441b-a1ac- dfb1a6868699,cache=none,werror=stop,rerror=stop,aio=native -device virtio-blk- pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/rhev/data-center/f79b0b28-c82f-11e0-8739-78e7d1e48c4c/5bab6470-8825-4e3a-b408- ebcde93678b6/images/02330fa2-d1ff-48e0-a843-842c2376756f/5a283126-4d27-4eef-86dd- fb538d8d08e4,if=none,id=drive-virtio-disk1,format=qcow2,serial=02330fa2-d1ff-48e0-a843- 842c2376756f,cache=none,werror=stop,rerror=stop,aio=native -device virtio-blk- pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device virtio-net- pci,netdev=hostnet0,id=net0,mac=00:1a:4a:23:12:13,bus=pci.0,addr=0x3,bootindex=2 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/vm-f16- buildmachine.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio- serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/channels/vm-f16- buildmachine.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio- serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel2,name=vdagent -device virtserialport,bus=virtio- serial0.0,nr=3,chardev=charchannel2,id=channel2,name=com.redhat.spice.0 -spice port=5904,tls- port=5905,addr=10.35.16.4,x509-dir=/etc/pki/vdsm/libvirt-spice,tls-channel=main,tls- channel=display,tls-channel=inputs,tls-channel=cursor,tls-channel=playback,tls- channel=record,tls-channel=smartcard,tls-channel=usbredir,seamless-migration=on -k en-us -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864
CloudOpen 2015 CloudOpen 2015 Prepare Virtual Environment
CloudOpen 2015 Live Migration • Dynamically move virtual machines between hosts
● No service interruption
● Applications continue to run • Migrate even I/O intensive workloads such as databases • Perform hardware maintenance without application downtime • Dynamically balance workloads between host systems
CloudOpen 2015 21 High Availability • Build a highly available enterprise infrastructure • Continually monitor host systems and virtual machines • Automatically restart virtual machines in case of host failure
● Restart virtual machine on another node in the cluster • Use live migration to “fail-back” a VM to it's original host when the server is restored
CloudOpen 2015 22 • Dynamically balance System Scheduler workloads in the data center. • Automatically live migrate virtual machines based on resources • Define custom policies for distribution of virtual machines • Define policies to optimize workload on a fewer number of servers during “off-peak” hours
CloudOpen 2015 23 CloudOpen 2015 CloudOpen 2015 CloudOpen 2015 PPC Support Live snapshot Kdump fencing Cinder Templates
Discovery Hosts Progress Live VIRT V2V & P2V Live Storage Migration Provisioning Processes Network Interfaces Overcommit Management CPU, Memory, I/O Thirdparty Integration Live Migration KSM Iscsi , NFS Kernel Same-Page Management PCI pass through Hotplug Mering Hosted Events Engine Upgrade SPICE Management Memory Ballooning Task Management Expose Packages User Roles Async Operations Information Node Quota NUMA Import Storage Registration MoM Domain Limit Resources sVirt OS support AAA CloudOpen 2015 PPC Support Live snapshot Kdump fencing Cinder Templates
Discovery Hosts Progress Live VIRT V2V & P2V Live Storage Migration Provisioning Processes Network Interfaces Overcommit Management CPU, Memory, I/O Thirdparty Integration Live Migration KSM Iscsi , NFS Kernel Same-Page Management PCI pass through Hotplug Mering Hosted Events Engine Upgrade SPICE Management Memory Ballooning Task Management Expose Packages User Roles Async Operations Information Node Quota NUMA Import Storage Registration MoM Domain Limit Resources sVirt OS support AAA CloudOpen 2015 Complete lifecycle management tool for physical and virtual servers.
Initial Start Configure Monitor
CloudOpen 2015
CloudOpen 2015
CloudOpen 2015
CloudOpen 2015
CloudOpen 2015 How it's being done by Foreman
Foreman Foreman Foreman Provision Configurator Management
CloudOpen 2015 Foreman PXE Foreman Foreman Boot Provision Configurator Management
Ubunto RHEL Fedora DNS DHCP CentOS TFTP
Smart Proxy
CloudOpen 2015 Passwords Keys Users Services
Foreman Foreman Foreman Provision Configurator Management
Chef Provision templates Puppet Host groups Reports Puppet classes Parameters Configuration Management
CloudOpen 2015 Foreman Foreman Foreman Provision Configurator Management
Rest API
Web Interface Interface UI, API, Cli
CloudOpen 2015 Remote Management ● Bare metal provisioning = Register servers to central management software ● Ability to locate the physical hardware and know its specification ● Configure and monitor the servers
CloudOpen 2015 Provision Your Data Center
Connect
CloudOpen 2015 Configure
C5-E
C6-E
C7-E
C8-E S1-A = 00:11:22:33:44:23 S2-A = 0A:1B:C2:CC:44:55 C8-E = A3:AA:C7:92:12:32 C4-E = A3:BB:D7:92:42:32 C5-F = A3:EB:F4:92:12:32 D5-E = A3:BC:D7:92:12:22 B5-E = A3:BB:D7:92:12:12
CloudOpen 2015 Manual Provision Process
Install OS
CloudOpen 2015 Configure
Initial Setup
CloudOpen 2015 5 Monitor Monitor And Update – Drift Management
CloudOpen 2015 Bare Metal Provisioning Feature
Foreman Client (web portals)
CloudOpen 2015 Foreman Client (web portals)
CloudOpen 2015 Foreman Client (web portals)
CloudOpen 2015 Foreman Client (web portals)
CloudOpen 2015 CloudOpen 2015 CloudOpen 2015 ● Create, organize, and manage local yum and puppet repositories
● Sync remote repositories
● Create custom Content Views
● Install package and errata updates
CloudOpen 2015 CloudOpen 2015 CloudOpen 2015 CloudOpen 2015 Integrating to oVirt
Gather Deploy Provision Content Hypervisor Bare-Metal Information Host Host Host Content Lifecycle ERRATA Info Management Management
CloudOpen 2015 How does Provisioning integrate with oVirt ? Host Lifecycle Management
Deploy Hypervisor Provision Bare-Metal Host
CloudOpen 2015 Provision
CloudOpen 2015 Going Back To Adding New Installed Host Using Host Deploy
New Host
serv1.bob.redhat.com
CloudOpen 2015 New Host
serv1.bob.redhat.com
CloudOpen 2015 New Host
Deploy (Configure) CloudOpen 2015 Hypervisor
CloudOpen 2015 CloudOpen 2015 Adding External Provider - Foreman
Client (web portals)
CloudOpen 2015 Adding New Discovered Host
CloudOpen 2015 Engine
CloudOpen 2015 00:11:22:33:44:55 0A:1B:C2:CC:44:55 A3:AA:C7:92:12:32
Engine
CloudOpen 2015 CloudOpen 2015 00:11:22:33:44:55=192.168.1.2 0A:1B:C2:CC:44:55=192.168.1.56 A3:AA:C7:92:12:32=192.168.1.66
CloudOpen 2015 Engine
CloudOpen 2015 Engine
CloudOpen 2015 CloudOpen 2015 Engine
CloudOpen 2015 CloudOpen 2015 Provision
Provision Host newbob.redhat.com
CloudOpen 2015 Provision
Provision Host 192.168.1.53
CloudOpen 2015 oVirt Provision Plugin
Deploy
API Request to (Configure) deploy host
CloudOpen 2015 Provision is Done!
CloudOpen 2015 How does Content Management integrate with oVirt ?
Gather Content Information
Host Content ERRATA Info Management
CloudOpen 2015 Host Content Information
CloudOpen 2015 API Request To Gather Information About Host Or Virtiual Machine
CloudOpen 2015 Collecting Content Flow:
CloudOpen 2015 Reads And Reports Content Status By Using Katello Agent
CloudOpen 2015 #2 : Host Content Information
Errata Reports
CloudOpen 2015 Hosts and VMs Content Information
CloudOpen 2015 CloudOpen 2015 Engine Content
CloudOpen 2015 oVirt 3.6 Upgrade Manager For Hosts – Using Host Management
Gathering Main Packages Info and trigger an update
Mostly for upgrading Polling for cluster level yum\dnf update info
CloudOpen 2015 Notify For Upgrade Availability
CloudOpen 2015 CloudOpen 2015 oVirt Host Mgmt Process
CloudOpen 2015 Host Management The process of upgrading content environment for suitable cluster (usually VDSM version upgrade)
● Direct SSH trust obtained. ● Allows to retrieve current installed packages information. ● Perform YUM\DNF operations for specific virt packages.
CloudOpen 2015 Summary ● Katello, Foreman, oVirt
● Discover new hosts and utilizing them
● Manage content and cluster updates
The feature pages: ● http://www.ovirt.org/Features/ForemanIntegration ● http://www.ovirt.org/Home/Features/KatelloIntegration ● http://www.ovirt.org/Home/Features/UpgradeManager
CloudOpen 2015 Future Plans:
● VM Provisioning ● Full Host Configuration Management Through oVirt ● Multiply Selection For Hosts Provisioning ● Upgrade Hosts by Katello API ● Cluster Upgrades
CloudOpen 2015 ● Homepage ● Homepage ● Homepage http://ovirt.org http://theforeman.org http://katello.org
● Overall Projects ● Overall Projects ● Overall Projects http://gerrit.ovirt.org Github.com/theforeman Github.com/Katello
● Mails lists ● #theforeman on freenode ● #katello on freenode [email protected] [email protected]
● #ovirt on OFTC
CloudOpen 2015 Questions?
Yaniv Bronhaim.
[email protected] [email protected]
CloudOpen 2015 THANK YOU !
Yaniv Bronhaim. http://www.ovirt.org [email protected]
CloudOpen 2015