diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2025-10-07 19:57:40 +0200 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2025-10-09 13:05:44 +0000 |
| commit | 10e719f9d8b4b8d8efbc00e9a69ae6984b4a0a10 (patch) | |
| tree | 90d8bdb13cc41d8458f5a1b05e88970039a7b487 /roles | |
| parent | b2f348c4f6a6740c9faafc68b8e2a6fa9d3987ca (diff) | |
| download | kolla-ansible-10e719f9d8b4b8d8efbc00e9a69ae6984b4a0a10.tar.gz kolla-ansible-10e719f9d8b4b8d8efbc00e9a69ae6984b4a0a10.zip | |
CI: Rework deploy.sh to an Ansible role
Change-Id: Iecb212c38732d38f704f1a7d43036f8bbade496a
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/kolla-ansible-deploy/tasks/certificates.yml | 39 | ||||
| -rw-r--r-- | roles/kolla-ansible-deploy/tasks/deploy.yml | 55 | ||||
| -rw-r--r-- | roles/kolla-ansible-deploy/tasks/main.yml | 11 |
3 files changed, 105 insertions, 0 deletions
diff --git a/roles/kolla-ansible-deploy/tasks/certificates.yml b/roles/kolla-ansible-deploy/tasks/certificates.yml new file mode 100644 index 000000000..6296a1dbe --- /dev/null +++ b/roles/kolla-ansible-deploy/tasks/certificates.yml @@ -0,0 +1,39 @@ +--- +- name: Generate self-signed certificates for the optional internal TLS tests + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible certificates + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/certificates 2>&1 + +- name: Init pebble when Lets Encrypt is enabled + when: (le_enabled | default(False)) | bool + block: + - name: "Run pebble container" + become: true + community.docker.docker_container: + name: pebble + image: "ghcr.io/letsencrypt/pebble:latest" + env: + PEBBLE_VA_NOSLEEP: "1" + PEBBLE_VA_ALWAYS_VALID: "1" + network_mode: host + + - name: "Wait for pebble to start" + ansible.builtin.wait_for: + port: 15000 + delay: 3 + + - name: "Copy pebble miniCA to /etc/kolla/certificates" + become: true + ansible.builtin.command: + cmd: "docker cp pebble:/test/certs/pebble.minica.pem /etc/kolla/certificates/ca/pebble-root.crt" + + - name: "Fetch pebble.crt and store it in /etc/kolla/certificates/ca/" + become: true + ansible.builtin.get_url: + url: "https://127.0.0.1:15000/roots/0" + dest: "/etc/kolla/certificates/ca/pebble.crt" + validate_certs: false diff --git a/roles/kolla-ansible-deploy/tasks/deploy.yml b/roles/kolla-ansible-deploy/tasks/deploy.yml new file mode 100644 index 000000000..5b36d7b97 --- /dev/null +++ b/roles/kolla-ansible-deploy/tasks/deploy.yml @@ -0,0 +1,55 @@ +--- +- name: Run kolla-ansible prechecks + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible prechecks + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/deploy-prechecks 2>&1 + +- name: Run kolla-ansible pull + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible pull + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/pull 2>&1 + +- name: Run kolla-ansible deploy + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible deploy + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/deploy 2>&1 + +- name: Run kolla-ansible post-deploy + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible post-deploy + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/post-deploy 2>&1 + +- name: Run kolla-ansible validate-config on upgrades + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible validate-config + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/validate-config 2>&1 + when: not is_upgrade | bool + +- name: Run kolla-ansible check + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible check + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/check 2>&1 diff --git a/roles/kolla-ansible-deploy/tasks/main.yml b/roles/kolla-ansible-deploy/tasks/main.yml new file mode 100644 index 000000000..e02765d99 --- /dev/null +++ b/roles/kolla-ansible-deploy/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: Ensure /etc/kolla is writable + become: true + ansible.builtin.file: + path: /etc/kolla + state: directory + mode: "0777" + recurse: true + +- import_tasks: certificates.yml +- import_tasks: deploy.yml |
