Ansible playbooks for installing OpenStack Newton on Debian stretch using debian official repos. The steps taken follow a standard OpenStack deployment: OpenStack Installation Guide for Ubuntu with some minors modifications to use with Debian.
The deployment schema selected is "Classic with OpenvSwitch", instead of using linux bridges as explained in OpenStack Installation Guide.
These playbooks have been written with the idea of using them in a real deployment with physical servers, but thay can be used too to deploy a OpenStack test environment with vagrant.
IMPORTANT: This is still a work in progress, feel free to open issues on github
- Debian GNU/Linux: stretch (amd64).
- Linux kernel: 4.9.0-4-amd64
- Open vSwitch: 2.6.2
- OpenStack: Newton
- Ansible: 1.7.2
- Vagrant: 1.8.6
- VirtualBox: 5.0.24
Keystone, Glance, Nova, Neutron, Horizon, Cinder and Heat
Tested using an unofficial debian stretch vagrant box available at (use it at your own risk or create your own vagrant box):
https://atlas.hashicorp.com/remram/boxes/debian-9-amd64
You can download and install it locally with:
vagrant box add remram/debian-9-amd64
If you are going to use these playbooks with physical serves, ignore the Vagranfile and configure ansible.cfg properly.
The file groups_var/all contains all variables needed by ansible playbooks and they can be customized if needed. It's mandatory to define the following variables according to your LAN:
controller_external_ip: 192.168.1.101
storage_external_ip: 192.168.1.101
network_node_external_ip: 192.168.1.101
network_node_external_netmask: 255.255.255.0
network_node_external_CIDR: 24
external_gateway: 192.168.1.1
The Vagranfile must be modified too:
controller.vm.network :public_network, bridge: "wlan0" ,ip: "192.168.1.101" # eth2 external
Bring up the scenario (vagrant insecure private key is not used in recent vagrant releases, so the first step is not needed)
chmod 400 vagrant_private_key
vagrant up
ansible-playbook site-aio.yml -s
Open your browser and type in the notification bar http://192.168.1.201 or the corresponding external IP chosen.