From 0ab13ed1c3e71d416be3387c4e57e30c92d5ff4f Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Mon, 27 Apr 2020 15:23:19 +0200 Subject: [PATCH] Remove plays since they are now bundled --- .../converge.yml | 7 -- .../{{cookiecutter.scenario_name}}/create.yml | 87 ------------------- .../destroy.yml | 58 ------------- 3 files changed, 152 deletions(-) delete mode 100644 {{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/converge.yml delete mode 100644 {{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml delete mode 100644 {{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml diff --git a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/converge.yml b/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/converge.yml deleted file mode 100644 index fecf1c8..0000000 --- a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/converge.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Converge - hosts: all - tasks: - - name: "Include {{ cookiecutter.role_name }}" - include_role: - name: "{{ cookiecutter.role_name }}" diff --git a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml b/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml deleted file mode 100644 index d964d5b..0000000 --- a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml +++ /dev/null @@ -1,87 +0,0 @@ ---- -{% raw -%} -- name: Create - hosts: localhost - connection: local - gather_facts: false - no_log: "{{ molecule_no_log }}" - vars: - ssh_port: 22 - ssh_user: root - ssh_path: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}/ssh_key" - tasks: - - name: Create SSH key - openssh_keypair: - path: "{{ ssh_path }}" - force: true - register: generated_ssh_key - - - name: Register the SSH key name - set_fact: - ssh_key_name: "molecule-generated-{{ 12345 | random | to_uuid }}" - - - name: Register SSH key for test instance(s) - hcloud_ssh_key: - name: "{{ ssh_key_name }}" - public_key: "{{ generated_ssh_key.public_key }}" - api_token: "{{ lookup('env', 'HCLOUD_TOKEN') }}" - state: present - - - name: Create molecule instance(s) - hcloud_server: - name: "{{ item.name }}" - server_type: "{{ item.server_type }}" - ssh_keys: - - "{{ ssh_key_name }}" - volumes: "{{ item.volumes | default(omit) }}" - image: "{{ item.image }}" - location: "{{ item.location | default(omit) }}" - datacenter: "{{ item.datacenter | default(omit) }}" - user_data: "{{ item.user_data | default(omit) }}" - api_token: "{{ lookup('env', 'HCLOUD_TOKEN') }}" - state: present - register: server - with_items: "{{ molecule_yml.platforms }}" - async: 7200 - poll: 0 - - - name: Wait for instance(s) creation to complete - async_status: - jid: "{{ item.ansible_job_id }}" - register: hetzner_jobs - until: hetzner_jobs.finished - retries: 300 - with_items: "{{ server.results }}" - - - name: Populate instance config dict - set_fact: - instance_conf_dict: { - 'instance': "{{ item.hcloud_server.name }}", - 'ssh_key_name': "{{ ssh_key_name }}", - 'address': "{{ item.hcloud_server.ipv4_address }}", - 'user': "{{ ssh_user }}", - 'port': "{{ ssh_port }}", - 'identity_file': "{{ ssh_path }}", } - with_items: "{{ hetzner_jobs.results }}" - register: instance_config_dict - when: server.changed | bool - - - name: Convert instance config dict to a list - set_fact: - instance_conf: "{{ instance_config_dict.results | map(attribute='ansible_facts.instance_conf_dict') | list }}" - when: server.changed | bool - - - name: Dump instance config - copy: - content: "{{ instance_conf | to_json | from_json | molecule_to_yaml | molecule_header }}" - dest: "{{ molecule_instance_config }}" - when: server.changed | bool - - - name: Wait for SSH - wait_for: - port: "{{ ssh_port }}" - host: "{{ item.address }}" - search_regex: SSH - delay: 10 - with_items: "{{ lookup('file', molecule_instance_config) | molecule_from_yaml }}" -{%- endraw %} diff --git a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml b/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml deleted file mode 100644 index afd44a2..0000000 --- a/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml +++ /dev/null @@ -1,58 +0,0 @@ ---- -{% raw -%} -- name: Destroy - hosts: localhost - connection: local - gather_facts: false - no_log: "{{ molecule_no_log }}" - tasks: - - name: Populate the instance config - block: - - name: Populate instance config from file - set_fact: - instance_conf: "{{ lookup('file', molecule_instance_config) | molecule_from_yaml }}" - skip_instances: false - rescue: - - name: Populate instance config when file missing - set_fact: - instance_conf: {} - skip_instances: true - - - name: Destroy molecule instance(s) - hcloud_server: - name: "{{ item.instance }}" - api_token: "{{ lookup('env', 'HCLOUD_TOKEN') }}" - state: absent - register: server - with_items: "{{ instance_conf }}" - when: not skip_instances - async: 7200 - poll: 0 - - - name: Wait for instance(s) deletion to complete - async_status: - jid: "{{ item.ansible_job_id }}" - register: hetzner_jobs - until: hetzner_jobs.finished - retries: 300 - with_items: "{{ server.results }}" - - - name: Remove registered SSH key - hcloud_ssh_key: - name: "{{ instance_conf[0].ssh_key_name }}" - api_token: "{{ lookup('env', 'HCLOUD_TOKEN') }}" - state: absent - when: - - not skip_instances - - instance_conf | length # must contain at least one instance - - - name: Populate instance config - set_fact: - instance_conf: {} - - - name: Dump instance config - copy: - content: "{{ instance_conf | molecule_to_yaml | molecule_header }}" - dest: "{{ molecule_instance_config }}" - when: server.changed | bool -{%- endraw %}