Add ensure-reno and ensure-babel roles

ensure-reno was written in openstack-zuul-jobs but it's not openstack
specific (or won't be once we remove the pip install . line)

ensure-babel is a similar role for installing babel.

Change-Id: I7827a63170168db5a6501b28d379e458171d556a
This commit is contained in:
Monty Taylor 2017-11-17 09:02:24 -06:00
parent d0851b0b4a
commit fa63c7b555
No known key found for this signature in database
GPG Key ID: 7BAE94BC7141A594
5 changed files with 93 additions and 0 deletions

View File

@ -0,0 +1,7 @@
Ensure babel is installed
**Role Variables**
.. zuul:rolevar:: constraints_file
Optional path to a pip constraints file for installing python libraries.

View File

@ -0,0 +1,32 @@
- name: Install gettext package
package:
name: gettext
state: present
become: yes
- name: Check to see if the constraints file exists
stat:
path: "{{ constraints_file|default('missing') }}"
get_checksum: false
get_mime: false
get_md5: false
register: stat_results
when: constraints_file is defined
- name: Record file location
set_fact:
upper_constraints: "-c {{ constraints_file }}"
when: not stat_results|skipped and stat_results.stat.exists
- name: Install babel
pip:
name:
- pbr
- Babel
- lxml
- requests
# Install subunit for the subunit output stream for
# healthcheck.openstack.org.
# TODO(mordred) Does this need to be os-testr or can it just be subunit?
- os-testr
extra_args: "--user {{ upper_constraints|default('') }}"

View File

@ -0,0 +1,14 @@
Ensure reno is installed
**Role Variables**
.. zuul:rolevar:: constraints_file
Optional path to a pip constraints file for installing python libraries.
.. zuul:rolevar:: zuul_work_dir
:default: {{ zuul.project.src_dir }}
Directory to operate in. Needed only for a little while until we have
projects migrated to not need to be installed just to generate
release notes.

View File

@ -0,0 +1 @@
zuul_work_dir: "{{ zuul.project.src_dir }}"

View File

@ -0,0 +1,39 @@
- name: Install gettext package
package:
name: gettext
state: present
become: yes
- name: Check to see if the constraints file exists
stat:
path: "{{ constraints_file|default('missing') }}"
get_checksum: false
get_mime: false
get_md5: false
register: stat_results
when: constraints_file is defined
- name: Record file location
set_fact:
upper_constraints: "-c {{ constraints_file }}"
when: not stat_results|skipped and stat_results.stat.exists
- name: Install reno
pip:
name:
- sphinx
- openstackdocstheme
- reno
extra_args: "--user {{ upper_constraints|default('') }}"
- name: Install extra requirements if needed
shell:
chdir: '{{ zuul_work_dir }}'
executable: /bin/bash
cmd: |
# TODO(jaegerandi): Remove once all repos are fixed.
# Try installing current repo in case it needs to be available for
# example for version number calculation. Ignore any failures here.
if [ -f setup.cfg ] ; then
pip install --user . || true
fi