# 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. - hosts: primary environment: LIBVIRT_DEFAULT_URI: qemu:///system tasks: - name: set default vars set_fact: var_files_default: - airship-ipam.yaml - test-config.yaml - name: read test variables include_vars: file: "vars/{{ var_file }}" with_items: "{{ var_files | default(var_files_default) }}" loop_control: loop_var: var_file - name: docker install include_role: name: docker-install - name: install kustomize include_role: name: install-kustomize # Installs kustomize plugin functionality needed for rendering below - name: install airshipctl shell: | cd {{ local_src_dir | default(zuul.project.src_dir) }} ./tools/deployment/21_systemwide_executable.sh - name: make sure serve directory exists file: dest: "{{ serve_dir }}" state: directory mode: "0755" owner: "{{ ansible_user }}" become: yes - name: get BareMetalHost from model block: - name: ensure tempdir for airshipctl does not exist file: path: "{{ remote_work_dir }}" state: absent when: remote_work_dir is defined - name: clone document model command: git clone -q {{ airship_config_phase_repo_url }} {{ remote_work_dir }} when: remote_work_dir is defined - name: get VM config(MACs and bootMode) from BareMetalHost objects include_tasks: file: get-vm-config.yaml vars: name: "{{ roleinputvar.name }}" path: "{{ roleinputvar.path }}" loop: - { name: 'target', path: 'ephemeral/controlplane' } - { name: 'ephemeral', path: 'ephemeral/bootstrap' } - { name: 'worker', path: 'target/workers' } loop_control: loop_var: roleinputvar - name: deploy-gate include_role: name: airship-libvirt-gate vars: gate_flavor: medium gate_action: build-infra airship_gate_libvirt_pools: - path: /var/lib/libvirt/airship name: "airship" - path: /var/lib/libvirt/images name: "default" airship_gate_flavors: medium: disk_format: qcow2 ephemeral_disk_size: 20G ephemeral_vm_cfg: "{{ ephemeral_vm_cfg }}" ephemeral_vm_memory_mb: 6124 ephemeral_vm_vcpus: 4 target_disk_size: 10G target_vm_cfg: "{{ target_vm_cfg }}" target_vm_memory_mb: 4096 target_vm_vcpus: 2 target_vms_count: 1 worker_disk_size: 10G worker_vm_cfg: "{{ worker_vm_cfg }}" worker_vm_memory_mb: 1024 worker_vm_vcpus: 1 worker_vms_count: 1 airship_gate_file_exchanger: servername: "localhost" ip: - "127.0.0.1" - "::1" - "{{ airship_gate_ipam.provision_network.bridge_ip }}" http_port: "{{ serve_port }}" path: "{{ serve_dir }}" user: - username: "username" password: "password" group: - name: writers member: - username rbac: policies: - role: - PUT group: - writers default: all: granted