139 lines
5.2 KiB
Django/Jinja
139 lines
5.2 KiB
Django/Jinja
# First install Ansible and run the launcher-env-setup-playbook.
|
|
#
|
|
# From the same dir, run:
|
|
# >> ansible-playbook launcher-playbook.yaml -vv
|
|
#
|
|
# To run the libvirt option (available for non-OVB jobs):
|
|
# Clone https://github.com/openstack/tripleo-quickstart and run:
|
|
# >> ansible-playbook launcher-playbook.yaml \
|
|
# -e nodepool_provider=libvirt \
|
|
# -e mirror_path=mirror.mtl01.inap.opendev.org
|
|
#
|
|
# To split mirror_path into different values for packages and pypi, use f.e.:
|
|
# ...
|
|
# -e mirror_fqdn=mirror.mtl01.inap.opendev.org \
|
|
# -e package_mirror=http://mirror.centos.org/centos
|
|
# -e pypi_fqdn=mirror.mtl02.inap.opendev.org \
|
|
#
|
|
# To run on a different cloud defined in clouds.yaml ( default is rdo-cloud):
|
|
# >> ansible-playbook launcher-playbook.yaml \
|
|
# -e cloud_name='<custom cloud>'
|
|
#
|
|
# To run with a different clouds.yaml
|
|
# >> ansible-playbook launcher-playbook.yaml \
|
|
# -e clouds_yaml_path='<full path to yaml file>'
|
|
#
|
|
# To force the job into failing status in order to hold the nodes (temporary option):
|
|
# >> ansible-playbook launcher-playbook.yaml \
|
|
# -e force_post_failure=true
|
|
#
|
|
# If your upstream gerrit user or rdo gerit user (and/or keys) are different
|
|
# from your current $USER, there are options to set for each of those values.
|
|
# See the reproducer-zuul-based-quickstart.sh for the options details.
|
|
|
|
{% raw %}
|
|
- hosts: localhost
|
|
tasks:
|
|
- name: Add the localhost to the inventory
|
|
add_host:
|
|
name: "localhost"
|
|
groups: "localhost"
|
|
ansible_host: 127.0.0.1
|
|
ansible_connection: local
|
|
|
|
- name: Add the primary to the inventory
|
|
add_host:
|
|
name: "localhost"
|
|
groups: "primary"
|
|
ansible_fqdn: "localhost"
|
|
ansible_user: "{{ lookup('env', 'USER') }}"
|
|
ansible_private_key_file: "/home/{{ ansible_user }}/.ssh/{{ user_pri_key | default('id_rsa') }}"
|
|
ansible_host: "localhost"
|
|
{% endraw %}
|
|
|
|
- import_playbook: playbooks/tripleo-ci-reproducer/pre.yaml
|
|
|
|
- hosts: localhost
|
|
vars:
|
|
{% raw -%}
|
|
clouds_yaml_path: "/home/{{ ansible_user }}/.config/openstack/clouds.yaml"
|
|
{% endraw -%}
|
|
ovb_key_name: tripleo-ci-team
|
|
mirror_path: "{{ mirror_path }}"
|
|
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn | default(mirror_path) }}"
|
|
mirror_fqdn: "{{ mirror_fqdn | default(mirror_path) }}"
|
|
pypi_fqdn: "{{ pypi_fqdn | default(mirror_path) }}"
|
|
{% if package_mirror is defined -%}
|
|
package_mirror: "{{ package_mirror }}"
|
|
{% endif -%}
|
|
launch_job_branch: {{ zuul.branch }}
|
|
{% if 'periodic' not in zuul.job -%}
|
|
depends_on:
|
|
- {{ zuul.change_url }}
|
|
{% endif %}
|
|
|
|
zuul_yaml: >-
|
|
- project:
|
|
check:
|
|
jobs:
|
|
- {{ zuul.job }}-dlrn-hash-tag
|
|
|
|
- job:
|
|
name: {{ zuul.job }}-dlrn-hash-tag
|
|
parent: {{ zuul.job }}
|
|
vars:
|
|
{% if 'ovb' in zuul.job -%}
|
|
{% raw -%}
|
|
cloud_secrets:
|
|
rdocloud:
|
|
{{ lookup('file', '{{ clouds_yaml_path }}') | regex_search('username: (.+)') }}
|
|
{{ lookup('file', '{{ clouds_yaml_path }}') | regex_search('password: (.+)') }}
|
|
{{ lookup('file', '{{ clouds_yaml_path }}') | regex_search('project_name: (.+)') }}
|
|
auth_url: https://phx2.cloud.rdoproject.org:13000/v3
|
|
region_name: regionOne
|
|
identity_api_version: 3
|
|
user_domain_name: Default
|
|
project_domain_name: Default
|
|
key_name: {{ ovb_key_name }}
|
|
{% endraw -%}
|
|
cloud_settings:
|
|
rdocloud:
|
|
public_ip_net: 38.145.32.0/22
|
|
undercloud_flavor: m1.large
|
|
baremetal_flavor: m1.large
|
|
bmc_flavor: m1.medium
|
|
extra_node_flavor: m1.small
|
|
baremetal_image: CentOS-7-x86_64-GenericCloud-1804_02
|
|
remove_ovb_after_job: false
|
|
{% endif -%}
|
|
{% raw -%}
|
|
zuul_site_mirror_fqdn: {{ zuul_site_mirror_fqdn }}
|
|
mirror_fqdn: {{ mirror_fqdn }}
|
|
pypi_fqdn: {{ pypi_fqdn }}
|
|
package_mirror: {{ package_mirror }}
|
|
{% endraw -%}
|
|
{% if releases_file_output is defined -%}
|
|
ready_releases_file: |
|
|
{{ releases_file_output | replace('export', ' export') }}
|
|
{% endif -%}
|
|
{% if 'periodic' in zuul.job -%}
|
|
force_periodic: true
|
|
{% endif -%}
|
|
registry_login_enabled: false
|
|
featureset_override:
|
|
{% if job.featureset_override is defined -%}
|
|
{{ job.featureset_override | to_nice_yaml | indent(14) }}
|
|
{% endif -%}
|
|
{% if releases_file_output is not defined -%}
|
|
{% if dlrn_hash is defined or ('undercloud' in hostvars and 'dlrn_hash' in hostvars['undercloud']) -%}
|
|
dlrn_hash_tag: {{ hostvars['undercloud'].dlrn_hash }}
|
|
{% endif -%}
|
|
{% if dlrn_hash_newest is defined or ('undercloud' in hostvars and 'dlrn_hash_newest' in hostvars['undercloud']) -%}
|
|
dlrn_hash_tag_newest: {{ hostvars['undercloud'].dlrn_hash_newest }}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
tasks:
|
|
- import_role:
|
|
name: ansible-role-tripleo-ci-reproducer
|