Fix Ansible-lint error [E502] (#4743)

pull/4753/merge
MarkusTeufelberger 2019-05-16 09:27:43 +02:00 committed by Kubernetes Prow Robot
parent 13f225e6ae
commit 73c2ff17dd
30 changed files with 160 additions and 70 deletions

View File

@ -9,6 +9,5 @@ skip_list:
- '305' - '305'
- '306' - '306'
- '404' - '404'
- '502'
- '503' - '503'
- '701' - '701'

View File

@ -4,7 +4,8 @@
command: azure vm list-ip-address --json {{ azure_resource_group }} command: azure vm list-ip-address --json {{ azure_resource_group }}
register: vm_list_cmd register: vm_list_cmd
- set_fact: - name: Set vm_list
set_fact:
vm_list: "{{ vm_list_cmd.stdout }}" vm_list: "{{ vm_list_cmd.stdout }}"
- name: Generate inventory - name: Generate inventory

View File

@ -8,7 +8,8 @@
command: az vm list -o json --resource-group {{ azure_resource_group }} command: az vm list -o json --resource-group {{ azure_resource_group }}
register: vm_list_cmd register: vm_list_cmd
- set_fact: - name: Set VM IP and roles lists
set_fact:
vm_ip_list: "{{ vm_ip_list_cmd.stdout }}" vm_ip_list: "{{ vm_ip_list_cmd.stdout }}"
vm_roles_list: "{{ vm_list_cmd.stdout }}" vm_roles_list: "{{ vm_list_cmd.stdout }}"

View File

@ -1,13 +1,16 @@
--- ---
- set_fact: - name: Set base_dir
set_fact:
base_dir: "{{ playbook_dir }}/.generated/" base_dir: "{{ playbook_dir }}/.generated/"
- file: - name: Create base_dir
file:
path: "{{ base_dir }}" path: "{{ base_dir }}"
state: directory state: directory
recurse: true recurse: true
- template: - name: Store json files in base_dir
template:
src: "{{ item }}" src: "{{ item }}"
dest: "{{ base_dir }}/{{ item }}" dest: "{{ base_dir }}/{{ item }}"
with_items: with_items:

View File

@ -4,6 +4,7 @@
register: "initial_heketi_state" register: "initial_heketi_state"
changed_when: false changed_when: false
command: "{{ bin_dir }}/kubectl get services,deployments,pods --selector=deploy-heketi --output=json" command: "{{ bin_dir }}/kubectl get services,deployments,pods --selector=deploy-heketi --output=json"
- name: "Bootstrap heketi." - name: "Bootstrap heketi."
when: when:
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Service']\"))|length == 0" - "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Service']\"))|length == 0"
@ -16,15 +17,20 @@
register: "initial_heketi_pod" register: "initial_heketi_pod"
command: "{{ bin_dir }}/kubectl get pods --selector=deploy-heketi=pod,glusterfs=heketi-pod,name=deploy-heketi --output=json" command: "{{ bin_dir }}/kubectl get pods --selector=deploy-heketi=pod,glusterfs=heketi-pod,name=deploy-heketi --output=json"
changed_when: false changed_when: false
- name: "Ensure heketi bootstrap pod is up." - name: "Ensure heketi bootstrap pod is up."
assert: assert:
that: "(initial_heketi_pod.stdout|from_json|json_query('items[*]'))|length == 1" that: "(initial_heketi_pod.stdout|from_json|json_query('items[*]'))|length == 1"
- set_fact:
- name: Store the initial heketi pod name
set_fact:
initial_heketi_pod_name: "{{ initial_heketi_pod.stdout|from_json|json_query(\"items[*].metadata.name|[0]\") }}" initial_heketi_pod_name: "{{ initial_heketi_pod.stdout|from_json|json_query(\"items[*].metadata.name|[0]\") }}"
- name: "Test heketi topology." - name: "Test heketi topology."
changed_when: false changed_when: false
register: "heketi_topology" register: "heketi_topology"
command: "{{ bin_dir }}/kubectl exec {{ initial_heketi_pod_name }} -- heketi-cli --user admin --secret {{ heketi_admin_key }} topology info --json" command: "{{ bin_dir }}/kubectl exec {{ initial_heketi_pod_name }} -- heketi-cli --user admin --secret {{ heketi_admin_key }} topology info --json"
- name: "Load heketi topology." - name: "Load heketi topology."
when: "heketi_topology.stdout|from_json|json_query(\"clusters[*].nodes[*]\")|flatten|length == 0" when: "heketi_topology.stdout|from_json|json_query(\"clusters[*].nodes[*]\")|flatten|length == 0"
include_tasks: "bootstrap/topology.yml" include_tasks: "bootstrap/topology.yml"
@ -42,6 +48,7 @@
command: "{{ bin_dir }}/kubectl get secrets,endpoints,services,jobs --output=json" command: "{{ bin_dir }}/kubectl get secrets,endpoints,services,jobs --output=json"
changed_when: false changed_when: false
register: "heketi_storage_state" register: "heketi_storage_state"
# ensure endpoints actually exist before trying to move database data to it # ensure endpoints actually exist before trying to move database data to it
- name: "Create heketi storage." - name: "Create heketi storage."
include_tasks: "bootstrap/storage.yml" include_tasks: "bootstrap/storage.yml"

