From e8f4a0606199439271035cd2f432f49f22ebf7ce Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Mon, 13 Feb 2017 14:13:28 +0300 Subject: [PATCH 1/8] Add synthetic scale deployment mode New deploy modes: scale, ha-scale, separate-scale Creates 200 fake hosts for deployment with fake hostvars. Useful for testing certificate generation and propagation to other master nodes. Updated test cases descriptions. --- .gitignore | 1 + .gitlab-ci.yml | 19 +++++++++---- docs/test_cases.md | 41 +++++++++++++++++++--------- roles/etcd/tasks/check_certs.yml | 1 + tests/cloud_playbooks/create-gce.yml | 14 +++++++++- tests/templates/fake_hosts.yml.j2 | 3 ++ tests/templates/inventory-gce.j2 | 16 ++++++++--- 7 files changed, 71 insertions(+), 24 deletions(-) create mode 100644 tests/templates/fake_hosts.yml.j2 diff --git a/.gitignore b/.gitignore index 074dd431d..b9b150a3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .vagrant *.retry inventory/vagrant_ansible_inventory +inventory/group_vars/fake_hosts.yml temp .idea .tox diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c6630306..d326aecbd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -124,6 +124,7 @@ before_script: -e local_release_dir=${PWD}/downloads -e resolvconf_mode=${RESOLVCONF_MODE} -e vault_deployment_type=${VAULT_DEPLOYMENT} + --limit "all:!fake_hosts" cluster.yml # Repeat deployment if testing upgrade @@ -150,18 +151,19 @@ before_script: -e resolvconf_mode=${RESOLVCONF_MODE} -e weave_cpu_requests=${WEAVE_CPU_LIMIT} -e weave_cpu_limit=${WEAVE_CPU_LIMIT} + --limit "all:!fake_hosts" $PLAYBOOK; fi # Tests Cases ## Test Master API - - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/010_check-apiserver.yml $LOG_LEVEL + - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root --limit "all:!fake_hosts" tests/testcases/010_check-apiserver.yml $LOG_LEVEL ## Ping the between 2 pod - - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/030_check-network.yml $LOG_LEVEL + - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root --limit "all:!fake_hosts" tests/testcases/030_check-network.yml $LOG_LEVEL ## Advanced DNS checks - - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root tests/testcases/040_check-network-adv.yml $LOG_LEVEL + - ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root --limit "all:!fake_hosts" tests/testcases/040_check-network-adv.yml $LOG_LEVEL ## Idempotency checks 1/5 (repeat deployment) - > @@ -178,6 +180,7 @@ before_script: -e local_release_dir=${PWD}/downloads -e etcd_deployment_type=${ETCD_DEPLOYMENT} -e kubelet_deployment_type=${KUBELET_DEPLOYMENT} + --limit "all:!fake_hosts" cluster.yml; fi @@ -186,6 +189,7 @@ before_script: if [ "${IDEMPOT_CHECK}" = "true" ]; then ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root + --limit "all:!fake_hosts" tests/testcases/040_check-network-adv.yml $LOG_LEVEL; fi @@ -197,7 +201,8 @@ before_script: --private-key=${HOME}/.ssh/id_rsa -e bootstrap_os=${BOOTSTRAP_OS} -e ansible_python_interpreter=${PYPATH} - -e reset_confirmation=yes + -e reset_confirmation=yes + --limit "all:!fake_hosts" reset.yml; fi @@ -216,6 +221,7 @@ before_script: -e local_release_dir=${PWD}/downloads -e etcd_deployment_type=${ETCD_DEPLOYMENT} -e kubelet_deployment_type=${KUBELET_DEPLOYMENT} + --limit "all:!fake_hosts" cluster.yml; fi @@ -224,6 +230,7 @@ before_script: if [ "${IDEMPOT_CHECK}" = "true" ]; then ansible-playbook -i inventory/inventory.ini -e ansible_python_interpreter=${PYPATH} -u $SSH_USER -e ansible_ssh_user=$SSH_USER $SSH_ARGS -b --become-user=root + --limit "all:!fake_hosts" tests/testcases/040_check-network-adv.yml $LOG_LEVEL; fi @@ -244,7 +251,7 @@ before_script: .coreos_calico_sep_variables: &coreos_calico_sep_variables # stage: deploy-gce-part1 KUBE_NETWORK_PLUGIN: calico - CLOUD_IMAGE: coreos-stable-1235-6-0-v20170111 + CLOUD_IMAGE: coreos-stable-1235-6-0-v20170111 CLOUD_REGION: us-west1-b CLUSTER_MODE: separate BOOTSTRAP_OS: coreos @@ -310,7 +317,7 @@ before_script: KUBE_NETWORK_PLUGIN: calico CLOUD_IMAGE: centos-7 CLOUD_REGION: europe-west1-b - CLUSTER_MODE: ha + CLUSTER_MODE: ha-scale IDEMPOT_CHECK: "true" .coreos_alpha_weave_ha_variables: &coreos_alpha_weave_ha_variables diff --git a/docs/test_cases.md b/docs/test_cases.md index 20b052861..5e232b63a 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -4,25 +4,40 @@ Travis CI test matrix GCE instances ------------- -Here is the test matrix for the Travis CI gates: +Here is the test matrix for the CI gates: | Network plugin| OS type| GCE region| Nodes layout| |-------------------------|-------------------------|-------------------------|-------------------------| -| canal| debian-8-kubespray| asia-east1-a| ha| +| canal| debian-8-kubespray| asia-east1-a| ha-scale| | calico| debian-8-kubespray| europe-west1-c| default| | flannel| centos-7| asia-northeast1-c| default| | calico| centos-7| us-central1-b| ha| | weave| rhel-7| us-east1-c| default| -| canal| coreos-stable| us-west1-b| default| +| canal| coreos-stable| us-west1-b| ha-scale| | canal| rhel-7| asia-northeast1-b| separate| | weave| ubuntu-1604-xenial| europe-west1-d| separate| | calico| coreos-stable| us-central1-f| separate| -Where the nodes layout `default` is a non-HA two nodes setup with the separate `kube-node` -and the `etcd` group merged with the `kube-master`. The `separate` layout is when -there is only node of each type, which is a kube master, compute and etcd cluster member. -And the `ha` layout stands for a two etcd nodes, two masters and a single worker node, -partially intersecting though. + +Node Layouts +------------ + +There are four node layout types: `default`, `separate`, `ha`, and `scale`. + + +`default` is a non-HA two nodes setup with one separate `kube-node` +and the `etcd` group merged with the `kube-master`. + +`separate` layout is when there is only node of each type, which includes + a kube-master, kube-node, and etcd cluster member. + +`ha` layout consists of two etcd nodes, two masters and a single worker node, +with role intersection. + +`scale` layout can be combined with above layouts. It includes 200 fake hosts +in the Ansible inventory. This helps test TLS certificate generation at scale +to prevent regressions and profile certain long-running tasks. These nodes are +never actually deployed, but certificates are generated for them. Note, the canal network plugin deploys flannel as well plus calico policy controller. @@ -40,15 +55,15 @@ GCE instances | Stage| Network plugin| OS type| GCE region| Nodes layout |--------------------|--------------------|--------------------|--------------------|--------------------| -| part1| calico| coreos-stable| us-west1-b| separated| +| part1| calico| coreos-stable| us-west1-b| separate| | part1| canal| debian-8-kubespray| us-east1-b| ha| -| part1| weave| rhel-7| europe-west1-b| default| +| part1| weave| rhel-7| europe-west1-b| scale| | part2| flannel| centos-7| us-west1-a| default| | part2| calico| debian-8-kubespray| us-central1-b| default| | part2| canal| coreos-stable| us-east1-b| default| -| special| canal| rhel-7| us-east1-b| separated| -| special| weave| ubuntu-1604-xenial| us-central1-b| separated| -| special| calico| centos-7| europe-west1-b| ha| +| special| canal| rhel-7| us-east1-b| separate| +| special| weave| ubuntu-1604-xenial| us-central1-b| scale| +| special| calico| centos-7| europe-west1-b| ha-scale| | special| weave| coreos-alpha| us-west1-a| ha| The "Stage" means a build step of the build pipeline. The steps are ordered as `part1->part2->special`. diff --git a/roles/etcd/tasks/check_certs.yml b/roles/etcd/tasks/check_certs.yml index 270c0abfc..bc14e255f 100644 --- a/roles/etcd/tasks/check_certs.yml +++ b/roles/etcd/tasks/check_certs.yml @@ -2,6 +2,7 @@ - name: "Check_certs | check if all certs have already been generated on first master" stat: path: "{{ etcd_cert_dir }}/{{ item }}" + get_md5: no delegate_to: "{{groups['etcd'][0]}}" register: etcdcert_master run_once: true diff --git a/tests/cloud_playbooks/create-gce.yml b/tests/cloud_playbooks/create-gce.yml index 4ae32b787..d1e7c011e 100644 --- a/tests/cloud_playbooks/create-gce.yml +++ b/tests/cloud_playbooks/create-gce.yml @@ -13,7 +13,7 @@ - set_fact: instance_names: >- - {%- if mode in ['separate', 'ha'] -%} + {%- if mode in ['separate', 'separate-scale', 'ha', 'ha-scale'] -%} k8s-{{test_name}}-1,k8s-{{test_name}}-2,k8s-{{test_name}}-3 {%- else -%} k8s-{{test_name}}-1,k8s-{{test_name}}-2 @@ -39,6 +39,18 @@ src: ../templates/inventory-gce.j2 dest: "{{ inventory_path }}" + - name: Make group_vars directory + file: + path: "{{ inventory_path|dirname }}/group_vars" + state: directory + when: mode in ['scale', 'separate-scale', 'ha-scale'] + + - name: Template fake hosts group vars + template: + src: ../templates/fake_hosts.yml.j2 + dest: "{{ inventory_path|dirname }}/group_vars/fake_hosts.yml" + when: mode in ['scale', 'separate-scale', 'ha-scale'] + - name: Wait for SSH to come up wait_for: host={{item.public_ip}} port=22 delay=10 timeout=180 state=started with_items: "{{gce.instance_data}}" diff --git a/tests/templates/fake_hosts.yml.j2 b/tests/templates/fake_hosts.yml.j2 new file mode 100644 index 000000000..673109213 --- /dev/null +++ b/tests/templates/fake_hosts.yml.j2 @@ -0,0 +1,3 @@ +ansible_default_ipv4: + address: 255.255.255.255 +ansible_hostname: "{{ '{{' }}inventory_hostname}}" diff --git a/tests/templates/inventory-gce.j2 b/tests/templates/inventory-gce.j2 index f5326229c..8274fae8c 100644 --- a/tests/templates/inventory-gce.j2 +++ b/tests/templates/inventory-gce.j2 @@ -2,12 +2,11 @@ {% set node2 = gce.instance_data[1].name %} {{node1}} ansible_ssh_host={{gce.instance_data[0].public_ip}} {{node2}} ansible_ssh_host={{gce.instance_data[1].public_ip}} -{% if mode is defined and mode in ["separate", "ha"] %} +{% if mode is defined and mode in ["separate", "separate-scale"] %} {% set node3 = gce.instance_data[2].name %} {{node3}} ansible_ssh_host={{gce.instance_data[2].public_ip}} {% endif %} - -{% if mode is defined and mode == "separate" %} +{% if mode is defined and mode in ["separate", "separate-scale"] %} [kube-master] {{node1}} @@ -19,7 +18,7 @@ [vault] {{node3}} -{% elif mode is defined and mode == "ha" %} +{% elif mode is defined and mode in ["ha", "ha-scale"] %} [kube-master] {{node1}} {{node2}} @@ -51,3 +50,12 @@ [k8s-cluster:children] kube-node kube-master + +{% if mode is defined and mode in ["scale", "separate-scale", "ha-scale"] %} +[fake_hosts] +fake_scale_host[1:200] + +[kube-node:children] +fake_hosts +{% endif %} + From 5419c98eb16ee5716d773fdd33bd7c212bc8f024 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Fri, 17 Feb 2017 01:43:49 +0400 Subject: [PATCH 2/8] Add no_log to cert tar tasks This works around 4MB limit for gitlab CI runner. --- roles/etcd/tasks/gen_certs_script.yml | 3 +++ roles/kubernetes/secrets/tasks/gen_certs_script.yml | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/roles/etcd/tasks/gen_certs_script.yml b/roles/etcd/tasks/gen_certs_script.yml index 9ed08ddf9..f95ec97ca 100644 --- a/roles/etcd/tasks/gen_certs_script.yml +++ b/roles/etcd/tasks/gen_certs_script.yml @@ -87,6 +87,7 @@ args: executable: /bin/bash register: etcd_master_cert_data + no_log: true check_mode: no delegate_to: "{{groups['etcd'][0]}}" when: inventory_hostname in groups['etcd'] and sync_certs|default(false) and @@ -98,6 +99,7 @@ args: executable: /bin/bash register: etcd_node_cert_data + no_log: true check_mode: no delegate_to: "{{groups['etcd'][0]}}" when: (('calico-rr' in groups and inventory_hostname in groups['calico-rr']) or @@ -109,6 +111,7 @@ shell: "base64 -d <<< '{{etcd_master_cert_data.stdout|quote}}' | tar xz -C {{ etcd_cert_dir }}" args: executable: /bin/bash + no_log: true changed_when: false when: inventory_hostname in groups['etcd'] and sync_certs|default(false) and inventory_hostname != groups['etcd'][0] diff --git a/roles/kubernetes/secrets/tasks/gen_certs_script.yml b/roles/kubernetes/secrets/tasks/gen_certs_script.yml index fd6e485df..cd742d647 100644 --- a/roles/kubernetes/secrets/tasks/gen_certs_script.yml +++ b/roles/kubernetes/secrets/tasks/gen_certs_script.yml @@ -80,6 +80,7 @@ shell: "tar cfz - -C {{ kube_cert_dir }} -T /dev/stdin <<< {{ my_master_certs|join(' ') }} {{ all_node_certs|join(' ') }} | base64 --wrap=0" args: executable: /bin/bash + no_log: true register: master_cert_data check_mode: no delegate_to: "{{groups['kube-master'][0]}}" @@ -90,6 +91,7 @@ shell: "tar cfz - -C {{ kube_cert_dir }} -T /dev/stdin <<< {{ my_node_certs|join(' ') }} | base64 --wrap=0" args: executable: /bin/bash + no_log: true register: node_cert_data check_mode: no delegate_to: "{{groups['kube-master'][0]}}" @@ -116,6 +118,7 @@ - name: Gen_certs | Unpack certs on masters shell: "base64 -d < {{ cert_tempfile.stdout }} | tar xz -C {{ kube_cert_dir }}" + no_log: true changed_when: false check_mode: no when: inventory_hostname in groups['kube-master'] and sync_certs|default(false) and @@ -133,6 +136,7 @@ shell: "base64 -d <<< '{{node_cert_data.stdout|quote}}' | tar xz -C {{ kube_cert_dir }}" args: executable: /bin/bash + no_log: true changed_when: false check_mode: no when: inventory_hostname in groups['kube-node'] and From 9b5259f78eedd0f910cd27d8bbd877a6a7cdce29 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Fri, 17 Feb 2017 19:06:52 +0300 Subject: [PATCH 3/8] Adapt advanced network checker for scale Skip nodes not in ansible play (via --limit) --- tests/testcases/040_check-network-adv.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testcases/040_check-network-adv.yml b/tests/testcases/040_check-network-adv.yml index 667707046..90a5eba7b 100644 --- a/tests/testcases/040_check-network-adv.yml +++ b/tests/testcases/040_check-network-adv.yml @@ -35,7 +35,7 @@ run_once: true delegate_to: "{{groups['kube-master'][0]}}" register: nca_pod - until: "{{ nca_pod.stdout_lines|length }} >= {{ groups['kube-node']|length * 2 }}" + until: "{{ nca_pod.stdout_lines|length }} >= {{ groups['kube-node']|intersect(play_hosts)|length * 2 }}" retries: 3 delay: 10 @@ -48,7 +48,7 @@ delay: "{{ agent_report_interval }}" until: "{{ agents.content|length > 0 and agents.content[0] == '{' and - agents.content|from_json|length >= groups['kube-node']|length * 2 }}" + agents.content|from_json|length >= groups['kube-node']|intersect(play_hosts)|length * 2 }}" failed_when: false no_log: true From f9b00205895cff9ada30f6f0f15b0d950bc9368d Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Fri, 17 Feb 2017 23:14:10 +0300 Subject: [PATCH 4/8] Use first kube-master to check results --- .gitlab-ci.yml | 2 +- docs/test_cases.md | 6 +++--- tests/testcases/040_check-network-adv.yml | 8 +++----- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d326aecbd..8546bfa6e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -325,7 +325,7 @@ before_script: KUBE_NETWORK_PLUGIN: weave CLOUD_IMAGE: coreos-alpha CLOUD_REGION: us-west1-a - CLUSTER_MODE: ha + CLUSTER_MODE: ha-scale BOOTSTRAP_OS: coreos .ubuntu_rkt_sep_variables: &ubuntu_rkt_sep_variables diff --git a/docs/test_cases.md b/docs/test_cases.md index 5e232b63a..8cb282395 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -57,13 +57,13 @@ GCE instances |--------------------|--------------------|--------------------|--------------------|--------------------| | part1| calico| coreos-stable| us-west1-b| separate| | part1| canal| debian-8-kubespray| us-east1-b| ha| -| part1| weave| rhel-7| europe-west1-b| scale| +| part1| weave| rhel-7| europe-west1-b| default| | part2| flannel| centos-7| us-west1-a| default| | part2| calico| debian-8-kubespray| us-central1-b| default| | part2| canal| coreos-stable| us-east1-b| default| | special| canal| rhel-7| us-east1-b| separate| -| special| weave| ubuntu-1604-xenial| us-central1-b| scale| +| special| weave| ubuntu-1604-xenial| us-central1-b| default| | special| calico| centos-7| europe-west1-b| ha-scale| -| special| weave| coreos-alpha| us-west1-a| ha| +| special| weave| coreos-alpha| us-west1-a| ha-scale| The "Stage" means a build step of the build pipeline. The steps are ordered as `part1->part2->special`. diff --git a/tests/testcases/040_check-network-adv.yml b/tests/testcases/040_check-network-adv.yml index 90a5eba7b..21d265bf5 100644 --- a/tests/testcases/040_check-network-adv.yml +++ b/tests/testcases/040_check-network-adv.yml @@ -42,7 +42,7 @@ - name: Get netchecker agents uri: url=http://localhost:{{netchecker_port}}/api/v1/agents/ return_content=yes run_once: true - delegate_to: "{{groups['kube-node'][0]}}" + delegate_to: "{{groups['kube-master'][0]}}" register: agents retries: 6 delay: "{{ agent_report_interval }}" @@ -54,12 +54,11 @@ - debug: var=agents.content|from_json failed_when: not agents|success and not agents.content=='{}' - delegate_to: "{{groups['kube-node'][0]}}" run_once: true - + - name: Check netchecker status uri: url=http://localhost:{{netchecker_port}}/api/v1/connectivity_check status_code=200 return_content=yes - delegate_to: "{{groups['kube-node'][0]}}" + delegate_to: "{{groups['kube-master'][0]}}" run_once: true register: result retries: 3 @@ -70,7 +69,6 @@ - debug: var=result.content|from_json failed_when: not result|success - delegate_to: "{{groups['kube-node'][0]}}" run_once: true when: not agents.content=='{}' From 5f9cbf59fa66996d3503cf20e5540d627e3904a0 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Sat, 18 Feb 2017 14:13:30 +0400 Subject: [PATCH 5/8] Suppress logging for download image This generates too much output and during upgrade scenarios can bring us over the 4mb limit. --- roles/download/tasks/set_docker_image_facts.yml | 2 ++ tests/templates/inventory-gce.j2 | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/roles/download/tasks/set_docker_image_facts.yml b/roles/download/tasks/set_docker_image_facts.yml index 6fe4af440..33d6d471e 100644 --- a/roles/download/tasks/set_docker_image_facts.yml +++ b/roles/download/tasks/set_docker_image_facts.yml @@ -10,12 +10,14 @@ - name: Register docker images info raw: >- {{ docker_bin_dir }}/docker images -q | xargs {{ docker_bin_dir }}/docker inspect -f "{{ '{{' }} .RepoTags {{ '}}' }},{{ '{{' }} .RepoDigests {{ '}}' }}" + no_log: true register: docker_images_raw failed_when: false check_mode: no when: not download_always_pull|bool - set_fact: docker_images="{{docker_images_raw.stdout|regex_replace('\[|\]|\\n]','')|regex_replace('\s',',')}}" + no_log: true when: not download_always_pull|bool - set_fact: diff --git a/tests/templates/inventory-gce.j2 b/tests/templates/inventory-gce.j2 index 8274fae8c..d58f6896c 100644 --- a/tests/templates/inventory-gce.j2 +++ b/tests/templates/inventory-gce.j2 @@ -2,7 +2,7 @@ {% set node2 = gce.instance_data[1].name %} {{node1}} ansible_ssh_host={{gce.instance_data[0].public_ip}} {{node2}} ansible_ssh_host={{gce.instance_data[1].public_ip}} -{% if mode is defined and mode in ["separate", "separate-scale"] %} +{% if mode is defined and mode in ["ha", "ha-scale", "separate", "separate-scale"] %} {% set node3 = gce.instance_data[2].name %} {{node3}} ansible_ssh_host={{gce.instance_data[2].public_ip}} {% endif %} From c4452b102c7d681dc85ede7cf7e6b228edc3e6ad Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Sun, 19 Feb 2017 16:23:35 +0300 Subject: [PATCH 6/8] pin coreos-alpha to 1325 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8546bfa6e..5f9b1636f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -323,7 +323,7 @@ before_script: .coreos_alpha_weave_ha_variables: &coreos_alpha_weave_ha_variables # stage: deploy-gce-special KUBE_NETWORK_PLUGIN: weave - CLOUD_IMAGE: coreos-alpha + CLOUD_IMAGE: coreos-alpha-1325-0-0-v20170216 CLOUD_REGION: us-west1-a CLUSTER_MODE: ha-scale BOOTSTRAP_OS: coreos From 1075f0f9d1559b813604cb582141020e7488336f Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Mon, 20 Feb 2017 17:09:34 +0300 Subject: [PATCH 7/8] Raise timeout for get netchecker agents --- tests/testcases/040_check-network-adv.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/testcases/040_check-network-adv.yml b/tests/testcases/040_check-network-adv.yml index 21d265bf5..fded3155f 100644 --- a/tests/testcases/040_check-network-adv.yml +++ b/tests/testcases/040_check-network-adv.yml @@ -44,7 +44,7 @@ run_once: true delegate_to: "{{groups['kube-master'][0]}}" register: agents - retries: 6 + retries: 18 delay: "{{ agent_report_interval }}" until: "{{ agents.content|length > 0 and agents.content[0] == '{' and @@ -55,7 +55,7 @@ - debug: var=agents.content|from_json failed_when: not agents|success and not agents.content=='{}' run_once: true - + - name: Check netchecker status uri: url=http://localhost:{{netchecker_port}}/api/v1/connectivity_check status_code=200 return_content=yes delegate_to: "{{groups['kube-master'][0]}}" @@ -71,6 +71,7 @@ failed_when: not result|success run_once: true when: not agents.content=='{}' + delegate_to: "{{groups['kube-master'][0]}}" - debug: msg="Cannot get reports from agents, consider as PASSING" run_once: true From 14b86ebc45dc6110dc4c423b2a263d957e8c5fe2 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Tue, 21 Feb 2017 17:13:48 +0300 Subject: [PATCH 8/8] Change coreos-alpha dns mode to host_resolvconf --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f9b1636f..f02e7b842 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -294,8 +294,8 @@ before_script: CLOUD_REGION: us-east1-b CLUSTER_MODE: default BOOTSTRAP_OS: coreos - RESOLVCONF_MODE: host_resolvconf # This is required as long as the CoreOS stable channel uses docker < 1.12 IDEMPOT_CHECK: "true" + RESOLVCONF_MODE: host_resolvconf # This is required as long as the CoreOS stable channel uses docker < 1.12 .rhel7_canal_sep_variables: &rhel7_canal_sep_variables # stage: deploy-gce-special @@ -327,6 +327,7 @@ before_script: CLOUD_REGION: us-west1-a CLUSTER_MODE: ha-scale BOOTSTRAP_OS: coreos + RESOLVCONF_MODE: host_resolvconf # This is required as long as the CoreOS stable channel uses docker < 1.12 .ubuntu_rkt_sep_variables: &ubuntu_rkt_sep_variables # stage: deploy-gce-part1