LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability
Speakers: Yibo Cai, Gema Gomez Solano, Jack He, Marcin Juskiewicz, Martin Stadtler
Date: September 28, 2016
★ Session Description ★
“OpenStack is at the heart of the next generation of the opensource
cloud on a global scale. During this presentation, we will touch on three themes, running an OpenStack based cloud in production by Gema Gomez and Andy Doan, followed by Marcin talking about the packaging and bug fixing on archives required to make that happen on AArch64. Jack He and Yibo Cai, will explain what it is like working with the the upstream project, the development environment, the current patches and what needs to be done next. Then Gema Gomez will Introduce the OpenStack Interop Working Group. Why is interoperability important for OpenStack? And What is Linaro doing to improve the interoperability of OpenStack?
★ Resources ★
Etherpad: pad.linaro.org/p/las16-301
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-301/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
5. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Building OpenStack for Debian/CentOS
● OpenStack Packaging for AArch64 (LEG 188)
● Linaro overlay RP 16.06 - Mitaka
○ OpenStack packages available:
■ Debian: http://bit.ly/LEG-PKG-Debian
■ CentOS: http://bit.ly/LEG-PKG-Centos
● Newton OpenStack (planned for RP 16.12)
○ Ceph: http://repo.linaro.org/ubuntu/leg-ceph
○ Preparing OpenStack components for deploying (LEG 196)
● Images for AArch64 OpenStack
○ CirrOS Image: http://bit.ly/LEG-DC-Cirros
○ Linaro RP Debian Image: http://bit.ly/LEG-DC-Debian
○ Linaro RP CentOS image: http://bit.ly/LEG-DC-Centos
○ Upstream Fedora, CentOS and CoreOS new images coming soon
6. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Nova
● Feature enablement on AArch64 in progress
○ Basic functionality validated and working
○ Hotplug not working due to virtio-mmio issue
● Nova Tempest test report:
○ https://collaborate.linaro.org/display/SDI/Nova+Tempest+Test+Report
Nova Features Validated and Enabled on AArch64
Launch instance Stop/Resume/Reboot instance CPUs
Shutdown instance Suspend/Restore instance
Guest instance status Save snapshot of instance disk
Image storage support Resize instance
Live migration of instance across
hosts
UEFI boot
Attach/Detach volume More ...
7. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Neutron
● Feature enablement on AArch64 in progress
○ Core services agents validated
○ OpenDaylight plugin validated
○ OVS+DPDK in progress
● Neutron Tempest Test Report:
○ https://collaborate.linaro.org/display/SDI/Neutron+Tempest+Test+Report
8. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Ceph - Storage
● Block storage (RBD) and Object storage (OSD) have been
validated on AArch64
○ Verified by Ceph Unit Tests and by running on the Developer Cloud
● Ceph RBD integration with OpenStack is finished on
AArch64
○ Use Ceph as Cinder backend to provide volume service
● Ceph OSD integration with OpenStack is ongoing on
AArch64
○ Most features are verified
● Ceph performance testing is ongoing on AArch64
○ Ceph cluster performance on AArch64 compared with X86
9. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Patches for AArch64
Patches Projects
Set SCSI as the default disk controller on AArch64 Nova
Add support for libvirt virtio-mmio address type Nova
Fix Nova unit tests on AArch64 Nova
Fix deletion failure of NVRAM enabled VM Nova
Pick the first available disk as configure drive Nova
Set cpu-mode to host-passthrough on AArch64 DevStack
Set virtio-scsi as the default CDROM bus for AArch64 DevStack
Support multi arch deployment Ironic
Fix console device name for AArch64 Ironic
Optimize Ceph hash algorithm Ceph
More ... Network-ODL, OSLO, ...
10. ENGINEERS AND DEVICES
WORKING TOGETHER
Test Setup
● DevStack is used for Nova and other OpenStack components development.
● Most use cases can be deployed by running all OpenStack services in one host.
● Multiple nodes deployment is also required to simulate real life cases.
11. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Linaro Developer Cloud v1.0
● Based on OpenStack Liberty
● Deployed by hand on Debian
● Cloud physically located in Austin, US
● No access to the API or Horizon interface for users
● Basic networking functional
● VMs managed by Linaro
● User management manual
12. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Linaro Developer Cloud v2.0 - Software
● Based on OpenStack Newton
● Includes Linaro’s upstream AArch64 patches
● Deployed with Ansible on Debian, repeatable and
automated
○ Based on venvs generated including Linaro’s patches
● Cloud physically located in Cambridge, UK
● API access enabled
● Horizon access for users enabled
● Networking with OVS functional
● Users able to manage their own VMs
14. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Next Steps - Developer Cloud
● Automating user management
● Fix Bug 2462 - https://bugs.linaro.org/show_bug.cgi?id=2462
● Test Interoperability
● Run full upstream test suite (tempest)
● Finish documenting deployment guidelines
Production ready!
15. ENGINEERS AND DEVICES
WORKING TOGETHER
The Reference Architecture
● Set of venvs with all dependencies for predictable deployment
data controller
mysql
rabbitmq
ceph-mon
api controller
keystone
glance
memcached
nova-api
neutron-server
horizon
cinder
ceph-mon
network controller
ovs_agent
l3_agent
ceph-mon
dhcp_agent
metadata_agent
Internet
compute node
nova-compute
cinder-volume
ceph-OSD
management net
tenants private net
compute node
nova-compute
cinder-volume
ceph-OSD
compute node
nova-compute
cinder-volume
ceph-OSD
compute node
nova-compute
cinder-volume
ceph-OSD
16. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Interoperability OpenStack
● Interop Working Group (was: Defcore Committee)
○ OpenStack interoperable == making clouds “compatible with each
other”
● RefStack project
○ https://refstack.openstack.org/#/guidelines
Cloud A
Cloud B
Cloud C
Cloud D
Workload A
runs on
runs on
runs on
Cloud user
17. ENGINEERS
AND DEVICES
WORKING
TOGETHER
References
●OpenStack Architecture
○ https://www.openstack.org/software/
○ http://docs.openstack.org/.../get_started_conceptual_architecture.html
○https://git.linaro.org/infrastructure/developer-cloud.git
●Ceph
○ http://docs.ceph.com/docs/master/radosgw/
○ http://docs.ceph.com/docs/master/rbd/rbd/
●RefStack and Interop
○https://refstack.openstack.org/#/guidelines
○https://wiki.openstack.org/wiki/Governance/DefCoreCommittee
●SDI Documentation
○https://collaborate.linaro.org/display/SDI/Documentation