View File

@ -1,11 +1,19 @@
--- ---
- register: "label_present" - name: Get storage nodes
register: "label_present"
command: "{{ bin_dir }}/kubectl get node --selector=storagenode=glusterfs,kubernetes.io/hostname={{ node }} --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get node --selector=storagenode=glusterfs,kubernetes.io/hostname={{ node }} --ignore-not-found=true"
changed_when: false changed_when: false
- name: "Assign storage label" - name: "Assign storage label"
when: "label_present.stdout_lines|length == 0" when: "label_present.stdout_lines|length == 0"
command: "{{ bin_dir }}/kubectl label node {{ node }} storagenode=glusterfs" command: "{{ bin_dir }}/kubectl label node {{ node }} storagenode=glusterfs"
- register: "label_present"
- name: Get storage nodes again
register: "label_present"
command: "{{ bin_dir }}/kubectl get node --selector=storagenode=glusterfs,kubernetes.io/hostname={{ node }} --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get node --selector=storagenode=glusterfs,kubernetes.io/hostname={{ node }} --ignore-not-found=true"
changed_when: false changed_when: false
- assert: { that: "label_present|length > 0", msg: "Node {{ node }} has not been assigned with label storagenode=glusterfs." }
- name: Ensure the label has been set
assert:
that: "label_present|length > 0"
msg: "Node {{ node }} has not been assigned with label storagenode=glusterfs."

View File

@ -1,19 +1,24 @@
--- ---
- name: "Kubernetes Apps | Lay Down Heketi" - name: "Kubernetes Apps | Lay Down Heketi"
become: true become: true
template: { src: "heketi-deployment.json.j2", dest: "{{ kube_config_dir }}/heketi-deployment.json" } template:
src: "heketi-deployment.json.j2"
dest: "{{ kube_config_dir }}/heketi-deployment.json"
register: "rendering" register: "rendering"
- name: "Kubernetes Apps | Install and configure Heketi" - name: "Kubernetes Apps | Install and configure Heketi"
kube: kube:
name: "GlusterFS" name: "GlusterFS"
kubectl: "{{ bin_dir }}/kubectl" kubectl: "{{ bin_dir }}/kubectl"
filename: "{{ kube_config_dir }}/heketi-deployment.json" filename: "{{ kube_config_dir }}/heketi-deployment.json"
state: "{{ rendering.changed | ternary('latest', 'present') }}" state: "{{ rendering.changed | ternary('latest', 'present') }}"
- name: "Ensure heketi is up and running." - name: "Ensure heketi is up and running."
changed_when: false changed_when: false
register: "heketi_state" register: "heketi_state"
vars: vars:
heketi_state: { stdout: "{}" } heketi_state:
stdout: "{}"
pods_query: "items[?kind=='Pod'].status.conditions|[0][?type=='Ready'].status|[0]" pods_query: "items[?kind=='Pod'].status.conditions|[0][?type=='Ready'].status|[0]"
deployments_query: "items[?kind=='Deployment'].status.conditions|[0][?type=='Available'].status|[0]" deployments_query: "items[?kind=='Deployment'].status.conditions|[0][?type=='Available'].status|[0]"
command: "{{ bin_dir }}/kubectl get deployments,pods --selector=glusterfs --output=json" command: "{{ bin_dir }}/kubectl get deployments,pods --selector=glusterfs --output=json"
@ -22,5 +27,7 @@
- "heketi_state.stdout|from_json|json_query(deployments_query) == 'True'" - "heketi_state.stdout|from_json|json_query(deployments_query) == 'True'"
retries: 60 retries: 60
delay: 5 delay: 5
- set_fact:
- name: Set the Heketi pod name
set_fact:
heketi_pod_name: "{{ heketi_state.stdout|from_json|json_query(\"items[?kind=='Pod'].metadata.name|[0]\") }}" heketi_pod_name: "{{ heketi_state.stdout|from_json|json_query(\"items[?kind=='Pod'].metadata.name|[0]\") }}"

