openstack on aarch64 - schd.wsschd.ws/hosted_files/lc3china2017/c5/openstack on... · openstack on...

16
OpenStack on AArch64 Yibo Cai

Upload: doancong

Post on 03-May-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

OpenStack on AArch64

Yibo Cai

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

OpenStack Enablement on AArch64 Enabled

Ongoing

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

Ironic – Test Setup

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.