From 470ca19b4cb0255fb5142515d5e274b9a9bda256 Mon Sep 17 00:00:00 2001 From: OleksandrBielov <52069511+OleksandrBielov@users.noreply.github.com> Date: Wed, 11 Mar 2020 15:48:31 +0200 Subject: [PATCH 1/8] execute dcos_upgrade.yml (windows) --- roles/dcos_agent_windows/tasks/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/dcos_agent_windows/tasks/main.yml b/roles/dcos_agent_windows/tasks/main.yml index 863b2837..025349f9 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -50,3 +50,9 @@ # Installation for fresh nodes - import_tasks: dcos_install.yml when: ( hostvars[inventory_hostname]['ansible_dcos_installation'] is not defined ) or ( hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] is not defined ) + + #Upgrade nodes + - import_tasks: dcos_upgrade.yml + when: + - hostvars[inventory_hostname]['ansible_dcos_installation'] is defined + - ((hostvars[inventory_hostname]['ansible_dcos_installation']['version'] is defined) and (hostvars[inventory_hostname]['ansible_dcos_installation']['version'] != dcos['version'])) or ( ( hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] is defined) and (hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] != dcos['image_commit'])) From f5fd05cf7dca7de8c5d84474b5d4cc4331c4685c Mon Sep 17 00:00:00 2001 From: OleksandrBielov Date: Wed, 11 Mar 2020 16:53:20 +0200 Subject: [PATCH 2/8] execute dcos_upgrade.yml (windows) --- roles/dcos_agent_windows/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/dcos_agent_windows/tasks/main.yml b/roles/dcos_agent_windows/tasks/main.yml index 025349f9..f7226829 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -51,8 +51,8 @@ - import_tasks: dcos_install.yml when: ( hostvars[inventory_hostname]['ansible_dcos_installation'] is not defined ) or ( hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] is not defined ) - #Upgrade nodes - - import_tasks: dcos_upgrade.yml +#Upgrade nodes +- import_tasks: dcos_upgrade.yml when: - hostvars[inventory_hostname]['ansible_dcos_installation'] is defined - ((hostvars[inventory_hostname]['ansible_dcos_installation']['version'] is defined) and (hostvars[inventory_hostname]['ansible_dcos_installation']['version'] != dcos['version'])) or ( ( hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] is defined) and (hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] != dcos['image_commit'])) From 4857d7eec423927e01c1a916d896c299bbbcc831 Mon Sep 17 00:00:00 2001 From: OleksandrBielov Date: Wed, 11 Mar 2020 17:03:54 +0200 Subject: [PATCH 3/8] execute dcos_upgrade.yml (windows) --- roles/dcos_agent_windows/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/dcos_agent_windows/tasks/main.yml b/roles/dcos_agent_windows/tasks/main.yml index f7226829..45f6e123 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -50,7 +50,7 @@ # Installation for fresh nodes - import_tasks: dcos_install.yml when: ( hostvars[inventory_hostname]['ansible_dcos_installation'] is not defined ) or ( hostvars[inventory_hostname]['ansible_dcos_installation']['dcos-image-commit'] is not defined ) - + #Upgrade nodes - import_tasks: dcos_upgrade.yml when: From 0539b73f78f977a86cbdfbc6e0f038eb9e76c2f9 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 13 Mar 2020 16:36:13 +0100 Subject: [PATCH 4/8] chore: enable windows upgrade tests --- .../ec2/install_and_upgrade_windows_tmp.yml | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/molecule/ec2/install_and_upgrade_windows_tmp.yml b/molecule/ec2/install_and_upgrade_windows_tmp.yml index d77fbfbf..6b94a6d7 100644 --- a/molecule/ec2/install_and_upgrade_windows_tmp.yml +++ b/molecule/ec2/install_and_upgrade_windows_tmp.yml @@ -9,22 +9,24 @@ hosts: localhost tasks: - set_fact: - test_initial_download: "https://downloads.dcos.io/dcos/stable/2.0.0/dcos_generate_config.sh" - test_initial_download_checksum: "sha256:95a16dfae5bd4da83235f27f82caede4105a9e6b63fcbc9ca7f11e8f794eebbd" - test_initial_version: "2.0.0" + test_initial_download: "https://downloads.dcos.io/dcos/testing/master/commit/8d77deb4e5523e49729940485c31ce2c56bf6c43/dcos_generate_config.sh" + test_initial_download_checksum: "" + test_initial_version: "2.1.0-dev" + test_initial_download_win: "https://downloads.dcos.io/dcos/testing/master/commit/8d77deb4e5523e49729940485c31ce2c56bf6c43/windows/dcos_generate_config_win.ee.sh" test_upgrade_download: "https://downloads.dcos.io/dcos/testing/master/dcos_generate_config.sh" test_upgrade_download_checksum: "" - test_upgrade_version: "2.1.0-dev" - test_upgrade_download_win: "https://downloads.mesosphere.com/dcos-enterprise/testing/master/windows/dcos_generate_config_win.ee.sh" + test_upgrade_version: "2.1.0-master" + test_upgrade_download_win: "https://downloads.dcos.io/dcos/testing/master/windows/dcos_generate_config_win.sh" when: not dcos['enterprise_dcos'] - set_fact: - test_initial_download: "https://downloads.mesosphere.com/dcos-enterprise/stable/2.0.0/dcos_generate_config.ee.sh" - test_initial_download_checksum: "sha256:933950a7ca856ac72150d68c614edc4d333c23cc24b594af8da3a9467c5e1a36" - test_initial_version: "2.0.0" + test_initial_download: "https://downloads.mesosphere.com/dcos-enterprise/testing/master/commit/2e5060be4bf23e1dc66f6bf2108cb0c84cb258f7/dcos_generate_config.ee.sh" + test_initial_download_checksum: "" + test_initial_version: "2.1.0-dev" + test_initial_download_win: "https://downloads.mesosphere.com/dcos-enterprise/testing/master/commit/2e5060be4bf23e1dc66f6bf2108cb0c84cb258f7/windows/dcos_generate_config_win.ee.sh" test_upgrade_download: "https://downloads.mesosphere.com/dcos-enterprise/testing/master/dcos_generate_config.ee.sh" test_upgrade_download_checksum: "" - test_upgrade_version: "2.1.0-dev" - test_upgrade_download_win: "https://downloads.dcos.io/dcos/testing/master/windows/dcos_generate_config_win.sh" + test_upgrade_version: "2.1.0-master" + test_upgrade_download_win: "https://downloads.mesosphere.com/dcos-enterprise/testing/master/windows/dcos_generate_config_win.ee.sh" when: dcos['enterprise_dcos'] @@ -38,10 +40,12 @@ dcos: download: "{{ hostvars['localhost'].test_initial_download }}" download_checksum: "{{ hostvars['localhost'].test_initial_download_checksum }}" + download_win: "{{ hostvars['localhost'].test_initial_download_win }}" version: "{{ hostvars['localhost'].test_initial_version }}" config: bootstrap_url: "http://{{ hostvars[groups['bootstraps'][0]].ansible_facts.default_ipv4.address }}:8080" master_list: ["{{ hostvars[groups['masters'][0]].ansible_facts.default_ipv4.address }}"] + enable_windows_agents: true - name: "Setup and configure MASTER nodes" hosts: masters @@ -74,16 +78,21 @@ bootstrap_url: "http://{{ hostvars[groups['bootstraps'][0]].ansible_facts.default_ipv4.address }}:8080" master_list: ["{{ hostvars[groups['masters'][0]].ansible_facts.default_ipv4.address }}"] -# - name: "Setup and configure WINDOWS AGENT nodes" -# hosts: agents_windows -# tasks: -# - include_role: -# name: dcos_agent_windows -# vars: -# dcos: -# config: -# bootstrap_url: "http://{{ hostvars[groups['bootstraps'][0]].ansible_facts.default_ipv4.address }}:8080" -# master_list: ["{{ hostvars[groups['masters'][0]].ansible_facts.default_ipv4.address }}"] +- name: "Setup and configure WINDOWS AGENT nodes" + hosts: agents_windows + tasks: + - include_role: + name: dcos_agent_windows + vars: + dcos: + download: "{{ hostvars['localhost'].test_initial_download }}" + download_checksum: "{{ hostvars['localhost'].test_initial_download_checksum }}" + download_win: "{{ hostvars['localhost'].test_initial_download_win }}" + version: "{{ hostvars['localhost'].test_initial_version }}" + config: + bootstrap_url: "http://{{ hostvars[groups['bootstraps'][0]].ansible_facts.default_ipv4.address }}:8080" + master_list: ["{{ hostvars[groups['masters'][0]].ansible_facts.default_ipv4.address }}"] + enable_windows_agents: true - name: "WAIT for the cluster to stabilise before upgrade" From fb2ed20258fb0209c7c117515857695dc1e8c1d7 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 13 Mar 2020 16:36:40 +0100 Subject: [PATCH 5/8] fix: we must use the local version --- roles/dcos_agent_windows/tasks/dcos_upgrade.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/dcos_agent_windows/tasks/dcos_upgrade.yml b/roles/dcos_agent_windows/tasks/dcos_upgrade.yml index 3724fa79..b19d3e39 100644 --- a/roles/dcos_agent_windows/tasks/dcos_upgrade.yml +++ b/roles/dcos_agent_windows/tasks/dcos_upgrade.yml @@ -5,7 +5,7 @@ - name: Upgrade | Download upgrade_win.ps1 win_get_url: - url: "{{ dcos['config']['bootstrap_url'] }}/{{ dcos_version_specifier }}/genconf/serve/windows/upgrade_from_{{ dcos['version_to_upgrade_from'] }}/latest/dcos_node_upgrade.ps1" + url: "{{ dcos['config']['bootstrap_url'] }}/{{ dcos_version_specifier }}/genconf/serve/windows/upgrade_from_{{ ansible_local.dcos_installation['version'] }}/latest/dcos_node_upgrade.ps1" dest: "{{ base_windows_dir }}\\{{ dcos_version_specifier }}\\upgrade_win.ps1" force: yes From c4664a7d2d1d778a38474b74b3236ca6332d73f4 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 13 Mar 2020 16:36:55 +0100 Subject: [PATCH 6/8] facts are missing --- roles/dcos_agent_windows/handlers/main.yml | 3 +++ roles/dcos_agent_windows/tasks/main.yml | 4 ++++ 2 files changed, 7 insertions(+) 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/main.yml b/roles/dcos_agent_windows/tasks/main.yml index 45f6e123..d932a0e1 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -17,6 +17,7 @@ content: get-content {{ base_windows_dir }}\etc\ansible\facts.d\dcos_installation.fact -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 | Copy dcos-version.json to fact directory win_copy: @@ -24,11 +25,14 @@ dest: "{{ base_windows_dir }}\\etc\\ansible\\facts.d\\dcos_installation.fact" remote_src: yes 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 From 9b45cc88e02ec759b06ba65c47c345552ad86b2c Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Wed, 25 Mar 2020 18:18:05 +0100 Subject: [PATCH 7/8] deactivate spot instance usage --- molecule/ec2_centos7/molecule.yml | 3 +++ molecule/ec2_rhel7/molecule.yml | 3 +++ molecule/ec2_windows/molecule.yml | 3 +++ 3 files changed, 9 insertions(+) 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 From 8d1716fb9310623533e7d27f851884270d12481a Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Thu, 26 Mar 2020 07:45:11 +0100 Subject: [PATCH 8/8] fix: use dcos-version.json directly instead of copying it --- roles/dcos_agent_windows/tasks/main.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/roles/dcos_agent_windows/tasks/main.yml b/roles/dcos_agent_windows/tasks/main.yml index 520d4eb8..ff701913 100644 --- a/roles/dcos_agent_windows/tasks/main.yml +++ b/roles/dcos_agent_windows/tasks/main.yml @@ -15,19 +15,10 @@ - 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 | 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 - 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"