As one of the community-wide goals, devstack has shifted to Ubuntu Jammy from Antelope cycle [1]. So, add playbooks for Jammy to installer. Although Focal support is still remained so that you can setup your environment on older version, but will be removed later. There are some additional updates. * Add bento as supported boxes which are well maintained more. * Use experimental Vagrant Disk to expand disk space on logical volume because for Ubuntu images of bento. * Change to use ssh key in ed25519 instead of rsa because it was deprecated in Jammy as default. [1] https://lists.openstack.org/pipermail/openstack-discuss/2022-October/030845.html Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com> Change-Id: I65b209a8ff2bd46adf2a4ee507ef7eee099d1b13
3.0 KiB
Devstack Installer for Tacker
What is this
Deployment tool for devstack for testing multi-VM OpenStack environment, consists of vagrant and ansible.
It only supports Ubuntu on VirtualBox currently.
How to use
Requirements
You need to install required software before running this tool. Please follow instructions on official sites for installation.
Please also notice the version of vagrant supporting experimental feature
Vagrant Disks for
expanding the size of volume if you use Ubuntu box image.
For other boxes than Ubuntu, plugin vagrant-disksize
is required instead as
below. It is because the default size is not enough for deploying OpenStack
environment.
$ vagrant plugin install vagrant-disksize
Here is a list of current supported boxes in this tool.
- bento/ubuntu-22.04
- bento/ubuntu-20.04
- ubuntu/jammy64
- ubuntu/focal64
- bento/centos-stream-8
- centos/stream8
Configure and Fire Up VMs
Before launching VMs with vagrant, configure machines.yml
, which defines
parameters of each VM you deploy. It should be placed at project root, or failed
to run vagrant up
. You can use template files in samples
directory.
$ cp samples/machines.yml .
$ YOUR_FAVORITE_EDITOR machines.yml
You should take care about private_ips
which is used in hosts
for
ansible-playbook
as explained later.
You should confirm you have a SSH key before you run the command. This tool
expects the type of your key is not rsa
but ed25519
because rsa
was deprecated as default in Ubuntu 22.04.
Update key path ssh_pub_key
in machines.yml
without your key is
~/.ssh/id_ed25519.pub
.
Run vagrant up
after configurations are done. It launches VMs and create a
user stack
on them.
$ vagrant up
If vagrant up
is completed successfully, you are ready to login to VMs as
stack
user with your SSH public key.
Setup Devstack
This tool provides ansible playbooks for setting up devstack. You should update
entries of IP addresses in hosts
as you defined private_ips
in
machines.yml
.
There are some parameters in group_vars/all.yml
such as password on devstack
or optional configurations. You don't need to update it usually.
$ ansible-playbook -i hosts site.yaml
After finished ansible's tasks, you can login to launched VMs with hostname you
defined in machines.yml
.
So, let's login to controller node and OpenStack. You will find that two
examples of local.conf
are prepared in $HOME/devstack
for your environment.
- local.conf.example
- local.conf.kubernetes
$ ssh stack@192.168.56.11
$ cd devstack
$ cp local.conf.kubernetes local.conf
$ ./stack.sh
See instruction how to configure local.conf
described in
DevStack Quick Start.