View File

@ -1,31 +1,44 @@
--- ---
- register: "clusterrolebinding_state" - name: Get clusterrolebindings
register: "clusterrolebinding_state"
command: "{{ bin_dir }}/kubectl get clusterrolebinding heketi-gluster-admin -o=name --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get clusterrolebinding heketi-gluster-admin -o=name --ignore-not-found=true"
changed_when: false changed_when: false
- name: "Kubernetes Apps | Deploy cluster role binding." - name: "Kubernetes Apps | Deploy cluster role binding."
when: "clusterrolebinding_state.stdout == \"\"" when: "clusterrolebinding_state.stdout == \"\""
command: "{{ bin_dir }}/kubectl create clusterrolebinding heketi-gluster-admin --clusterrole=edit --serviceaccount=default:heketi-service-account" command: "{{ bin_dir }}/kubectl create clusterrolebinding heketi-gluster-admin --clusterrole=edit --serviceaccount=default:heketi-service-account"
- register: "clusterrolebinding_state"
- name: Get clusterrolebindings again
register: "clusterrolebinding_state"
command: "{{ bin_dir }}/kubectl get clusterrolebinding heketi-gluster-admin -o=name --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get clusterrolebinding heketi-gluster-admin -o=name --ignore-not-found=true"
changed_when: false changed_when: false
- assert:
- name: Make sure that clusterrolebindings are present now
assert:
that: "clusterrolebinding_state.stdout != \"\"" that: "clusterrolebinding_state.stdout != \"\""
msg: "Cluster role binding is not present." msg: "Cluster role binding is not present."
- register: "secret_state" - name: Get the heketi-config-secret secret
register: "secret_state"
command: "{{ bin_dir }}/kubectl get secret heketi-config-secret -o=name --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get secret heketi-config-secret -o=name --ignore-not-found=true"
changed_when: false changed_when: false
- name: "Render Heketi secret configuration." - name: "Render Heketi secret configuration."
become: true become: true
template: template:
src: "heketi.json.j2" src: "heketi.json.j2"
dest: "{{ kube_config_dir }}/heketi.json" dest: "{{ kube_config_dir }}/heketi.json"
- name: "Deploy Heketi config secret" - name: "Deploy Heketi config secret"
when: "secret_state.stdout == \"\"" when: "secret_state.stdout == \"\""
command: "{{ bin_dir }}/kubectl create secret generic heketi-config-secret --from-file={{ kube_config_dir }}/heketi.json" command: "{{ bin_dir }}/kubectl create secret generic heketi-config-secret --from-file={{ kube_config_dir }}/heketi.json"
- register: "secret_state"
- name: Get the heketi-config-secret secret again
register: "secret_state"
command: "{{ bin_dir }}/kubectl get secret heketi-config-secret -o=name --ignore-not-found=true" command: "{{ bin_dir }}/kubectl get secret heketi-config-secret -o=name --ignore-not-found=true"
changed_when: false changed_when: false
- assert:
- name: Make sure the heketi-config-secret secret exists now
assert:
that: "secret_state.stdout != \"\"" that: "secret_state.stdout != \"\""
msg: "Heketi config secret is not present." msg: "Heketi config secret is not present."

View File

