-
Notifications
You must be signed in to change notification settings - Fork 0
Openstack Liberty
In general, the instructions in the Liberty install guide should be followed: http://docs.openstack.org/liberty/install-guide-ubuntu/overview.html. This guide will describe changes to the documented procedures that should be kept in mind while going through the guide.
Each section below will correspond to a section in the guide. Guide sections that do not have a corresponding section below may be followed as-is.
An image must be configured specially in glance to be able to boot correctly on aarch64.
To attach the devices to the virtio bus (which does not allow hotplugging a volume, but will work if the image does not have SCSI support), the following properties must be set:
--property hw_machine_type=virt --property os_command_line='root=/dev/vda rw rootwait console=ttyAMA0' --property hw_cdrom_bus=virtio
To attach the devices to the SCSI bus (which does allow hotplugging a volume, but might not be supported by the guest image), the following properties must be set:
--property hw_scsi_model='virtio-scsi' --property hw_disk_bus='scsi' --property os_command_line='root=/dev/sda rw rootwait console=ttyAMA0'
You can set these properties when you are uploading the image into glance, or modify the image if you have already uploaded it.
Verify that the linaro-overlay
and jessie-backports
repositories are enabled.
Check if they are available by checking /etc/apt/sources.list
and /etc/apt/sources.list.d
. If missing, add the following to /etc/apt/sources.list.d
directory:
$ echo "deb http://repo.linaro.org/ubuntu/linaro-overlay jessie main" | sudo tee /etc/apt/sources.list.d/linaro-overlay-repo.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E13D88F7E3C1D56C
If missing, add the following to /etc/apt/sources.list.d directory:
$ echo "deb http://httpredir.debian.org/debian jessie-backports main" | sudo tee /etc/apt/sources.list.d/jessie-backports.list
Create /etc/apt/preferences.d/jessie-backports
:
Package: *
Pin: release a=jessie-backports
Pin-Priority: 500
Then, make sure to run apt-get update:
$ sudo apt-get update
Update /etc/hosts
to add “controller” as an alias for localhost.
127.0.0.1 localhost controller
Add the following to /etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
Run sysctl to apply the changes:
$ sudo sysctl -p
OpenStack guide: http://docs.openstack.org/liberty/install-guide-ubuntu/overview.html
Do not enable the cloud-archive:liberty
repository.
Install some dependencies:
$ sudo apt-get install openstack-cloud-services
Answer the questions asked by debconf:
- New password for the MySQL root user: <enter a password -- possibly "root">
Install the openstack client:
$ sudo apt-get install python-openstackclient python-pymysql
The instructions in this section are not required, as Telemetry is not installed.
Follow the Openstack guide with the exception of the following changes documented here.
Omit this section of the guide. These operations will be done during meta package installation later.
Install the apache and the keystone meta package:
$ sudo apt-get install openstack-cloud-identity
Answer the questions asked by debconf:
- Set up a database for Keystone: Yes
- Configure database for keystone with dbconfig-common: Yes
- Database type to be used by keystone: mysql
- Password of the database's administrative user: <use the password you used during database install>
- MySQL application password for keystone: <enter a password>
- Authentication server administration token: <enter a token value>
- Register administration tenants? Yes
- Password of the administrative user: <enter a password>
- Register Keystone endpoint? Yes
- Keystone endpoint IP address: <use default>
Omit this section of the guide.
Omit this section of the guide.
Omit this section of the guide.
Omit this section of the guide.
Follow the Openstack guide with the exception of the following changes documented here.
Omit this section of the guide. These operations will be done during package installation later.
$ sudo apt-get install glance python-glanceclient
Answer the questions asked by debconf:
- Set up a database for Glance: Yes
- Configure database for glance-common with dbconfig-common? Yes
- Database type to be used by glance-common: mysql
- Password of the database's administrative user: <enter a password>
- MySQL application password for glance-common: <enter a password>
- IP address of your RabbitMQ host: <use default, or localhost, or controller>
- Username for connection to the RabbitMQ server: guest
- Password for connection to the RabbitMQ server: guest
- Pipeline flavor: keystone
- Authentication server hostname: <use default, or localhost, or controller>
- Authentication server password: <enter a password>
- Register Glance in the Keystone endpoint catalog? Yes
- Keystone authentication token: <enter the keystone token>
Omit this section of the guide.
The CirrOS image to run on aarch64 is the file that ends in -uec.tar.gz
. It must be extracted and each file (kernel, initrd, disk image) uploaded to Glance separately.
Download the CirrOS AArch64 UEC tarball and untar it:
$ wget http://download.cirros-cloud.net/daily/20150923/cirros-d150923-aarch64-uec.tar.gz
$ tar xvf cirros-d150923-aarch64-uec.tar.gz
Upload the image parts into Glance. You will need to make note of the IDs assigned to the kernel and initrd and pass them on the command line when uploading the disk image:
$ glance image-create --name "cirros-kernel" --visibility public --progress \
--container-format aki --disk-format aki --file cirros-d150923-aarch64-vmlinuz
$ glance image-create --name "cirros-initrd" --visibility public --progress \
--container-format ari --disk-format ari --file cirros-d150923-aarch64-initrd
$ glance image-create --name "cirros" --visibility public --progress \
--property hw_machine_type=virt --property hw_cdrom_bus=virtio \
--property os_command_line='console=ttyAMA0' \
--property kernel_id=<kernel_id> --property ramdisk_id=<initrd_id> \
--container-format ami --disk-format ami --file cirros-d150923-aarch64-blank.img
Follow the Openstack guide with the exception of the following changes documented here.
Omit this section of the guide. These operations will be done during package installation later.
$ sudo apt-get install nova-api nova-cert nova-conductor \
nova-consoleauth nova-scheduler \
python-novaclient nova-compute
Answer the questions asked by debconf:
- Set up a database for Nova: Yes
- Configure database for nova-common with dbconfig-common? Yes
- Database type to be used by nova-common: mysql
- Password of the database's administrative user: <enter a password>
- MySQL application password for nova-common: <enter a password>
- IP address of your RabbitMQ host: <use default, or localhost, or controller>
- Username for connection to the RabbitMQ server: guest
- Password for connection to the RabbitMQ server: guest
- Auth server hostname: <use default, or localhost, or controller>
- Auth server password: <enter a password>
- Neutron server URL: http://<use default, or localhost, or controller>:9696
- Neutron administrator password: <enter a password>
- Metadata proxy shared secret: <enter a shared secret string>
- API to activate: choose osapi_compute and metadata
- Value for my_ip: <default>
- Register Nova in the Keystone endpoint catalog? Yes
- Keystone authentication token: <enter the keystone token>
Ensure that vnc and spice are disabled in /etc/nova/nova.conf
. Look for the following keys in nova.conf
and set them to False:
[vnc]
enabled = False
[spice]
enabled = False
If you make changes to nova.conf, restart the nova services:
$ sudo service nova-compute restart
Follow the Openstack guide with the exception of the following changes documented here.
Omit this section of the guide. These operations will be done during package installation later.
$ sudo apt-get install neutron-server neutron-plugin-ml2 \
neutron-plugin-linuxbridge-agent neutron-dhcp-agent \
neutron-metadata-agent python-neutronclient
Answer the questions asked by debconf:
- neutron-common
- Set up a database for Neutron: Yes
- Configure database for neutron-common with dbconfig-common? Yes
- Database type to be used by neutron-common: mysql
- Password of the database's administrative user: <enter a password>
- MySQL application password for neutron-common: <enter a password>
- IP address of your RabbitMQ host: <use default, or localhost, or controller>
- Username for connection to the RabbitMQ server: guest
- Password for connection to the RabbitMQ server: guest
- Authentication server hostname: <use default, or localhost, or controller>
- Authentication server password: <enter a password>
- Neutron plugin: ml2
- neutron-metadata-agent
- Auth server hostname: <use default, or localhost, or controller>
- Auth server password: <enter a password>
- Name of the region to be used by the metadata server: <default>
- Metadata proxy shared secret: <enter the shared secret string entered for Nova>
- neutron-server
- Register Neutron in the Keystone endpoint catalog? Yes
- Keystone authentication token: <enter the keystone token>
Omit this section of the guide.
Follow section “Public provider network”
Follow section “Launch an instance on the public network”
NOTE: Accessing an image via the virtual console (VNC) will not work, as VNC is not supported. You may access the console log using the following command:
$ nova console-log --length=10 INSTANCE_ID