OpenStack Deployment on ARM Server

Registered by Antonio Rosales on 2012-04-28

Rationale:

Make ARM a first class citizen on Openstack.

Goal:

The goal of this blueprint is to ensure OpenStack is able to be deployed on ARM server hardware.

Blueprint information

Status:
Started
Approver:
Antonio Rosales
Priority:
High
Drafter:
Ubuntu Server Team
Direction:
Approved
Assignee:
Chuck Short
Definition:
Approved
Series goal:
Accepted for quantal
Implementation:
Good progress
Milestone target:
milestone icon ubuntu-12.10-beta-2
Started by
Antonio Rosales on 2012-07-11

Related branches

Sprints

Whiteboard

UDS Discussion Points:

Goal is to make ARM Server work as well as x86/amd64 server.

What issues are we are of? Please enumerate below.

    python-greenlet? I don't see a newer package available yet.

    glance?

    Upload image to glance... it usually... n-c has no idea of arch.

    Nova-client (test)

    Glance-client (test)

Nova MaaS/Baremetal is another issue. At OpenStack Summit a trio presented on this wherein an ARM|x86|Tilera Board is treated more or less like a virtual machine. Much (all?) of the infrastructure is already in place to do this. Likely we need to exercise, test-automate, etc this. (Look for Baremetal in the OpenStack Design Summit) Do BOTH LXC and Baremetal Need to test scheduler and create scheduler plugins.
euca2ools (existing issue doesn't recognize arm arch) Use arch-detect (part of d-i)..
At image build time.
lARM lab needs to report into Gerritt
Swift?
Quantum?
Horizon?
Keystone?
Glance?
nova-volume: Cinder? iscsi nova-volumes (needs tb tested)\ ceph needs to be tested
any issues with the underlying tech:
libvirt (detect CPU)
RabbitMQ
Memcached
Apache
Django
MySQL (had some x86 assemblers? mysql falls back to handle it...) Does performance "suck"? NCommander: atomic functions ARM uses the built-ins. Other features (crypto) have asm as well but we don't build those features. INNOdb is the default in precise/quantal. yassl has asm (for other archs.)
openssl (server side): openssl-test can help, gnu-tls may also need checked.
OpenVSwitch
MAAS integration?
Juju? colocation, in particular?
LXC?
Assume KVM is deferred?
Do we want to devel/test/support any hybrid issues?
Similar question for Host Aggregates (an ARM aggregate and an amd64 aggregate in a single Nova implementation)? Or Nova Cells?
Do cloud-init questions need to go here? cloud-init has some hard-coding to archives.ubuntu.com (but ports.ubuntu.com is more apropos for ARM).
Is continuous integration testing on ARM feasible?
Images? What images do we have for nova compute? Make sure we have some and they actually work. LXC
QEMU cloud images ahve been tested and work once the port.ubuntu.com change has been made.
Hardware availability is an on-going issue.
Question: OpenStack is being backported to the LTS. Do we need to test/measure/use/support these backports for ARM?

User Stories

Rutager is a system admin who wants a private cloud with a low power footprint.

ABC micro is a OEM provider who sells an ARM server and wants to provide a private cloud in the box

Assumptions:

Work will be done upstream to make ARM a first class citizen in openstack
Hardware will be available for testing

Test Cases

See above

Release Note: tbd

(?)

Work Items

Work items:
Add support for ARM to euca2ools: DONE
Add support for ports.ubuntu.com to cloud-init: DONE
Add instance archectiture detection support: DONE
Test swift on ARM: POSTPONED
Test quantum on ARM: TODO
Test horizon on ARM: DONE
Test keystone on ARM: DONE
Test glance on ARM: DONE
Test nova on ARM: DONE
Test libvirt on ARM: DONE
Test rabbitmq-server on ARM: DONE
Test openvswitch on ARM: TODO
Test cloud images on ARM: DONE

Dependency tree

* Blueprints in grey have been implemented.