@ -1,11 +1,13 @@
--- ---
- set_fact: - name: set bastion host IP
set_fact:
bastion_ip: "{{ hostvars[groups['bastion'][0]]['ansible_host'] | d(hostvars[groups['bastion'][0]]['ansible_ssh_host']) }}" bastion_ip: "{{ hostvars[groups['bastion'][0]]['ansible_host'] | d(hostvars[groups['bastion'][0]]['ansible_ssh_host']) }}"
delegate_to: localhost delegate_to: localhost
# As we are actually running on localhost, the ansible_ssh_user is your local user when you try to use it directly # As we are actually running on localhost, the ansible_ssh_user is your local user when you try to use it directly
# To figure out the real ssh user, we delegate this task to the bastion and store the ansible_user in real_user # To figure out the real ssh user, we delegate this task to the bastion and store the ansible_user in real_user
- set_fact: - name: Store the current ansible_user in the real_user fact
set_fact:
real_user: "{{ ansible_user }}" real_user: "{{ ansible_user }}"
- name: create ssh bastion conf - name: create ssh bastion conf

View File

@ -4,7 +4,8 @@
path: /run/ostree-booted path: /run/ostree-booted
register: ostree register: ostree
- set_fact: - name: set is_atomic
set_fact:
is_atomic: "{{ ostree.stat.exists }}" is_atomic: "{{ ostree.stat.exists }}"
- name: gather os specific variables - name: gather os specific variables

View File

@ -49,7 +49,8 @@
when: download_run_once when: download_run_once
changed_when: false changed_when: false
- vars: - name: container_download | extract container names from list of kubeadm config images
vars:
kubeadm_images_list: "{{ result.stdout_lines }}" kubeadm_images_list: "{{ result.stdout_lines }}"
set_fact: set_fact:
kubeadm_image: kubeadm_image:
@ -66,7 +67,8 @@
when: download_run_once when: download_run_once
register: result_images register: result_images
- set_fact: - name: container_download | set kubeadm_images
set_fact:
kubeadm_images: "{{ result_images.results | map(attribute='ansible_facts.kubeadm_image') | list | items2dict }}" kubeadm_images: "{{ result_images.results | map(attribute='ansible_facts.kubeadm_image') | list | items2dict }}"
run_once: true run_once: true
when: download_run_once when: download_run_once

View File

@ -9,7 +9,8 @@
- not skip_downloads|default(false) - not skip_downloads|default(false)
- inventory_hostname in groups['kube-master'] - inventory_hostname in groups['kube-master']
- set_fact: - name: Set kubeadm_images
set_fact:
kubeadm_images: {} kubeadm_images: {}
when: when:
- kubeadm_images is not defined - kubeadm_images is not defined

View File

@ -1,9 +1,11 @@
--- ---
- set_fact: - name: Set if containers should be pulled by digest
set_fact:
pull_by_digest: >- pull_by_digest: >-
{%- if download.sha256 is defined and download.sha256 -%}true{%- else -%}false{%- endif -%} {%- if download.sha256 is defined and download.sha256 -%}true{%- else -%}false{%- endif -%}
- set_fact: - name: Set pull_args
set_fact:
pull_args: >- pull_args: >-
{%- if pull_by_digest %}{{ download.repo }}@sha256:{{ download.sha256 }}{%- else -%}{{ download.repo }}:{{ download.tag }}{%- endif -%} {%- if pull_by_digest %}{{ download.repo }}@sha256:{{ download.sha256 }}{%- else -%}{{ download.repo }}:{{ download.tag }}{%- endif -%}
@ -19,7 +21,8 @@
- not download_always_pull - not download_always_pull
- group_names | intersect(download.groups) | length - group_names | intersect(download.groups) | length
- set_fact: - name: Set if pull is required per container
set_fact:
pull_required: >- pull_required: >-
{%- if pull_args in docker_images.stdout.split(',') %}false{%- else -%}true{%- endif -%} {%- if pull_args in docker_images.stdout.split(',') %}false{%- else -%}true{%- endif -%}
when: when:

View File

@ -7,14 +7,14 @@
tags: tags:
- facts - facts
- set_fact: - name: container_download | Set file name of container tarballs
set_fact:
fname: "{{ local_release_dir }}/containers/{{ download.repo|regex_replace('/|\0|:', '_') }}:{{ download.tag|default(download.sha256)|regex_replace('/|\0|:', '_') }}.tar" fname: "{{ local_release_dir }}/containers/{{ download.repo|regex_replace('/|\0|:', '_') }}:{{ download.tag|default(download.sha256)|regex_replace('/|\0|:', '_') }}.tar"
run_once: true run_once: true
when: when:
- download.enabled - download.enabled
- download.container - download.container
- download_run_once - download_run_once
tags: tags:
- facts - facts

