LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

18
OpenStack on AArch64 upstream, production, interop Software Defined Infrastructure & Systems Engineering Linaro

Transcript of LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

Page 1: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

OpenStack on AArch64upstream, production, interop

Software Defined Infrastructure & Systems EngineeringLinaro

Page 2: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICES

WORKING TOGETHER

Agenda● What is OpenStack

● Building OpenStack for Debian/CentOS

● OpenStack Upstream Improvements

● The Developer Cloud

● Interoperability OpenStack

Page 3: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICES

WORKING TOGETHER

Speakers

Yibo Cai

Andy Doan

Marcin JuszkiewiczJack He

Gema Gomez

Page 4: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICES

WORKING TOGETHER

What is OpenStack - Cloud Software

Page 5: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 6: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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 ...

Page 7: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 8: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 9: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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, ...

Page 10: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICESWORKING 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.

Page 11: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 12: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 13: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICES

WORKING TOGETHER

Linaro Developer Cloud v2.0 - Hardware

● 10 overdrive revA● 2 overdrive revB● 1 D02

● more coming soon...

Page 14: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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!

Page 15: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

ENGINEERS AND DEVICESWORKING TOGETHER

The Reference Architecture● Set of venvs with all dependencies for predictable deployment

data controller

mysqlrabbitmq

ceph-mon

api controller

keystoneglance

memcachednova-api

neutron-serverhorizoncinder

ceph-mon

network controller

ovs_agentl3_agent

ceph-mon

dhcp_agentmetadata_agent

Internet

compute node

nova-computecinder-volume

ceph-OSD

management nettenants private net

compute node

nova-computecinder-volume

ceph-OSD

compute node

nova-computecinder-volume

ceph-OSD

compute node

nova-computecinder-volume

ceph-OSD

Page 16: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 17: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

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

Page 18: LAS16-301: OpenStack on Aarch64, running in production, upstream improvements, and interoperability

Thank You

#LAS16For further information: www.linaro.org

LAS16 keynotes and videos on: connect.linaro.org