* project: update all dependencies including ansible Upgrade to ansible 7.x and ansible-core 2.14.x. There seems to be issue with ansible 8/ansible-core 2.15 so we remain on those versions for now. It's quite a big bump already anyway. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * tests: install aws galaxy collection Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * ansible-lint: disable various rules after ansible upgrade Temporarily disable a bunch of linting action following ansible upgrade. Those should be taken care of separately. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve deprecated-module ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve no-free-form ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[meta] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[playbook] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[tasks] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve risky-file-permissions ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve risky-shell-pipe ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: remove deprecated warn args Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: use fqcn for non builtin tasks Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve syntax-check[missing-file] for contrib playbook Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: use arithmetic inside jinja to fix ansible 6 upgrade Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> --------- Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
93 lines
2.3 KiB
YAML
93 lines
2.3 KiB
YAML
---
|
|
- hosts: localhost
|
|
become: false
|
|
gather_facts: no
|
|
vars:
|
|
state: "present"
|
|
ssh_key_id: "6536865"
|
|
cloud_machine_type: 2gb
|
|
regions:
|
|
- nyc1
|
|
- sfo1
|
|
- nyc2
|
|
- ams2
|
|
- sgp1
|
|
- lon1
|
|
- nyc3
|
|
- ams3
|
|
- fra1
|
|
- tor1
|
|
- sfo2
|
|
- blr1
|
|
cloud_images:
|
|
- fedora-24-x64
|
|
- centos-5-x64
|
|
- centos-5-x32
|
|
- fedora-25-x64
|
|
- debian-7-x64
|
|
- debian-7-x32
|
|
- debian-8-x64
|
|
- debian-8-x32
|
|
- centos-6-x32
|
|
- centos-6-x64
|
|
- ubuntu-16-10-x32
|
|
- ubuntu-16-10-x64
|
|
- freebsd-11-0-x64-zfs
|
|
- freebsd-10-3-x64-zfs
|
|
- ubuntu-12-04-x32
|
|
- ubuntu-12-04-x64
|
|
- ubuntu-16-04-x64
|
|
- ubuntu-16-04-x32
|
|
- ubuntu-14-04-x64
|
|
- ubuntu-14-04-x32
|
|
- centos-7-x64
|
|
- freebsd-11-0-x64
|
|
- freebsd-10-3-x64
|
|
- centos-7-3-1611-x64
|
|
mode: default
|
|
|
|
tasks:
|
|
- name: replace_test_id
|
|
set_fact:
|
|
test_name: "{{ test_id |regex_replace('\\.', '-') }}"
|
|
|
|
- name: show vars
|
|
debug:
|
|
msg: "{{ cloud_region }}, {{ cloud_image }}"
|
|
|
|
- name: set instance names
|
|
set_fact:
|
|
instance_names: >-
|
|
{%- if mode in ['separate', 'ha'] -%}
|
|
["k8s-{{ test_name }}-1", "k8s-{{ test_name }}-2", "k8s-{{ test_name }}-3"]
|
|
{%- else -%}
|
|
["k8s-{{ test_name }}-1", "k8s-{{ test_name }}-2"]
|
|
{%- endif -%}
|
|
|
|
- name: Manage DO instances | {{ state }}
|
|
community.digitalocean.digital_ocean:
|
|
unique_name: yes
|
|
api_token: "{{ lookup('env','DO_API_TOKEN') }}"
|
|
command: "droplet"
|
|
image_id: "{{ cloud_image }}"
|
|
name: "{{ item }}"
|
|
private_networking: no
|
|
region_id: "{{ cloud_region }}"
|
|
size_id: "{{ cloud_machine_type }}"
|
|
ssh_key_ids: "{{ ssh_key_id }}"
|
|
state: "{{ state }}"
|
|
wait: yes
|
|
register: droplets
|
|
with_items: "{{ instance_names }}"
|
|
|
|
- debug: # noqa unnamed-task
|
|
msg: "{{ droplets }}, {{ inventory_path }}"
|
|
when: state == 'present'
|
|
|
|
- name: Template the inventory
|
|
template:
|
|
src: ../templates/inventory-do.j2 # noqa 404 CI templates are not in role_path
|
|
dest: "{{ inventory_path }}"
|
|
mode: 0644
|
|
when: state == 'present'
|