View File

@ -109,7 +109,8 @@
loop_control: loop_control:
label: "{{ item.item }}" label: "{{ item.item }}"
- set_fact: - name: Gen_certs | Set cert names per node
set_fact:
my_etcd_node_certs: ['ca.pem', my_etcd_node_certs: ['ca.pem',
'node-{{ inventory_hostname }}.pem', 'node-{{ inventory_hostname }}.pem',
'node-{{ inventory_hostname }}-key.pem'] 'node-{{ inventory_hostname }}-key.pem']

View File

@ -1,5 +1,6 @@
--- ---
- set_fact: - name: set architecture_groups
set_fact:
architecture_groups: architecture_groups:
x86_64: amd64 x86_64: amd64
aarch64: arm64 aarch64: arm64

View File

@ -37,7 +37,8 @@
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
command: "{{ helm_script_dir }}/helm-make-ssl.sh -e {{ helm_home_dir }} -d {{ helm_tiller_cert_dir }}" command: "{{ helm_script_dir }}/helm-make-ssl.sh -e {{ helm_home_dir }} -d {{ helm_tiller_cert_dir }}"
- set_fact: - name: Check_helm_client_certs | Set helm_client_certs
set_fact:
helm_client_certs: ['ca.pem', 'cert.pem', 'key.pem'] helm_client_certs: ['ca.pem', 'cert.pem', 'key.pem']
- name: "Check_helm_client_certs | check if a cert already exists on master node" - name: "Check_helm_client_certs | check if a cert already exists on master node"

View File

@ -16,7 +16,8 @@
run_once: true run_once: true
changed_when: false changed_when: false
- set_fact: - name: Contiv | Set contiv_global_config
set_fact:
contiv_global_config: "{{ (global_config.stdout|from_json)[0] }}" contiv_global_config: "{{ (global_config.stdout|from_json)[0] }}"
- name: Contiv | Set global forwarding mode - name: Contiv | Set global forwarding mode

View File

@ -4,7 +4,8 @@
register: docker_cgroup_driver_result register: docker_cgroup_driver_result
changed_when: false changed_when: false
- set_fact: - name: set facts
set_fact:
standalone_kubelet: >- standalone_kubelet: >-
{%- if inventory_hostname in groups['kube-master'] and inventory_hostname not in groups['kube-node'] -%}true{%- else -%}false{%- endif -%} {%- if inventory_hostname in groups['kube-master'] and inventory_hostname not in groups['kube-node'] -%}true{%- else -%}false{%- endif -%}
kubelet_cgroup_driver_detected: "{{ docker_cgroup_driver_result.stdout }}" kubelet_cgroup_driver_detected: "{{ docker_cgroup_driver_result.stdout }}"

View File

@ -1,5 +1,6 @@
--- ---
- set_fact: - name: set architecture_groups
set_fact:
architecture_groups: architecture_groups:
x86_64: amd64 x86_64: amd64
aarch64: arm64 aarch64: arm64
@ -25,10 +26,12 @@
path: /run/ostree-booted path: /run/ostree-booted
register: ostree register: ostree
- set_fact: - name: set is_atomic
set_fact:
is_atomic: "{{ ostree.stat.exists }}" is_atomic: "{{ ostree.stat.exists }}"
- set_fact: - name: set kube_cert_group on atomic hosts
set_fact:
kube_cert_group: "kube" kube_cert_group: "kube"
when: is_atomic when: is_atomic
@ -39,11 +42,10 @@
changed_when: false changed_when: false
check_mode: no check_mode: no
- set_fact: - name: set dns facts
set_fact:
resolvconf: >- resolvconf: >-
{%- if resolvconf.rc == 0 -%}true{%- else -%}false{%- endif -%} {%- if resolvconf.rc == 0 -%}true{%- else -%}false{%- endif -%}
- set_fact:
bogus_domains: |- bogus_domains: |-
{% for d in [ 'default.svc.' + dns_domain, 'svc.' + dns_domain ] + searchdomains|default([]) -%} {% for d in [ 'default.svc.' + dns_domain, 'svc.' + dns_domain ] + searchdomains|default([]) -%}
{{ dns_domain }}.{{ d }}./{{ d }}.{{ d }}./com.{{ d }}./ {{ dns_domain }}.{{ d }}./{{ d }}.{{ d }}./com.{{ d }}./

