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
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
Large scale, centralized management for server and desktop virtualization Provide an open source alternative to vcenter/vsphere Focus on KVM for best integration/performance
Focus #1 : Performance And Scalability Maintain a large amount of resources Data Centers Linux Hypervisors Network Storage Guests \ VMs
Focus #2 : User Intuitive Different type of users and requirements
Focus #3 : Secure and Recoverable It hurts to lose your VM in the cloud
Data Centers Linux Hypervisors Network Storage Guests \ VMs
ovirt Engine Redhat Enterprise Virtualization http://www.ovirt.org/quick_start_guide
Host Deploy The Basic Of Utilizing The Hypervisor Engine Client (Web Portal)
Deploy Host Flow Engine Client (web portals)
New Host Deploy (Configure)
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.
ovirt Node Standalone hypervisor Small footprint < 100MB 'Just enough' Fedora to run virtual machines Runs on all RHEL hardware with Intel VT/AMD-V CPUs Easy to install, configure and upgrade Customized 'spin' of Fedora + KVM PXE boot, USB boot, CD or Hard drive Upcoming Using Atomic
/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-44f59669-d74c3b2eff43 -smbios type=1,manufacturer=red Hat,product=RHEV Hypervisor,version=6Server-6.4.0.4.el6,serial=30353036-3837-4247-383130394635324C_78:e7:d1:22:46:d8,uuid=a8ccdb60-8a42-44f5-9669-d74c3b2eff43 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm-f16buildmachine.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2013-10-08t12:16:16,driftfix=slew -no-shutdown -device piix3-usbuhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtioserial0,bus=pci.0,addr=0x4 -drive if=none,media=cdrom,id=drive-ide0-10,readonly=on,format=raw,serial= -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-10,id=ide0-1-0 -drive file=/rhev/data-center/f79b0b28-c82f-11e0-8739-78e7d1e48c4c/5bab64708825-4e3a-b408-ebcde93678b6/images/4c213cd2-c4d5-441b-a1ac-dfb1a6868699/11b3e132-50a5-481bb48b-e3b1f2879e69,if=none,id=drive-virtio-disk0,format=qcow2,serial=4c213cd2-c4d5-441b-a1acdfb1a6868699,cache=none,werror=stop,rerror=stop,aio=native -device virtio-blkpci,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-b408ebcde93678b6/images/02330fa2-d1ff-48e0-a843-842c2376756f/5a283126-4d27-4eef-86ddfb538d8d08e4,if=none,id=drive-virtio-disk1,format=qcow2,serial=02330fa2-d1ff-48e0-a843842c2376756f,cache=none,werror=stop,rerror=stop,aio=native -device virtio-blkpci,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-netpci,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-f16buildmachine.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtioserial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/channels/vm-f16buildmachine.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtioserial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel2,name=vdagent -device virtserialport,bus=virtioserial0.0,nr=3,chardev=charchannel2,id=channel2,name=com.redhat.spice.0 -spice port=5904,tlsport=5905,addr=10.35.16.4,x509-dir=/etc/pki/vdsm/libvirt-spice,tls-channel=main,tlschannel=display,tls-channel=inputs,tls-channel=cursor,tls-channel=playback,tlschannel=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
Prepare Virtual Environment
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 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 22
System Scheduler Dynamically balance 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 23
Live snapshot Kdump fencing Discovery Hosts Provisioning Live Storage Migration PPC Support Cinder Templates Progress Live Processes VIRT V2V & P2V Overcommit Network Interfaces CPU, Memory, I/O Management Thirdparty Integration Live Migration KSM Iscsi, NFS Kernel Same-Page Management Mering PCI pass through Hotplug Events Hosted Upgrade SPICE Engine Memory Management Ballooning Task Management Expose Packages Async Operations User Roles Information Node Import StorageRegistration MoM Domain AAA Quota Limit Resources svirt NUMA OS support
Live snapshot Kdump fencing Discovery Hosts Provisioning Live Storage Migration PPC Support Cinder Templates Progress Live Processes VIRT V2V & P2V Overcommit Network Interfaces CPU, Memory, I/O Management Thirdparty Integration Live Migration KSM Iscsi, NFS Kernel Same-Page Management Mering PCI pass through Hotplug Events Hosted Upgrade SPICE Engine Memory Management Ballooning Task Management Expose Packages Async Operations User Roles Information Node Import StorageRegistration MoM Domain AAA Quota Limit Resources svirt NUMA OS support
Complete lifecycle management tool for physical and virtual servers. Initial Start Configure Monitor
How it's being done by Foreman Foreman Foreman Foreman Provision Configurator Management
Foreman PXE Boot Provision Foreman Foreman Configurator Management Ubunto RHEL DNS DHCP TFTP Fedora CentOS Smart Proxy
Passwords Keys Users Services Foreman Foreman Foreman Provision Configurator Management Chef Provision templates Host groups Reports Puppet Puppet classes Parameters Configuration Management
Foreman Foreman Foreman Provision Configurator Management Rest API Web Interface Interface UI, API, Cli
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
Provision Your Data Center Connect
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
Manual Provision Process Install OS
Configure Initial Setup
5 Monitor Monitor And Update Drift Management
Bare Metal Provisioning Feature Foreman Client (web portals)
Foreman Client (web portals)
Foreman Client (web portals)
Foreman Client (web portals)
Create, organize, and manage local yum and puppet repositories Sync remote repositories Create custom Content Views Install package and errata updates
Integrating to ovirt Deploy Hypervisor Host Lifecycle Management Gather Content Information Provision Bare-Metal Host ERRATA Info Host Content Management
How does Provisioning integrate with ovirt? Host Lifecycle Management Deploy Hypervisor Provision Bare-Metal Host
Provision
Going Back To Adding New Installed Host Using Host Deploy New Host serv1.bob.redhat.com
New Host serv1.bob.redhat.com
New Host Deploy (Configure)
Hypervisor
Adding External Provider - Foreman Client (web portals)
Adding New Discovered Host
Engine
00:11:22:33:44:55 0A:1B:C2:CC:44:55 A3:AA:C7:92:12:32 Engine
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
Engine
Engine
Engine
Provision Provision Host newbob.redhat.com
Provision Provision Host 192.168.1.53
ovirt Provision Plugin Deploy (Configure) API Request to deploy host
Provision is Done!
How does Content Management integrate with ovirt? Gather Content Information ERRATA Info Host Content Management
Host Content Information
API Request To Gather Information About Host Or Virtiual Machine
Collecting Content Flow:
Reads And Reports Content Status By Using Katello Agent
#2 : Host Content Information Errata Reports
Hosts and VMs Content Information
Engine Content
ovirt 3.6 Upgrade Manager For Hosts Using Host Management Gathering Main Packages Info and trigger an update Mostly for upgrading Polling for yum\dnf update info cluster level
Notify For Upgrade Availability
ovirt Host Mgmt Process
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.
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
Future Plans: VM Provisioning Full Host Configuration Management Through ovirt Multiply Selection For Hosts Provisioning Upgrade Hosts by Katello API Cluster Upgrades
Homepage http://ovirt.org Overall Projects Mails lists Overall Projects #theforeman on freenode devel@ovirt.org #ovirt on OFTC Homepage http://katello.org Github.com/theforeman users@ovirt.org http://theforeman.org http://gerrit.ovirt.org Homepage Overall Projects Github.com/Katello #katello on freenode
Questions? Yaniv Bronhaim. bronhaim@gmail.com ybronhei@redhat.com
THANK YOU! Yaniv Bronhaim. http://www.ovirt.org ybronhei@redhat.com