LCU14 300- Open Stack and KVM on ARM Servers
---------------------------------------------------
Speaker: A. McDermott & M. Hudson-Doyle
Date: September 17, 2014
---------------------------------------------------
★ Session Summary ★
Technical details of OpenStack and KVM on ARM servers
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137746
Google Event: https://plus.google.com/u/0/events/c12dogbpgboksmutrr0thtnq7k0
Video: https://www.youtube.com/watch?v=WLtxQTsyWK8&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-300
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
3. Demo Overview
● 3x APM Mustang boards running Ubuntu Trusty 14.04
● All services deployed with juju
● Mustang 01 as cloud controller and jenkins master with LXC
● Mustang 02 and 03 as OpenStack compute nodes with KVM
● Run a subset of the OpenJDK JTREG test regression harness
● jenkins dynamically provisions SIX VM’s instances via OpenStack on Mustang 2 and 3
● the VM’s are destroyed upon test completion
4. Openstack via KVM on ARMv8
● Configuration and Deployment
● Possible to install on Ubuntu 14.04 either via juju or using devstack
● Tweaks are necessary:
● Also installing on a single node with 1 NIC is not completely straightforward - nothing to
do with ARMv8
● Depending the platform enablement more than 1 NIC can be supported - eg for management
+ public network (works on HP Moonshot)
● Deployment with MAAS + juju is work in progress
● Out of band management issue for Mustang
● Administration
● All use cases seem to be working
● Openstack identity service
● Works - all relevant Tempest cases pass
● Openstack nova
● Assuming images are set up correctly it works. Launching instances with ephemeral
storage does not work
5. It’s running on ARM 64-bit now!
http://www.ca.com/us/lpg/ca-technology-exchange/sunny-outlook-for-openstack-clouds.aspx
6. Openstack via KVM on ARMv8
● Openstack storage
● Basic setup of swift on a single storage node passes all Tempest tests
● Openstack image service
● Glance passes all Tempest tests and appears to work ok for basic operations
● Openstack networking
● nova-network (with FlatDHCPManager) appears to work fine
7. OpenStack patches: only 114 lines in Nova
● nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot"
http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af
Thanks to Canonical engineers
for their contribution!
8. Openstack on KVM/QEMU for ARMv8
● Known issues
● suspend/resume/migration
● Currently no support for “live migration” of VMs on arm64 in QEMU or kvm
● Should become enabled in Q4.2014
● Volume hotplugging
● The currently supported models for arm64 virtual machines do not include any kind of
hotpluggable storage
● Enablement expected in Q4.2014
● Absence of bootloader/image registration
● On x86, QEMU can be used to emulate a BIOS (seabios) which boots grub which (as with a
physical machine) uses configuration within the image to specify the kernel, initrd (if any) and
kernel parameters – with the kernel and initrd being read from the image itself
● On arm64 there is not yet a bootloader that can be used in this way – virtual machines are
booted by specifying the kernel, initrd and kernel parameters on the qemu command line
● Block device ordering
● On arm64, there is no emulation of IDE, and QEMU uses the “virtio” block device type. This
9. More about Linaro Connect: connect.linaro.org
Linaro members: www.linaro.org/members
More about Linaro: www.linaro.org/about/