View File

@ -56,7 +56,8 @@
- {name: contiv-netplugin, file: contiv-netplugin.yml, type: daemonset} - {name: contiv-netplugin, file: contiv-netplugin.yml, type: daemonset}
when: inventory_hostname in groups['kube-master'] when: inventory_hostname in groups['kube-master']
- set_fact: - name: Contiv | Add another manifest if contiv_enable_api_proxy is true
set_fact:
contiv_manifests: |- contiv_manifests: |-
{% set _ = contiv_manifests.append({"name": "contiv-api-proxy", "file": "contiv-api-proxy.yml", "type": "daemonset"}) %} {% set _ = contiv_manifests.append({"name": "contiv-api-proxy", "file": "contiv-api-proxy.yml", "type": "daemonset"}) %}
{{ contiv_manifests }} {{ contiv_manifests }}

View File

@ -21,7 +21,8 @@
failed_when: false failed_when: false
changed_when: false changed_when: false
- set_fact: - name: Set if node needs cordoning
set_fact:
needs_cordoning: >- needs_cordoning: >-
{% if kubectl_node_ready.stdout == "True" and not kubectl_node_schedulable.stdout -%} {% if kubectl_node_ready.stdout == "True" and not kubectl_node_schedulable.stdout -%}
true true

View File

@ -101,7 +101,8 @@
ETCDCTL_KEY_FILE: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem" ETCDCTL_KEY_FILE: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem"
tasks: tasks:
- set_fact: - name: set etcd_access_addresses
set_fact:
etcd_access_addresses: |- etcd_access_addresses: |-
{% for item in groups['etcd'] -%} {% for item in groups['etcd'] -%}
https://{{ item }}:2379{% if not loop.last %},{% endif %} https://{{ item }}:2379{% if not loop.last %},{% endif %}

View File

@ -57,7 +57,8 @@
- name: show vars - name: show vars
debug: msg="{{ cloud_region }}, {{ cloud_image }}" debug: msg="{{ cloud_region }}, {{ cloud_image }}"
- set_fact: - name: set instance names
set_fact:
instance_names: >- instance_names: >-
{%- if mode in ['separate', 'ha'] -%} {%- if mode in ['separate', 'ha'] -%}
["k8s-{{ test_name }}-1", "k8s-{{ test_name }}-2", "k8s-{{ test_name }}-3"] ["k8s-{{ test_name }}-1", "k8s-{{ test_name }}-2", "k8s-{{ test_name }}-3"]

View File

@ -16,7 +16,8 @@
set_fact: set_fact:
test_name: "{{ test_id |regex_replace('\\.', '-') }}" test_name: "{{ test_id |regex_replace('\\.', '-') }}"
- set_fact: - name: set instance names
set_fact:
instance_names: >- instance_names: >-
{%- if mode in ['separate', 'separate-scale', 'ha', 'ha-scale'] -%} {%- if mode in ['separate', 'separate-scale', 'ha', 'ha-scale'] -%}
k8s-{{ test_name }}-1,k8s-{{ test_name }}-2,k8s-{{ test_name }}-3 k8s-{{ test_name }}-1,k8s-{{ test_name }}-2,k8s-{{ test_name }}-3

View File

@ -10,7 +10,8 @@
set_fact: set_fact:
test_name: "{{ test_id |regex_replace('\\.', '-') }}" test_name: "{{ test_id |regex_replace('\\.', '-') }}"
- set_fact: - name: set instance names
set_fact:
instance_names: >- instance_names: >-
{%- if mode in ['separate', 'ha'] -%} {%- if mode in ['separate', 'ha'] -%}
k8s-{{ test_name }}-1,k8s-{{ test_name }}-2,k8s-{{ test_name }}-3 k8s-{{ test_name }}-1,k8s-{{ test_name }}-2,k8s-{{ test_name }}-3

View File

@ -15,7 +15,8 @@
set_fact: set_fact:
test_name: "kargo-ci-{{ out.stdout_lines[0] }}" test_name: "kargo-ci-{{ out.stdout_lines[0] }}"
- set_fact: - name: Set file_name for logs
set_fact:
file_name: "{{ ostype }}-{{ kube_network_plugin }}-{{ commit }}-logs.tar.gz" file_name: "{{ ostype }}-{{ kube_network_plugin }}-{{ commit }}-logs.tar.gz"
- name: Create a bucket - name: Create a bucket

