Browse Source

Add install-devstack role

This adds a role that installs OpenStack via devstack for end-users.
This lets any job for a project which uses OpenStack as a client
install an OpenStack for testing.

Change-Id: Ic561c7c67b563e3cee7acbcbddc4ae463a695e97
changes/57/667157/3
James E. Blair 5 months ago
parent
commit
23f9f9ae6c
5 changed files with 52 additions and 0 deletions
  1. +4
    -0
      doc/source/cloud-roles.rst
  2. +1
    -0
      doc/source/roles.rst
  3. +12
    -0
      roles/install-devstack/README.rst
  4. +20
    -0
      roles/install-devstack/tasks/main.yaml
  5. +15
    -0
      roles/install-devstack/templates/local.conf.j2

+ 4
- 0
doc/source/cloud-roles.rst View File

@@ -0,0 +1,4 @@
Cloud Computing Roles
=====================

.. zuul:autorole:: install-devstack

+ 1
- 0
doc/source/roles.rst View File

@@ -8,6 +8,7 @@ Roles
log-roles
afs-roles
container-roles
cloud-roles
deprecated-roles
galaxy-roles
js-roles

+ 12
- 0
roles/install-devstack/README.rst View File

@@ -0,0 +1,12 @@
Install OpenStack using devstack.

There are currently no configuration options available. This role
uses the devstack default settings, except that it does not install
horizon, tempest, cinder, or swift, and it supplies a restricted
network configuration designed to work in the maximum number of
environments.

.. warning:: Do not use this role for testing changes to OpenStack or
OpenStack related projects. Use the ``devstack`` job
defined in the https://opendev.org/openstack/devstack
project instead.

+ 20
- 0
roles/install-devstack/tasks/main.yaml View File

@@ -0,0 +1,20 @@
- name: Set ownership of /opt
become: true
file:
path: /opt
state: directory
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
- name: Clone devstack
git:
repo: https://opendev.org/openstack/devstack
dest: /opt/devstack
version: master
- name: Write local.conf
template:
dest: /opt/devstack/local.conf
src: local.conf.j2
- name: Run devstack
command: ./stack.sh
args:
chdir: /opt/devstack

+ 15
- 0
roles/install-devstack/templates/local.conf.j2 View File

@@ -0,0 +1,15 @@
[[local|localrc]]
disable_service horizon
disable_service tempest
disable_service cinder
disable_service swift
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
NETWORK_GATEWAY=10.1.0.1
FIXED_RANGE=10.1.0.0/20
IPV4_ADDRS_SAFE_TO_USE=10.1.0.0/20
FLOATING_RANGE=172.24.5.0/24
PUBLIC_NETWORK_GATEWAY=172.24.5.1
LIBVIRT_TYPE=qemu

Loading…
Cancel
Save