openstack on aarch64 - schd.wsschd.ws/hosted_files/lc3china2017/c5/openstack on... · openstack on...
TRANSCRIPT
Agenda
• Components Working on AArch64
• OpenStack Enablement on AArch64
• Status and Plan
– Compute (Nova, Ironic)
– Storage (Ceph Integration)
– Networking (Neutron)
• Upstream
• Development Environment
ARM Server
Compute Networking Storage
Services
Compute: Nova
Identity: Keystone
Dashboard: Horizon
Networking: Neutron Image Service: Glance
OSD, RBD
Object, Block: Bare-Metal: Ironic
Components Working on AArch64
Deployment: Ansible
Orchestration: Heat
Nova – Mandatory Features
• All mandatory features are enabled and verified on AArch64.
– Nova Tempest test report
• Users can launch AArch64 VM instances through Horizon Web UI or OpenStack CLI.
Mandatory Features
Launch instance
Shutdown instance
Guest instance status
Image storage support
Nova – Optional Features All frequently used optional features are enabled.
Optional Features
Live migrate instance across hosts
Attach/Detach volume to/from instance
Stop/Resume/Reboot instance CPUs
Suspend/Restore instance
Save snapshot of instance disk
Resize instance
UEFI boot
Network routing/firewall rules/security groups
Other optional features…
Nova – Test Setup
• DevStack is used for Nova and other OpenStack components development and verification.
• Most use cases can be deployed by running all OpenStack services in one host. It’s convenient for development.
• Multiple nodes deployment is also required to simulate real life cases.
Keystone
Horizon
Nova
Neutron
Ironic
Glance
DevStack
OpenStack Host
Control Node
DevStack
Keystone Horizon
Glance Neutron
Compute Node
DevStack
Nova
Storage Node
OSD
OpenStack in One Host OpenStack in Separated Nodes
Nova – Patches for AArch64
• Critical patches for Nova enablement on AArch64 – Set SCSI as the default disk controller on AArch64 (Merged) – Add support for libvirt virtio-mmio address type (Merged) – Set cpu-mode to host-passthrough on AArch64 (Merged) – Set virtio-scsi as the default CDROM bus for AArch64 (Merged)
• Others – Fix Nova unit tests on AArch64 (Merged) – Fixup Magnum deployment manual (Merged) – Pick the first available disk as configure drive – Fix default console type name for AArch64 – Un-define libvirt domain with "--nvram" parameter – Fix deletion failure of NVRAM enabled VM
Ironic – AArch64 Provisioning
New Features Enabled On AArch64
Deploy AArch64 Node by AArch64 Server
Deploy x86 Node by AArch64 Server
Deploy AArch64 Node by x86 Server
Host
Bare-metal
Provision
Storage – Status
• Block storage (RBD) and Object storage (OSD) are enabled on AArch64.
– Features verified by Ceph unit tests.
• Ceph integration with OpenStack.
– Ceph RBD integration with OpenStack is enabled.
– Ceph OSD integration with OpenStack is ongoing.
• Ceph benchmark and profiling is ongoing.
Storage – Test Setup
• For function verification, it’s convenient to deploy storage services in VMs running in one AArch64 machine.
• For performance test, separated AArch64 nodes are used.
Ceph Test Node
MON
OSD
OSD
RBD
VM-1 VM-2 VM-3 VM-4
Monitor Node
MON
OSD Node
OSD
RBD Node
RBD
OSD Node
OSD
Storage in Separated Nodes Storage in One Host
Cluster Network
Virtual Network
Control Network
Admin Node
Neutron Neutron core services and agents, OpenDaylight plugin and DPDK are enabled and verified on AArch64. • Neutron Tempest test report
ML2 Plugin L3 Plugin
Type Drivers
FLAT
VLA
N
GR
E
VX
LAN
Mechanism Drivers
Op
en vSw
tich
Linu
x Brid
ge
Op
enD
aylight
Op
en vSw
tich
Op
enD
aylight
OV
S + DP
DK
Other Services
DH
CP, D
NS
Meta D
ata
Meterin
g
…
Neutron API
OV
S + DP
DK
Upstream • All patches must pass internally review before upstream.
• All patches must pass AArch64 CI tests. Currently, only project specific unit tests (tox) are included.
AArch64 Development Environment • Five pieces of Overdrive 3000 servers are used for
AArch64 workloads deployment and development.
• They are provisioned and managed by MaaS.
References
• OpenStack Architecture
– https://www.openstack.org/software/
– http://docs.openstack.org/liberty/install-guide-obs/common/get_started_conceptual_architecture.html
• Nova Feature Support Matrix
– http://docs.openstack.org/developer/nova/support-matrix.html
• Ceph Storage
– http://docs.ceph.com/docs/master/radosgw/
– http://docs.ceph.com/docs/master/rbd/rbd/