View File

@ -7,7 +7,8 @@
bin_dir: "/opt/bin" bin_dir: "/opt/bin"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact: - name: Force binaries directory for other hosts
set_fact:
bin_dir: "/usr/local/bin" bin_dir: "/usr/local/bin"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
@ -16,7 +17,8 @@
register: get_pods register: get_pods
no_log: true no_log: true
- debug: msg="{{ get_pods.stdout.split('\n') }}" - debug:
msg: "{{ get_pods.stdout.split('\n') }}"
- name: Check that all pods are running and ready - name: Check that all pods are running and ready
shell: "{{ bin_dir }}/kubectl get pods --all-namespaces --no-headers -o yaml" shell: "{{ bin_dir }}/kubectl get pods --all-namespaces --no-headers -o yaml"
@ -36,5 +38,6 @@
register: get_pods register: get_pods
no_log: true no_log: true
- debug: msg="{{ get_pods.stdout.split('\n') }}" - debug:
msg: "{{ get_pods.stdout.split('\n') }}"
failed_when: not run_pods_log is success failed_when: not run_pods_log is success

View File

@ -10,7 +10,8 @@
bin_dir: "/opt/bin" bin_dir: "/opt/bin"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact: - name: Force binaries directory for other hosts
set_fact:
bin_dir: "/usr/local/bin" bin_dir: "/usr/local/bin"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
@ -38,7 +39,8 @@
register: pods register: pods
no_log: true no_log: true
- debug: msg="{{ pods.stdout.split('\n') }}" - debug:
msg: "{{ pods.stdout.split('\n') }}"
failed_when: not run_pods_log is success failed_when: not run_pods_log is success
- name: Get hostnet pods - name: Get hostnet pods
@ -58,9 +60,11 @@
register: get_pods register: get_pods
no_log: true no_log: true
- debug: msg="{{ get_pods.stdout.split('\n') }}" - debug:
msg: "{{ get_pods.stdout.split('\n') }}"
- set_fact: - name: Set networking facts
set_fact:
kube_pods_subnet: 10.233.64.0/18 kube_pods_subnet: 10.233.64.0/18
pod_names: "{{ (pods.stdout | from_json)['items'] | map(attribute = 'metadata.name') | list }}" pod_names: "{{ (pods.stdout | from_json)['items'] | map(attribute = 'metadata.name') | list }}"
pod_ips: "{{ (pods.stdout | from_json)['items'] | selectattr('status.podIP', 'defined') | map(attribute = 'status.podIP') | list }}" pod_ips: "{{ (pods.stdout | from_json)['items'] | selectattr('status.podIP', 'defined') | map(attribute = 'status.podIP') | list }}"
@ -74,19 +78,25 @@
- name: Check pods IP are in correct network - name: Check pods IP are in correct network
assert: assert:
that: item | ipaddr(kube_pods_subnet) that: item | ipaddr(kube_pods_subnet)
when: not item in pods_hostnet and item in pods_running when:
- not item in pods_hostnet
- item in pods_running
with_items: "{{ pod_ips }}" with_items: "{{ pod_ips }}"
- name: Ping between pods is working - name: Ping between pods is working
shell: "{{ bin_dir }}/kubectl -n test exec {{ item[0] }} -- ping -c 4 {{ item[1] }}" shell: "{{ bin_dir }}/kubectl -n test exec {{ item[0] }} -- ping -c 4 {{ item[1] }}"
when: not item[0] in pods_hostnet and not item[1] in pods_hostnet when:
- not item[0] in pods_hostnet
- not item[1] in pods_hostnet
with_nested: with_nested:
- "{{ pod_names }}" - "{{ pod_names }}"
- "{{ pod_ips }}" - "{{ pod_ips }}"
- name: Ping between hostnet pods is working - name: Ping between hostnet pods is working
shell: "{{ bin_dir }}/kubectl -n test exec {{ item[0] }} -- ping -c 4 {{ item[1] }}" shell: "{{ bin_dir }}/kubectl -n test exec {{ item[0] }} -- ping -c 4 {{ item[1] }}"
when: item[0] in pods_hostnet and item[1] in pods_hostnet when:
- item[0] in pods_hostnet
- item[1] in pods_hostnet
with_nested: with_nested:
- "{{ pod_names }}" - "{{ pod_names }}"
- "{{ pod_ips }}" - "{{ pod_ips }}"

