diff --git a/doc/source/cloud-roles.rst b/doc/source/cloud-roles.rst new file mode 100644 index 000000000..da76e7554 --- /dev/null +++ b/doc/source/cloud-roles.rst @@ -0,0 +1,4 @@ +Cloud Computing Roles +===================== + +.. zuul:autorole:: install-devstack diff --git a/doc/source/roles.rst b/doc/source/roles.rst index debc6534d..89be8f5b6 100644 --- a/doc/source/roles.rst +++ b/doc/source/roles.rst @@ -8,6 +8,7 @@ Roles log-roles afs-roles container-roles + cloud-roles deprecated-roles galaxy-roles js-roles diff --git a/roles/install-devstack/README.rst b/roles/install-devstack/README.rst new file mode 100644 index 000000000..98a68b5be --- /dev/null +++ b/roles/install-devstack/README.rst @@ -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. diff --git a/roles/install-devstack/tasks/main.yaml b/roles/install-devstack/tasks/main.yaml new file mode 100644 index 000000000..46a38102e --- /dev/null +++ b/roles/install-devstack/tasks/main.yaml @@ -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 diff --git a/roles/install-devstack/templates/local.conf.j2 b/roles/install-devstack/templates/local.conf.j2 new file mode 100644 index 000000000..c2ac2c3b3 --- /dev/null +++ b/roles/install-devstack/templates/local.conf.j2 @@ -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