
The role documentation titles were too long, and being truncated in the site sidebar. This change shortens the title names so that the its easier to navigate the documentation. An update has been made to the role-addition playbook so that the new role titles are generated with the shorter length. Change-Id: Icee3c318ac0049eda586c2696d732415575eaa40 Signed-off-by: Kevin Carter <kecarter@redhat.com>
126 lines
4.3 KiB
YAML
126 lines
4.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: Add tox config
|
|
ini_file:
|
|
path: tox.ini
|
|
section: "testenv:mol-{{ role_name }}"
|
|
option: "{{ item.key }}"
|
|
value: "{{ item.value }}"
|
|
with_items:
|
|
- key: "basepython"
|
|
value: "{[testenv:mol]basepython}"
|
|
- key: "deps"
|
|
value: "{[testenv:mol]deps}"
|
|
- key: "changedir"
|
|
value: "{toxinidir}/tripleo_ansible/roles/{{ role_name }}"
|
|
- key: "commands"
|
|
value: "python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py"
|
|
|
|
- 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",
|
|
"files": [
|
|
"^tripleo_ansible/roles/" ~ role_name ~ "/.*"
|
|
],
|
|
"vars": {
|
|
"tox_envlist": "mol-" ~ 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) }}
|
|
|
|
This role provides for the following services:
|
|
|
|
* {{ role_name }}
|
|
|
|
|
|
Default variables
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
.. literalinclude:: ../../../tripleo_ansible/roles/{{ role_name }}/defaults/main.yml
|
|
:language: yaml
|
|
:start-after: under the License.
|
|
|
|
|
|
Example playbook
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
.. literalinclude:: ../../../tripleo_ansible/roles/{{ role_name }}/molecule/default/playbook.yml
|
|
:language: yaml
|
|
:start-after: under the License.
|
|
dest: "doc/source/roles/role-{{ role_name }}.rst"
|