View File

@ -19,7 +19,8 @@
bin_dir: "/opt/bin" bin_dir: "/opt/bin"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact: - name: Force binaries directory on other hosts
set_fact:
bin_dir: "/usr/local/bin" bin_dir: "/usr/local/bin"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
@ -42,7 +43,8 @@
delay: 10 delay: 10
failed_when: false failed_when: false
- command: "{{ bin_dir }}/kubectl -n {{ netcheck_namespace }} describe pod -l app={{ item }}" - name: Get netchecker pods
command: "{{ bin_dir }}/kubectl -n {{ netcheck_namespace }} describe pod -l app={{ item }}"
run_once: true run_once: true
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
no_log: false no_log: false
@ -51,12 +53,15 @@
- netchecker-agent-hostnet - netchecker-agent-hostnet
when: not nca_pod is success when: not nca_pod is success
- debug: var=nca_pod.stdout_lines - debug:
var: nca_pod.stdout_lines
failed_when: not nca_pod is success failed_when: not nca_pod is success
run_once: true run_once: true
- name: Get netchecker agents - name: Get netchecker agents
uri: url=http://{{ ansible_default_ipv4.address }}:{{ netchecker_port }}/api/v1/agents/ return_content=yes uri:
url: "http://{{ ansible_default_ipv4.address }}:{{ netchecker_port }}/api/v1/agents/"
return_content: yes
run_once: true run_once: true
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
register: agents register: agents
@ -68,7 +73,8 @@
failed_when: false failed_when: false
no_log: true no_log: true
- debug: var=agents.content|from_json - debug:
var: agents.content | from_json
failed_when: not agents is success and not agents.content=='{}' failed_when: not agents is success and not agents.content=='{}'
run_once: true run_once: true
when: when:
@ -77,7 +83,10 @@
- agents.content[0] == '{' - agents.content[0] == '{'
- name: Check netchecker status - name: Check netchecker status
uri: url=http://{{ ansible_default_ipv4.address }}:{{ netchecker_port }}/api/v1/connectivity_check status_code=200 return_content=yes uri:
url: "http://{{ ansible_default_ipv4.address }}:{{ netchecker_port }}/api/v1/connectivity_check"
status_code: 200
return_content: yes
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
run_once: true run_once: true
register: result register: result
@ -90,17 +99,20 @@
when: when:
- agents.content != '{}' - agents.content != '{}'
- debug: var=ncs_pod - debug:
var: ncs_pod
run_once: true run_once: true
when: not result is success when: not result is success
- command: "{{ bin_dir }}/kubectl -n kube-system logs -l k8s-app=kube-proxy" - name: Get kube-proxy logs
command: "{{ bin_dir }}/kubectl -n kube-system logs -l k8s-app=kube-proxy"
run_once: true run_once: true
when: not result is success when: not result is success
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
no_log: false no_log: false
- command: "{{ bin_dir }}/kubectl -n kube-system logs -l k8s-app={{ item }} --all-containers" - name: Get logs from other apps
command: "{{ bin_dir }}/kubectl -n kube-system logs -l k8s-app={{ item }} --all-containers"
run_once: true run_once: true
when: not result is success when: not result is success
delegate_to: "{{ groups['kube-master'][0] }}" delegate_to: "{{ groups['kube-master'][0] }}"
@ -115,7 +127,8 @@
- calico-node - calico-node
- cilium - cilium
- debug: var=result.content|from_json - debug:
var: result.content | from_json
failed_when: not result is success failed_when: not result is success
run_once: true run_once: true
when: when:
@ -123,13 +136,15 @@
- result.content - result.content
- result.content[0] == '{' - result.content[0] == '{'
- debug: var=result - debug:
var: result
failed_when: not result is success failed_when: not result is success
run_once: true run_once: true
when: when:
- not agents.content == '{}' - not agents.content == '{}'
- debug: msg="Cannot get reports from agents, consider as PASSING" - debug:
msg: "Cannot get reports from agents, consider as PASSING"
run_once: true run_once: true
when: when:
- agents.content == '{}' - agents.content == '{}'