d9b2ee9f30
The ansible autodoc sphinx plugin has been updated to automatically create role documentation for a given role. Because we can now auto doc all of our roles, all roles with missing documentation have been added. Because the ansible autodoc plugin has been made more functional it has been renamed. The role addition playbook has been updated to use the new autodoc module whenever a role is created. Change-Id: I806217202884fc744fbb26a754617c0125be2857 Signed-off-by: Kevin Carter <kecarter@redhat.com>
93 lines
3.3 KiB
YAML
93 lines
3.3 KiB
YAML
---
|
|
# Copyright 2019 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
- name: Create a new role for TripleO-Ansible
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Check for role name
|
|
fail:
|
|
msg: >-
|
|
The required variable `role_name` is undefined. Check your settings.
|
|
when:
|
|
- role_name is undefined
|
|
|
|
- name: Create role
|
|
command: >-
|
|
ansible-galaxy init
|
|
--role-skeleton=_skeleton_role_
|
|
--init-path=tripleo_ansible/roles {{ role_name }}
|
|
args:
|
|
creates: "tripleo_ansible/roles/{{ role_name }}"
|
|
|
|
- name: Read zuul molecule file
|
|
slurp:
|
|
src: zuul.d/molecule.yaml
|
|
register: molecule_yaml
|
|
|
|
- name: Create molecule entry
|
|
copy:
|
|
content: |-
|
|
---
|
|
{% set items = molecule_yaml['content'] | b64decode | from_yaml %}
|
|
{% set job_index = [] %}
|
|
{% set new_job_name = "tripleo-ansible-centos-7-molecule-" ~ role_name %}
|
|
{% for item in items %}
|
|
{% if 'project-template' in item %}
|
|
{% if item['project-template']['name'] == "tripleo-ansible-molecule-jobs" %}
|
|
{% if not (new_job_name in item['project-template']['check']['jobs']) %}
|
|
{% set _ = item['project-template']['check']['jobs'].append(new_job_name) %}
|
|
{% endif %}
|
|
{% if not (new_job_name in item['project-template']['gate']['jobs']) %}
|
|
{% set _ = item['project-template']['gate']['jobs'].append(new_job_name) %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if item['job']['name'] == new_job_name %}
|
|
{% set _ = job_index.append(new_job_name) %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if (job_index | length) < 1 %}
|
|
{% set new_job = {
|
|
"name": new_job_name,
|
|
"parent": "tripleo-ansible-centos-7-base",
|
|
"files": [
|
|
"^tripleo_ansible/roles/" ~ role_name ~ "/.*"
|
|
],
|
|
"vars": {
|
|
"tripleo_role_name": role_name
|
|
}
|
|
}
|
|
%}
|
|
{% set _ = items.append({"job": new_job}) %}
|
|
{% endif %}
|
|
{{ items | to_nice_yaml(indent=2, width=1337) }}
|
|
dest: zuul.d/molecule.yaml
|
|
|
|
- name: Create role documentation
|
|
copy:
|
|
content: |
|
|
{% set opening = 'Role - ' ~ role_name %}
|
|
{{ '=' * (opening | length) }}
|
|
{{ opening }}
|
|
{{ '=' * (opening | length) }}
|
|
|
|
.. ansibleautoplugin::
|
|
:role: tripleo_ansible/roles/{{ role_name }}
|
|
dest: "doc/source/roles/role-{{ role_name }}.rst"
|