diff --git a/molecule/ec2_centos7/molecule.yml b/molecule/ec2_centos7/molecule.yml index eeef1f8a..13821abc 100644 --- a/molecule/ec2_centos7/molecule.yml +++ b/molecule/ec2_centos7/molecule.yml @@ -5,6 +5,7 @@ driver: name: ec2 platforms: - name: "bootstrap1-centos7-${USER:-ci}-${HOSTNAME:-local}" + spot_price: null image: ami-9887c6e7 region: us-east-1 instance_type: m5.xlarge @@ -13,6 +14,7 @@ platforms: - bootstraps - dcos - name: master1-centos7-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-9887c6e7 region: us-east-1 instance_type: m5.xlarge @@ -21,6 +23,7 @@ platforms: - masters - dcos - name: agent1-centos7-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-9887c6e7 region: us-east-1 instance_type: m5.xlarge diff --git a/molecule/ec2_rhel7/molecule.yml b/molecule/ec2_rhel7/molecule.yml index 6f7d835a..f5451a94 100644 --- a/molecule/ec2_rhel7/molecule.yml +++ b/molecule/ec2_rhel7/molecule.yml @@ -5,6 +5,7 @@ driver: name: ec2 platforms: - name: bootstrap1-rhel7-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-011b3ccf1bd6db744 region: us-east-1 instance_type: m5.xlarge @@ -12,6 +13,7 @@ platforms: - bootstraps - dcos - name: master1-rhel7-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-011b3ccf1bd6db744 region: us-east-1 instance_type: m5.xlarge @@ -19,6 +21,7 @@ platforms: - masters - dcos - name: agent1-rhel7-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-011b3ccf1bd6db744 region: us-east-1 instance_type: m5.xlarge diff --git a/molecule/ec2_windows/molecule.yml b/molecule/ec2_windows/molecule.yml index 9eda7868..f0872a85 100644 --- a/molecule/ec2_windows/molecule.yml +++ b/molecule/ec2_windows/molecule.yml @@ -5,6 +5,7 @@ driver: name: delegated platforms: - name: "bootstrap1-windows-${USER:-ci}-${HOSTNAME:-local}" + spot_price: null image: ami-9887c6e7 region: us-east-1 instance_type: m5.xlarge @@ -13,6 +14,7 @@ platforms: - bootstraps - dcos - name: master1-windows-${USER:-ci}-${HOSTNAME:-local} + spot_price: null image: ami-9887c6e7 region: us-east-1 instance_type: m5.xlarge @@ -21,6 +23,7 @@ platforms: - masters - dcos - name: winagent1-windows-${USER:-ci}-${HOSTNAME:-local} + spot_price: null windows: true image: ami-0105f663dc99752af region: us-east-1 diff --git a/roles/dcos_agent_windows/handlers/main.yml b/roles/dcos_agent_windows/handlers/main.yml index e69de29b..1e334857 100644 --- a/roles/dcos_agent_windows/handlers/main.yml +++ b/roles/dcos_agent_windows/handlers/main.yml @@ -0,0 +1,3 @@ +- name: "Re-run setup to use custom facts" + setup: ~ + listen: reload facts diff --git a/roles/dcos_agent_windows/tasks/dcos_upgrade.yml b/roles/dcos_agent_windows/tasks/dcos_upgrade.yml index bd84ea93..a16b5a53 100644 --- a/roles/dcos_agent_windows/tasks/dcos_upgrade.yml +++ b/roles/dcos_agent_windows/tasks/dcos_upgrade.yml @@ -1,18 +1,18 @@ - name: Windows Upgrade | Create upgrade download directory win_file: - path: "{{ base_windows_dir }}\\{{ hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] | default(dcos['version']) }}" + path: "{{ base_windows_dir }}\\{{ dcos_version_specifier }}" state: directory - name: Windows Upgrade | Download dcos_node_upgrade.ps1 win_get_url: - url: "{{ dcos['config']['bootstrap_url'] }}/{{ dcos['version'] }}/genconf/serve/windows/upgrade_from_{{ hostvars[inventory_hostname]['ansible_dcos_installation']['version'] }}/latest/dcos_node_upgrade.ps1" - dest: "{{ base_windows_dir }}\\{{ hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] | default(dcos['version']) }}\\dcos_node_upgrade.ps1" + url: "{{ dcos['config']['bootstrap_url'] }}/{{ dcos_version_specifier }}/genconf/serve/windows/upgrade_from_{{ hostvars[inventory_hostname]['ansible_dcos_installation']['version'] }}/latest/dcos_node_upgrade.ps1" + dest: "{{ base_windows_dir }}\\{{ dcos_version_specifier }}\\dcos_node_upgrade.ps1" force: yes - name: Windows Upgrade | DC/OS Upgrade block: - name: Windows Upgrade | Run DC/OS agent upgrade - win_shell: "{{ base_windows_dir }}\\{{ hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] | default(dcos['version']) }}\\dcos_node_upgrade.ps1" + win_shell: "{{ base_windows_dir }}\\{{ dcos_version_specifier }}\\dcos_node_upgrade.ps1" register: upgrade_shell_stdout always: diff --git a/roles/dcos_agent_windows/tasks/main.yml b/roles/dcos_agent_windows/tasks/main.yml index 6feed675..ff701913 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -1,3 +1,8 @@ +--- +- name: Defining DC/OS by using 'version' or, more specifically, 'image_commit' + set_fact: + dcos_version_specifier: "{{ dcos['image_commit'] | default(dcos['version']) }}" + - name: Windows | Create custom fact directory win_file: path: "{{ base_windows_dir }}\\etc\\ansible\\facts.d" @@ -8,23 +13,18 @@ path: '{{ base_windows_dir }}\etc\dcos-version.json' register: previous_installation -- name: Windows | Copy dcos-version.json to fact directory - win_copy: - src: "{{ base_windows_dir }}\\etc\\dcos-version.json" - dest: "{{ base_windows_dir }}\\etc\\ansible\\facts.d\\dcos_installation.fact" - remote_src: yes - when: previous_installation.stat.exists and previous_installation.stat.isreg - - name: Windows | Create dcos_installation.fact.ps1 win_copy: - content: get-content {{ base_windows_dir }}\etc\ansible\facts.d\dcos_installation.fact -Raw | ConvertFrom-Json + content: get-content {{ base_windows_dir }}\\etc\\dcos-version.json -Raw | ConvertFrom-Json dest: "{{ base_windows_dir }}\\etc\\ansible\\facts.d\\dcos_installation.fact.ps1" when: previous_installation.stat.exists and previous_installation.stat.isreg - + notify: reload facts - name: Windows | Re-run setup to use custom facts setup: fact_path: "{{ base_windows_dir }}\\etc\\ansible\\facts.d\\dcos_installation.fact.ps1" when: previous_installation.stat.exists and previous_installation.stat.isreg + notify: reload facts +- meta: flush_handlers # TO DO: remove when Winpanda is able to create Mesos-DNS by its own - name: Windows | Detect network interface with default_gateway set