diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..6da030f91c7d03ae2e9214f41eac8a3450a04d86
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+root = true
+
+[*.{yaml,yml,yml.j2,yaml.j2}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true
+charset = utf-8
+
+[{Dockerfile}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true
+charset = utf-8
diff --git a/.gitlab-ci/terraform.yml b/.gitlab-ci/terraform.yml
index 0bd133f0db6b50f57727be28d8b573b42018a8f0..241cbe53e7446ae1d577236a07e3d14f39f5c47c 100644
--- a/.gitlab-ci/terraform.yml
+++ b/.gitlab-ci/terraform.yml
@@ -171,4 +171,4 @@ tf-elastx_ubuntu18-calico:
     TF_VAR_flavor_k8s_master: 3f73fc93-ec61-4808-88df-2580d94c1a9b    # v1-standard-2
     TF_VAR_flavor_k8s_node: 3f73fc93-ec61-4808-88df-2580d94c1a9b      # v1-standard-2
     TF_VAR_image: ubuntu-18.04-server-latest
-    TF_VAR_k8s_allowed_remote_ips: '["0.0.0.0/0"]'
\ No newline at end of file
+    TF_VAR_k8s_allowed_remote_ips: '["0.0.0.0/0"]'
diff --git a/.gitlab-ci/vagrant.yml b/.gitlab-ci/vagrant.yml
index fcc5de4594604e1d8d1e8e234ab07b02b5c5c060..7861dbe3ccc3d58dc78f165005d59c8a9331b4b1 100644
--- a/.gitlab-ci/vagrant.yml
+++ b/.gitlab-ci/vagrant.yml
@@ -51,4 +51,4 @@ vagrant_ubuntu18-weave-medium:
 vagrant_ubuntu20-flannel:
   stage: deploy-part2
   extends: .vagrant
-  when: on_success
\ No newline at end of file
+  when: on_success
diff --git a/Dockerfile b/Dockerfile
index 67ac6f81b25ac5d0396121af2c77e0ef468449bb..fd3eec5a699a59da7bad0fd5d84f7b1e016d8d83 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,12 +6,12 @@ RUN apt update -y && \
     apt install -y \
     libssl-dev python3-dev sshpass apt-transport-https jq moreutils \
     ca-certificates curl gnupg2 software-properties-common python3-pip rsync
-RUN  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
-     add-apt-repository \
-     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
-     $(lsb_release -cs) \
-     stable" \
-     && apt update -y && apt-get install docker-ce -y
+RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
+    add-apt-repository \
+    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+    $(lsb_release -cs) \
+    stable" \
+    && apt update -y && apt-get install docker-ce -y
 COPY . .
 RUN /usr/bin/python3 -m pip install pip -U && /usr/bin/python3 -m pip install -r tests/requirements.txt && python3 -m pip install -r requirements.txt && update-alternatives --install /usr/bin/python python /usr/bin/python3 1
 RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.5/bin/linux/amd64/kubectl \
diff --git a/_config.yml b/_config.yml
index a2b6bf07ebd7f7eb768d3be1f9746b34d1c32af4..9b686697c4e6298c55b709866af11b1bd3d7bea1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,2 +1,2 @@
 ---
-theme: jekyll-theme-slate
\ No newline at end of file
+theme: jekyll-theme-slate
diff --git a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-endpoint.json.j2 b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-endpoint.json.j2
index 9619139e496727b6caa36c5d82bfb594f7d3d450..866c09f3ea2c108ae092a02552640815ed4d4cc0 100644
--- a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-endpoint.json.j2
+++ b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-endpoint.json.j2
@@ -8,7 +8,7 @@
     {% for host in groups['gfs-cluster'] %}
     {
       "addresses": [
-        { 
+        {
           "ip": "{{hostvars[host]['ip']|default(hostvars[host].ansible_default_ipv4['address'])}}"
         }
       ],
diff --git a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-pv.yml.j2 b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-pv.yml.j2
index 4eef00535a279c937af8ba434e7a7a3c45e36edd..f6ba4358efc3fcb900d48aa7494f8dec6c9bd158 100644
--- a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-pv.yml.j2
+++ b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/templates/glusterfs-kubernetes-pv.yml.j2
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: PersistentVolume
 metadata:
-  name: glusterfs 
+  name: glusterfs
 spec:
   capacity:
       storage: "{{ hostvars[groups['gfs-cluster'][0]].gluster_disk_size_gb }}Gi"
diff --git a/contrib/vault/roles/vault/tasks/bootstrap/start_vault_temp.yml b/contrib/vault/roles/vault/tasks/bootstrap/start_vault_temp.yml
index 9ff327366c6c8f6b92dbbec9ad5c9f2b95bae5a0..77398009c37c8ff7234f525e9eb2bd4eea2c2772 100644
--- a/contrib/vault/roles/vault/tasks/bootstrap/start_vault_temp.yml
+++ b/contrib/vault/roles/vault/tasks/bootstrap/start_vault_temp.yml
@@ -6,11 +6,11 @@
 
 - name: bootstrap/start_vault_temp | Start single node Vault with file backend
   command: >
-           docker run -d --cap-add=IPC_LOCK --name {{ vault_temp_container_name }}
-           -p {{ vault_port }}:{{ vault_port }}
-           -e 'VAULT_LOCAL_CONFIG={{ vault_temp_config|to_json }}'
-           -v /etc/vault:/etc/vault
-           {{ vault_image_repo }}:{{ vault_version }} server
+          docker run -d --cap-add=IPC_LOCK --name {{ vault_temp_container_name }}
+          -p {{ vault_port }}:{{ vault_port }}
+          -e 'VAULT_LOCAL_CONFIG={{ vault_temp_config|to_json }}'
+          -v /etc/vault:/etc/vault
+          {{ vault_image_repo }}:{{ vault_version }} server
 
 - name: bootstrap/start_vault_temp | Start again single node Vault with file backend
   command: docker start {{ vault_temp_container_name }}
diff --git a/contrib/vault/roles/vault/tasks/bootstrap/sync_secrets.yml b/contrib/vault/roles/vault/tasks/bootstrap/sync_secrets.yml
index dff1f16ddfea3795a65c4029c716ca0e4e0646bf..5471ea520de6b7ba4e7a8a6adc822059623eeaba 100644
--- a/contrib/vault/roles/vault/tasks/bootstrap/sync_secrets.yml
+++ b/contrib/vault/roles/vault/tasks/bootstrap/sync_secrets.yml
@@ -21,9 +21,9 @@
 - name: bootstrap/sync_secrets | Print out warning message if secrets are not available and vault is initialized
   pause:
     prompt: >
-         Vault orchestration may not be able to proceed. The Vault cluster is initialized, but
-         'root_token' or 'unseal_keys' were not found in {{ vault_secrets_dir }}. These are
-         needed for many vault orchestration steps.
+          Vault orchestration may not be able to proceed. The Vault cluster is initialized, but
+          'root_token' or 'unseal_keys' were not found in {{ vault_secrets_dir }}. These are
+          needed for many vault orchestration steps.
   when: vault_cluster_is_initialized and not vault_secrets_available
 
 - name: bootstrap/sync_secrets | Cat root_token from a vault host
diff --git a/contrib/vault/roles/vault/tasks/shared/check_etcd.yml b/contrib/vault/roles/vault/tasks/shared/check_etcd.yml
index f8599d5367ed4ff9508b6d79c78aff659d1f14d5..444228701b2b92178987cade19d8c86feb1dcb19 100644
--- a/contrib/vault/roles/vault/tasks/shared/check_etcd.yml
+++ b/contrib/vault/roles/vault/tasks/shared/check_etcd.yml
@@ -25,6 +25,6 @@
 - name: check_etcd | Fail if etcd is not available and needed
   fail:
     msg: >
-         Unable to start Vault cluster! Etcd is not available at
-         {{ vault_etcd_url.split(',') | first }} however it is needed by Vault as a backend.
+        Unable to start Vault cluster! Etcd is not available at
+        {{ vault_etcd_url.split(',') | first }} however it is needed by Vault as a backend.
   when: vault_etcd_needed|d() and not vault_etcd_available
diff --git a/contrib/vault/roles/vault/tasks/shared/check_vault.yml b/contrib/vault/roles/vault/tasks/shared/check_vault.yml
index c109048015e8bf938323bf8cfec5141ea5f74f8f..32571f4795cc773fab820f56005ac8d8ae71fbd8 100644
--- a/contrib/vault/roles/vault/tasks/shared/check_vault.yml
+++ b/contrib/vault/roles/vault/tasks/shared/check_vault.yml
@@ -46,7 +46,7 @@
   set_fact:
     vault_cluster_is_initialized: >-
       {{ vault_is_initialized or
-         hostvars[item]['vault_is_initialized'] or
-         ('value' in vault_etcd_exists.stdout|default('')) }}
+        hostvars[item]['vault_is_initialized'] or
+        ('value' in vault_etcd_exists.stdout|default('')) }}
   with_items: "{{ groups.vault }}"
   run_once: true
diff --git a/contrib/vault/roles/vault/tasks/shared/create_role.yml b/contrib/vault/roles/vault/tasks/shared/create_role.yml
index d3aa3e441e9a85763ad717fb822dcf27b3e13781..792f7548401639ad0f5d5d314900a2579b1a48d4 100644
--- a/contrib/vault/roles/vault/tasks/shared/create_role.yml
+++ b/contrib/vault/roles/vault/tasks/shared/create_role.yml
@@ -6,9 +6,9 @@
     ca_cert: "{{ vault_cert_dir }}/ca.pem"
     name: "{{ create_role_name }}"
     rules: >-
-           {%- if create_role_policy_rules|d("default") == "default" -%}
-           {{
-           { 'path': {
+            {%- if create_role_policy_rules|d("default") == "default" -%}
+            {{
+            { 'path': {
                 create_role_mount_path + '/issue/' + create_role_name: {'policy': 'write'},
                 create_role_mount_path + '/roles/' + create_role_name: {'policy': 'read'}
             }} | to_json + '\n'
@@ -24,13 +24,13 @@
     ca_cert: "{{ vault_cert_dir }}/ca.pem"
     secret: "{{ create_role_mount_path }}/roles/{{ create_role_name }}"
     data: |
-     {%- if create_role_options|d("default") == "default" -%}
-     {
-     allow_any_name: true
-     }
-     {%- else -%}
-     {{ create_role_options | to_json }}
-     {%- endif -%}
+      {%- if create_role_options|d("default") == "default" -%}
+      {
+      allow_any_name: true
+      }
+      {%- else -%}
+      {{ create_role_options | to_json }}
+      {%- endif -%}
 
 ## Userpass based auth method
 
diff --git a/contrib/vault/roles/vault/tasks/shared/gen_userpass.yml b/contrib/vault/roles/vault/tasks/shared/gen_userpass.yml
index a49b443e3683dfabb82e1c72d2383c5fe8f054af..e609fc41afd1a16de66ac15019d8fbe69d37536b 100644
--- a/contrib/vault/roles/vault/tasks/shared/gen_userpass.yml
+++ b/contrib/vault/roles/vault/tasks/shared/gen_userpass.yml
@@ -18,8 +18,8 @@
 - name: shared/gen_userpass | Copy credentials to all hosts in the group
   copy:
     content: >
-             {{
-             {'username': gen_userpass_username,
-              'password': gen_userpass_password} | to_nice_json(indent=4)
-             }}
+            {{
+            {'username': gen_userpass_username,
+            'password': gen_userpass_password} | to_nice_json(indent=4)
+            }}
     dest: "{{ vault_roles_dir }}/{{ gen_userpass_role }}/userpass"
diff --git a/contrib/vault/roles/vault/templates/http-proxy.conf.j2 b/contrib/vault/roles/vault/templates/http-proxy.conf.j2
index 0e24a9d773b45d8c821da61a63c585ed4f68005c..e790477719dd30fd8c252a909de350d172844cec 100644
--- a/contrib/vault/roles/vault/templates/http-proxy.conf.j2
+++ b/contrib/vault/roles/vault/templates/http-proxy.conf.j2
@@ -1,2 +1,2 @@
 [Service]
-Environment={% if http_proxy %}"HTTP_PROXY={{ http_proxy }}"{% endif %} {% if https_proxy %}"HTTPS_PROXY={{ https_proxy }}"{% endif %} {% if no_proxy %}"NO_PROXY={{ no_proxy }}"{% endif %}
\ No newline at end of file
+Environment={% if http_proxy %}"HTTP_PROXY={{ http_proxy }}"{% endif %} {% if https_proxy %}"HTTPS_PROXY={{ https_proxy }}"{% endif %} {% if no_proxy %}"NO_PROXY={{ no_proxy }}"{% endif %}
diff --git a/inventory/sample/group_vars/etcd.yml b/inventory/sample/group_vars/etcd.yml
index 737482f7ec0e543cbb933aa3ad7446678e1ebf1e..cbc388e43e2b91e60cd4f3232dba19f163f451b8 100644
--- a/inventory/sample/group_vars/etcd.yml
+++ b/inventory/sample/group_vars/etcd.yml
@@ -19,4 +19,4 @@
 # etcd_peer_client_auth: true
 
 ## Settings for etcd deployment type
-etcd_deployment_type: docker
\ No newline at end of file
+etcd_deployment_type: docker
diff --git a/roles/container-engine/containerd/templates/apt_preferences.d/debian_containerd.j2 b/roles/container-engine/containerd/templates/apt_preferences.d/debian_containerd.j2
index 896d70ff9ea182327788155aca13ea4e6f4f0580..5299573b3650f2774160908601856e3a6743c667 100644
--- a/roles/container-engine/containerd/templates/apt_preferences.d/debian_containerd.j2
+++ b/roles/container-engine/containerd/templates/apt_preferences.d/debian_containerd.j2
@@ -1,3 +1,3 @@
-Package: {{ containerd_package }}
-Pin: version {{ containerd_version }}*
-Pin-Priority: 1001
+Package: {{ containerd_package }}
+Pin: version {{ containerd_version }}*
+Pin-Priority: 1001
diff --git a/roles/container-engine/containerd/vars/debian.yml b/roles/container-engine/containerd/vars/debian.yml
index 66aa5f08c4664bbc565e5c1d6e86f513bfa2b49c..108625d32e99ad9ec9be266bdac3d42f62bf1b98 100644
--- a/roles/container-engine/containerd/vars/debian.yml
+++ b/roles/container-engine/containerd/vars/debian.yml
@@ -15,8 +15,8 @@ containerd_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb {{ containerd_debian_repo_base_url }}
-       {{ ansible_distribution_release|lower }}
-       {{ containerd_debian_repo_component }}
+      deb {{ containerd_debian_repo_base_url }}
+      {{ ansible_distribution_release|lower }}
+      {{ containerd_debian_repo_component }}
 
 runc_binary: /usr/bin/runc
diff --git a/roles/container-engine/containerd/vars/ubuntu-amd64.yml b/roles/container-engine/containerd/vars/ubuntu-amd64.yml
index a57cf5030cf385bbc5cfe3fc26897bc46df08892..013df15379f27287a91785da62d723bec19b07d7 100644
--- a/roles/container-engine/containerd/vars/ubuntu-amd64.yml
+++ b/roles/container-engine/containerd/vars/ubuntu-amd64.yml
@@ -15,8 +15,8 @@ containerd_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb {{ containerd_ubuntu_repo_base_url }}
-       {{ ansible_distribution_release|lower }}
-       {{ containerd_ubuntu_repo_component }}
+      deb {{ containerd_ubuntu_repo_base_url }}
+      {{ ansible_distribution_release|lower }}
+      {{ containerd_ubuntu_repo_component }}
 
 runc_binary: /usr/bin/runc
diff --git a/roles/container-engine/docker/vars/debian.yml b/roles/container-engine/docker/vars/debian.yml
index e19c090a36da178f5f5573c348ba39e348d9f3e9..c266302eb0bcb4291f7cef537a138f05b2d331f9 100644
--- a/roles/container-engine/docker/vars/debian.yml
+++ b/roles/container-engine/docker/vars/debian.yml
@@ -41,9 +41,9 @@ docker_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb {{ docker_debian_repo_base_url }}
-       {{ ansible_distribution_release|lower }}
-       stable
+      deb {{ docker_debian_repo_base_url }}
+      {{ ansible_distribution_release|lower }}
+      stable
 
 dockerproject_repo_key_info:
   pkg_key: apt_key
@@ -55,6 +55,6 @@ dockerproject_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb {{ docker_debian_repo_base_url }}
-       {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
-       main
+      deb {{ docker_debian_repo_base_url }}
+      {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
+      main
diff --git a/roles/container-engine/docker/vars/ubuntu-amd64.yml b/roles/container-engine/docker/vars/ubuntu-amd64.yml
index ea9f143d05b98f7cde9398ea27653423c9a6e750..0f264e5e3c3baff7dbaf93e2c96adfedc9acf7e5 100644
--- a/roles/container-engine/docker/vars/ubuntu-amd64.yml
+++ b/roles/container-engine/docker/vars/ubuntu-amd64.yml
@@ -41,9 +41,9 @@ docker_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
-       {{ ansible_distribution_release|lower }}
-       stable
+      deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
+      {{ ansible_distribution_release|lower }}
+      stable
 
 dockerproject_repo_key_info:
   pkg_key: apt_key
@@ -55,6 +55,6 @@ dockerproject_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
-       {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
-       main
+      deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
+      {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
+      main
diff --git a/roles/container-engine/docker/vars/ubuntu-arm64.yml b/roles/container-engine/docker/vars/ubuntu-arm64.yml
index fd25b6bcbe7506e7f8a1f0ab90e205ef14f12e44..bd35458e52c0373df9f297743b38d2a7b9ff24fd 100644
--- a/roles/container-engine/docker/vars/ubuntu-arm64.yml
+++ b/roles/container-engine/docker/vars/ubuntu-arm64.yml
@@ -37,9 +37,9 @@ docker_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
-       {{ ansible_distribution_release|lower }}
-       stable
+      deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
+      {{ ansible_distribution_release|lower }}
+      stable
 
 dockerproject_repo_key_info:
   pkg_key: apt_key
@@ -51,6 +51,6 @@ dockerproject_repo_info:
   pkg_repo: apt_repository
   repos:
     - >
-       deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
-       {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
-       main
+      deb [arch={{ host_architecture }}] {{ docker_ubuntu_repo_base_url }}
+      {{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}
+      main
diff --git a/roles/etcd/tasks/check_certs.yml b/roles/etcd/tasks/check_certs.yml
index aa77e4d097098eb0826263d0a519744ed4178fe4..d3aaa9c23bdc33edcf6befa8a08e8ccf617f8514 100644
--- a/roles/etcd/tasks/check_certs.yml
+++ b/roles/etcd/tasks/check_certs.yml
@@ -30,14 +30,14 @@
   with_items: "{{ expected_files }}"
   vars:
     expected_files: >-
-       ['{{ etcd_cert_dir }}/ca.pem',
-       {% set all_etcd_hosts = groups['k8s-cluster']|union(groups['etcd'])|union(groups['calico-rr']|default([]))|unique|sort %}
-       {% for host in all_etcd_hosts %}
-         '{{ etcd_cert_dir }}/node-{{ host }}-key.pem',
-         '{{ etcd_cert_dir }}/admin-{{ host }}-key.pem',
-         '{{ etcd_cert_dir }}/member-{{ host }}-key.pem'
-         {% if not loop.last %}{{','}}{% endif %}
-       {% endfor %}]
+      ['{{ etcd_cert_dir }}/ca.pem',
+      {% set all_etcd_hosts = groups['k8s-cluster']|union(groups['etcd'])|union(groups['calico-rr']|default([]))|unique|sort %}
+      {% for host in all_etcd_hosts %}
+        '{{ etcd_cert_dir }}/node-{{ host }}-key.pem',
+        '{{ etcd_cert_dir }}/admin-{{ host }}-key.pem',
+        '{{ etcd_cert_dir }}/member-{{ host }}-key.pem'
+        {% if not loop.last %}{{','}}{% endif %}
+      {% endfor %}]
 
 - name: "Check_certs | Set 'gen_master_certs' to true"
   set_fact:
diff --git a/roles/etcd/tasks/gen_certs_script.yml b/roles/etcd/tasks/gen_certs_script.yml
index adc7c99e8736906508180407f45c9fbb7a168e93..651b76719fcf952f4363f79b43056479dcac4111 100644
--- a/roles/etcd/tasks/gen_certs_script.yml
+++ b/roles/etcd/tasks/gen_certs_script.yml
@@ -111,9 +111,9 @@
 
 - name: Gen_certs | Set cert names per node
   set_fact:
-    my_etcd_node_certs: ['ca.pem',
-                         'node-{{ inventory_hostname }}.pem',
-                         'node-{{ inventory_hostname }}-key.pem']
+    my_etcd_node_certs: [ 'ca.pem',
+                          'node-{{ inventory_hostname }}.pem',
+                          'node-{{ inventory_hostname }}-key.pem']
   tags:
     - facts
 
diff --git a/roles/etcd/tasks/install_etcdctl_docker.yml b/roles/etcd/tasks/install_etcdctl_docker.yml
index 1d87ccc8e8d3ce0e7ac7d1fd9f5792654f24e303..74ae07f18114766513760501cd75c3a5f8ee5bee 100644
--- a/roles/etcd/tasks/install_etcdctl_docker.yml
+++ b/roles/etcd/tasks/install_etcdctl_docker.yml
@@ -1,9 +1,9 @@
 ---
 - name: Install | Copy etcdctl binary from docker container
   command: sh -c "{{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy;
-           {{ docker_bin_dir }}/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
-           {{ docker_bin_dir }}/docker cp etcdctl-binarycopy:/usr/local/bin/etcdctl {{ bin_dir }}/etcdctl &&
-           {{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy"
+            {{ docker_bin_dir }}/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
+            {{ docker_bin_dir }}/docker cp etcdctl-binarycopy:/usr/local/bin/etcdctl {{ bin_dir }}/etcdctl &&
+            {{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy"
   register: etcdctl_install_result
   until: etcdctl_install_result.rc == 0
   retries: "{{ etcd_retries }}"
diff --git a/roles/kubernetes-apps/cloud_controller/oci/templates/controller-manager-config.yml.j2 b/roles/kubernetes-apps/cloud_controller/oci/templates/controller-manager-config.yml.j2
index 695cc55b459fe2dc68423cfb5ab13401e90f38ef..b8dcc60fa5b6fdfcc09162a4c82c02a92cf477fe 100644
--- a/roles/kubernetes-apps/cloud_controller/oci/templates/controller-manager-config.yml.j2
+++ b/roles/kubernetes-apps/cloud_controller/oci/templates/controller-manager-config.yml.j2
@@ -18,14 +18,14 @@ auth:
   useInstancePrincipals: true
 {% else %}
   useInstancePrincipals: false
-  
+
   region: {{ oci_region_id }}
   tenancy: {{ oci_tenancy_id }}
   user: {{ oci_user_id }}
-  key: | 
+  key: |
     {{ oci_private_key }}
 
-  {% if oci_private_key_passphrase is defined %}  
+  {% if oci_private_key_passphrase is defined %}
   passphrase: {{ oci_private_key_passphrase }}
   {% endif %}
 
@@ -75,16 +75,16 @@ loadBalancer:
 # Optional rate limit controls for accessing OCI API
 rateLimiter:
 {% if oci_rate_limit.rate_limit_qps_read %}
-  rateLimitQPSRead: {{ oci_rate_limit.rate_limit_qps_read }} 
+  rateLimitQPSRead: {{ oci_rate_limit.rate_limit_qps_read }}
 {% endif %}
 {% if oci_rate_limit.rate_limit_qps_write %}
-  rateLimitQPSWrite: {{ oci_rate_limit.rate_limit_qps_write }} 
+  rateLimitQPSWrite: {{ oci_rate_limit.rate_limit_qps_write }}
 {% endif %}
 {% if oci_rate_limit.rate_limit_bucket_read %}
-  rateLimitBucketRead: {{ oci_rate_limit.rate_limit_bucket_read }} 
+  rateLimitBucketRead: {{ oci_rate_limit.rate_limit_bucket_read }}
 {% endif %}
 {% if oci_rate_limit.rate_limit_bucket_write %}
-  rateLimitBucketWrite: {{ oci_rate_limit.rate_limit_bucket_write }} 
+  rateLimitBucketWrite: {{ oci_rate_limit.rate_limit_bucket_write }}
 {% endif %}
 {% endif %}
 
diff --git a/roles/kubernetes-apps/cluster_roles/templates/node-webhook-cr.yml.j2 b/roles/kubernetes-apps/cluster_roles/templates/node-webhook-cr.yml.j2
index 8c339235ddae9b4eb84449f2bbcec3ca15c5327b..bf9aaf73f921f65cc2716fe9082fabaa29413a08 100644
--- a/roles/kubernetes-apps/cluster_roles/templates/node-webhook-cr.yml.j2
+++ b/roles/kubernetes-apps/cluster_roles/templates/node-webhook-cr.yml.j2
@@ -17,4 +17,4 @@ rules:
       - nodes/spec
       - nodes/metrics
     verbs:
-      - "*"
\ No newline at end of file
+      - "*"
diff --git a/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml b/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
index 9aa039339dcd8433f2bc360dbe89281f775a11b2..5444f33c5e294ba2538b156309795544371d6bf1 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
+++ b/roles/kubernetes-apps/csi_driver/cinder/defaults/main.yml
@@ -14,4 +14,4 @@ cinder_cacert: "{{ lookup('env','OS_CACERT') }}"
 
 # For now, only Cinder v3 is supported in Cinder CSI driver
 cinder_blockstorage_version: "v3"
-cinder_csi_controller_replicas: 1
\ No newline at end of file
+cinder_csi_controller_replicas: 1
diff --git a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin-rbac.yml.j2 b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin-rbac.yml.j2
index 241c67af3c5d0da487832c8002ea1d7d0c2fda59..2ca3e4486b4131379a63f7766b86537ac6fc9d31 100644
--- a/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin-rbac.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin-rbac.yml.j2
@@ -8,7 +8,7 @@ metadata:
   namespace: kube-system
 
 ---
-# external attacher 
+# external attacher
 kind: ClusterRole
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
diff --git a/roles/kubernetes-apps/csi_driver/gcp_pd/templates/gcp-pd-csi-setup.yml.j2 b/roles/kubernetes-apps/csi_driver/gcp_pd/templates/gcp-pd-csi-setup.yml.j2
index 65018ffabd48ed1ec8496c590d9b10abae955a8a..4c693b3fdedfdaf07f59ed73624d9d051fd27ca7 100644
--- a/roles/kubernetes-apps/csi_driver/gcp_pd/templates/gcp-pd-csi-setup.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/gcp_pd/templates/gcp-pd-csi-setup.yml.j2
@@ -197,4 +197,4 @@ roleRef:
 subjects:
 - kind: ServiceAccount
   name: csi-gce-pd-node-sa
-  namespace: kube-system
\ No newline at end of file
+  namespace: kube-system
diff --git a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/defaults/main.yml b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/defaults/main.yml
index fa7b8b3a5f456e8948c0633ff37aca3710e5bd15..278518b155779888d59b10f4bbef3ee77668d1df 100644
--- a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/defaults/main.yml
+++ b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/defaults/main.yml
@@ -6,4 +6,4 @@ local_path_provisioner_reclaim_policy: Delete
 local_path_provisioner_claim_root: /opt/local-path-provisioner/
 local_path_provisioner_is_default_storageclass: "true"
 local_path_provisioner_debug: false
-local_path_provisioner_helper_image_tag: "latest"
\ No newline at end of file
+local_path_provisioner_helper_image_tag: "latest"
diff --git a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-ns.yml.j2 b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-ns.yml.j2
index 5f178256f3ef7c25da85ebcb938a01289c083c37..1e8c6cedaf884ff41281b11857ff7a220168ad6c 100644
--- a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-ns.yml.j2
+++ b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-ns.yml.j2
@@ -2,4 +2,4 @@
 apiVersion: v1
 kind: Namespace
 metadata:
-  name: {{ local_path_provisioner_namespace }}
\ No newline at end of file
+  name: {{ local_path_provisioner_namespace }}
diff --git a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-sa.yml.j2 b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-sa.yml.j2
index d126a5b34ec11465da6045180546c7e37c5e257e..128a106d07e52ef03f044c92d3ad33c552565d0c 100644
--- a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-sa.yml.j2
+++ b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/templates/local-path-storage-sa.yml.j2
@@ -3,4 +3,4 @@ apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: local-path-provisioner-service-account
-  namespace: {{ local_path_provisioner_namespace }}
\ No newline at end of file
+  namespace: {{ local_path_provisioner_namespace }}
diff --git a/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-clusterrole.yml.j2 b/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-clusterrole.yml.j2
index 4d776f1490efc17b743e86cfc2bfab2daed881e8..bc030950ead3de5023d08515adc34a3f46e94226 100644
--- a/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-clusterrole.yml.j2
+++ b/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-clusterrole.yml.j2
@@ -10,4 +10,4 @@ rules:
     verbs: ["list", "create", "get", "update", "watch", "patch"]
   - apiGroups: ["", "extensions"]
     resources: ["nodes", "pods", "secrets", "services", "namespaces"]
-    verbs: ["get", "list", "watch"]
\ No newline at end of file
+    verbs: ["get", "list", "watch"]
diff --git a/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-deploy.yml.j2 b/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-deploy.yml.j2
index dc95b1df103e95e680d2bbf95ab7bb506ccc9c06..a3d2834acb4926fead179501cc603ab2df273a64 100644
--- a/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-deploy.yml.j2
+++ b/roles/kubernetes-apps/ingress_controller/alb_ingress_controller/templates/alb-ingress-deploy.yml.j2
@@ -33,7 +33,7 @@ spec:
         # Limit the namespace where this ALB Ingress Controller deployment will
         # resolve ingress resources. If left commented, all namespaces are used.
         #- --watch-namespace=your-k8s-namespace
-        
+
         # Setting the ingress-class flag below will ensure that only ingress resources with the
         # annotation kubernetes.io/ingress.class: "alb" are respected by the controller. You may
         # choose any class you'd like for this controller to respect.
@@ -42,7 +42,7 @@ spec:
         # by the ALB Ingress Controller, providing distinction between
         # clusters.
         - --cluster-name={{ cluster_name }}
-        
+
         # Enables logging on all outbound requests sent to the AWS API.
         # If logging is desired, set to true.
         # - ---aws-api-debug
@@ -71,4 +71,4 @@ spec:
       terminationGracePeriodSeconds: 30
 {% if rbac_enabled %}
       serviceAccountName: alb-ingress
-{% endif %}
\ No newline at end of file
+{% endif %}
diff --git a/roles/kubernetes-apps/ingress_controller/cert_manager/templates/crd-certificate.yml.j2 b/roles/kubernetes-apps/ingress_controller/cert_manager/templates/crd-certificate.yml.j2
index 2b5b40005a06c0b098808577cd24c5c13c8c05dc..9b6fcd252f8dc6331cb1a951dcc7c85cfa2f2adc 100644
--- a/roles/kubernetes-apps/ingress_controller/cert_manager/templates/crd-certificate.yml.j2
+++ b/roles/kubernetes-apps/ingress_controller/cert_manager/templates/crd-certificate.yml.j2
@@ -20,4 +20,4 @@ spec:
     shortNames:
       - cert
       - certs
-      
+
diff --git a/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2 b/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
index 19619d763f77a29f763e439d8c6bb565d1db9883..25a71c0736c2c5fee8e32ff98b52a2c0d330fa47 100644
--- a/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
+++ b/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
@@ -325,32 +325,32 @@ apiVersion: kubeproxy.config.k8s.io/v1alpha1
 kind: KubeProxyConfiguration
 bindAddress: {{ kube_proxy_bind_address }}
 clientConnection:
- acceptContentTypes: {{ kube_proxy_client_accept_content_types }}
- burst: {{ kube_proxy_client_burst }}
- contentType: {{ kube_proxy_client_content_type }}
- kubeconfig: {{ kube_proxy_client_kubeconfig }}
- qps: {{ kube_proxy_client_qps }}
+  acceptContentTypes: {{ kube_proxy_client_accept_content_types }}
+  burst: {{ kube_proxy_client_burst }}
+  contentType: {{ kube_proxy_client_content_type }}
+  kubeconfig: {{ kube_proxy_client_kubeconfig }}
+  qps: {{ kube_proxy_client_qps }}
 clusterCIDR: {{ kube_pods_subnet }}
 configSyncPeriod: {{ kube_proxy_config_sync_period }}
 conntrack:
- maxPerCore: {{ kube_proxy_conntrack_max_per_core }}
- min: {{ kube_proxy_conntrack_min }}
- tcpCloseWaitTimeout: {{ kube_proxy_conntrack_tcp_close_wait_timeout }}
- tcpEstablishedTimeout: {{ kube_proxy_conntrack_tcp_established_timeout }}
+  maxPerCore: {{ kube_proxy_conntrack_max_per_core }}
+  min: {{ kube_proxy_conntrack_min }}
+  tcpCloseWaitTimeout: {{ kube_proxy_conntrack_tcp_close_wait_timeout }}
+  tcpEstablishedTimeout: {{ kube_proxy_conntrack_tcp_established_timeout }}
 enableProfiling: {{ kube_proxy_enable_profiling }}
 healthzBindAddress: {{ kube_proxy_healthz_bind_address }}
 hostnameOverride: {{ kube_override_hostname }}
 iptables:
- masqueradeAll: {{ kube_proxy_masquerade_all }}
- masqueradeBit: {{ kube_proxy_masquerade_bit }}
- minSyncPeriod: {{ kube_proxy_min_sync_period }}
- syncPeriod: {{ kube_proxy_sync_period }}
+  masqueradeAll: {{ kube_proxy_masquerade_all }}
+  masqueradeBit: {{ kube_proxy_masquerade_bit }}
+  minSyncPeriod: {{ kube_proxy_min_sync_period }}
+  syncPeriod: {{ kube_proxy_sync_period }}
 ipvs:
- excludeCIDRs: {{ kube_proxy_exclude_cidrs }}
- minSyncPeriod: {{ kube_proxy_min_sync_period }}
- scheduler: {{ kube_proxy_scheduler }}
- syncPeriod: {{ kube_proxy_sync_period }}
- strictARP: {{ kube_proxy_strict_arp }}
+  excludeCIDRs: {{ kube_proxy_exclude_cidrs }}
+  minSyncPeriod: {{ kube_proxy_min_sync_period }}
+  scheduler: {{ kube_proxy_scheduler }}
+  syncPeriod: {{ kube_proxy_sync_period }}
+  strictARP: {{ kube_proxy_strict_arp }}
 metricsBindAddress: {{ kube_proxy_metrics_bind_address }}
 mode: {{ kube_proxy_mode }}
 nodePortAddresses: {{ kube_proxy_nodeport_addresses }}
diff --git a/roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2 b/roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2
index 15559732c6a940190aa48edb5d14c90eab3a2c80..265a91cc3d7d7234b2f468e9aa2d0176c4635abb 100644
--- a/roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2
+++ b/roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2
@@ -14,4 +14,4 @@ contexts:
 - context:
     cluster: webhook-token-auth-cluster
     user: webhook-token-auth-user
-  name: webhook-token-auth
\ No newline at end of file
+  name: webhook-token-auth
diff --git a/roles/kubernetes/node-label/tasks/main.yml b/roles/kubernetes/node-label/tasks/main.yml
index 646fd09811730365c695231a0bde4dd20b948a30..aa5ffe81555229279deb88876873633b941b26d7 100644
--- a/roles/kubernetes/node-label/tasks/main.yml
+++ b/roles/kubernetes/node-label/tasks/main.yml
@@ -40,7 +40,7 @@
 
 - name: Set label to node
   command: >-
-     {{ bin_dir }}/kubectl label node {{ inventory_hostname }} {{ item }} --overwrite=true
+      {{ bin_dir }}/kubectl label node {{ inventory_hostname }} {{ item }} --overwrite=true
   loop: "{{ role_node_labels + inventory_node_labels }}"
   delegate_to: "{{ groups['kube-master'][0] }}"
   changed_when: false
diff --git a/roles/kubernetes/preinstall/tasks/0090-etchosts.yml b/roles/kubernetes/preinstall/tasks/0090-etchosts.yml
index 5b34d2d7524b2894ef0d3f660015d2b4d226d03d..a8c40f6f966885b14c03db5548596a330705b2a6 100644
--- a/roles/kubernetes/preinstall/tasks/0090-etchosts.yml
+++ b/roles/kubernetes/preinstall/tasks/0090-etchosts.yml
@@ -44,8 +44,8 @@
 - name: Hosts | Extract existing entries for localhost from hosts file
   set_fact:
     etc_hosts_localhosts_dict: >-
-       {%- set splitted = (item | regex_replace('[ \t]+', ' ')|regex_replace('#.*$')|trim).split( ' ') -%}
-       {{ etc_hosts_localhosts_dict|default({}) | combine({splitted[0]: splitted[1::] }) }}
+      {%- set splitted = (item | regex_replace('[ \t]+', ' ')|regex_replace('#.*$')|trim).split( ' ') -%}
+      {{ etc_hosts_localhosts_dict|default({}) | combine({splitted[0]: splitted[1::] }) }}
   with_items: "{{ (etc_hosts_content['content'] | b64decode).splitlines() }}"
   when:
     - etc_hosts_content.content is defined
diff --git a/roles/kubernetes/tokens/tasks/check-tokens.yml b/roles/kubernetes/tokens/tasks/check-tokens.yml
index 5d27928737d7333293e86afc4bc189e29e6d4080..160f46bb8e0e1a123f8ff3f1f6622b8aa200db58 100644
--- a/roles/kubernetes/tokens/tasks/check-tokens.yml
+++ b/roles/kubernetes/tokens/tasks/check-tokens.yml
@@ -27,9 +27,9 @@
     sync_tokens: >-
       {%- set tokens = {'sync': False} -%}
       {%- for server in groups['kube-master'] | intersect(ansible_play_batch)
-         if (not hostvars[server].known_tokens.stat.exists) or
-         (hostvars[server].known_tokens.stat.checksum|default('') != known_tokens_master.stat.checksum|default('')) -%}
-         {%- set _ = tokens.update({'sync': True}) -%}
+        if (not hostvars[server].known_tokens.stat.exists) or
+        (hostvars[server].known_tokens.stat.checksum|default('') != known_tokens_master.stat.checksum|default('')) -%}
+        {%- set _ = tokens.update({'sync': True}) -%}
       {%- endfor -%}
       {{ tokens.sync }}
   run_once: true
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index c794c64048db4c39e2c7f903775a2f6eee77165d..c659d3cf98895d610e01580aec49a69c6d898f4f 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -434,13 +434,13 @@ loadbalancer_apiserver_type: "nginx"
 apiserver_loadbalancer_domain_name: "lb-apiserver.kubernetes.local"
 kube_apiserver_endpoint: |-
   {% if loadbalancer_apiserver is defined -%}
-       https://{{ apiserver_loadbalancer_domain_name }}:{{ loadbalancer_apiserver.port|default(kube_apiserver_port) }}
+      https://{{ apiserver_loadbalancer_domain_name }}:{{ loadbalancer_apiserver.port|default(kube_apiserver_port) }}
   {%- elif not is_kube_master and loadbalancer_apiserver_localhost -%}
-       https://localhost:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }}
+      https://localhost:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }}
   {%- elif is_kube_master -%}
-       https://{{ kube_apiserver_bind_address | regex_replace('0\.0\.0\.0','127.0.0.1') }}:{{ kube_apiserver_port }}
+      https://{{ kube_apiserver_bind_address | regex_replace('0\.0\.0\.0','127.0.0.1') }}:{{ kube_apiserver_port }}
   {%- else -%}
-       https://{{ first_kube_master }}:{{ kube_apiserver_port }}
+      https://{{ first_kube_master }}:{{ kube_apiserver_port }}
   {%- endif %}
 kube_apiserver_insecure_endpoint: >-
   http://{{ kube_apiserver_insecure_bind_address | regex_replace('0\.0\.0\.0','127.0.0.1') }}:{{ kube_apiserver_insecure_port }}
diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml
index 838e134a9e63d73c2a55fd168f04c4d365b8daf8..77aeba6ef6fd4ed8c93481befef534fb79d945ac 100644
--- a/roles/network_plugin/calico/tasks/install.yml
+++ b/roles/network_plugin/calico/tasks/install.yml
@@ -198,11 +198,11 @@
     "apiVersion": "projectcalico.org/v3",
     "kind": "BGPPeer",
     "metadata": {
-       "name": "global-{{ item.router_id }}"
+      "name": "global-{{ item.router_id }}"
     },
     "spec": {
-       "asNumber": "{{ item.as }}",
-       "peerIP": "{{ item.router_id }}"
+      "asNumber": "{{ item.as }}",
+      "peerIP": "{{ item.router_id }}"
     }}' | {{ bin_dir }}/calicoctl.sh apply -f -
   register: output
   retries: 4
@@ -220,11 +220,11 @@
     "apiVersion": "projectcalico.org/v3",
     "kind": "BGPPeer",
     "metadata": {
-       "name": "peer-to-rrs"
+      "name": "peer-to-rrs"
     },
     "spec": {
-       "nodeSelector": "!has(i-am-a-route-reflector)",
-       "peerSelector": "has(i-am-a-route-reflector)"
+      "nodeSelector": "!has(i-am-a-route-reflector)",
+      "peerSelector": "has(i-am-a-route-reflector)"
     }}' | {{ bin_dir }}/calicoctl.sh apply -f -
   register: output
   retries: 4
@@ -242,11 +242,11 @@
     "apiVersion": "projectcalico.org/v3",
     "kind": "BGPPeer",
     "metadata": {
-       "name": "rr-mesh"
+      "name": "rr-mesh"
     },
     "spec": {
-       "nodeSelector": "has(i-am-a-route-reflector)",
-       "peerSelector": "has(i-am-a-route-reflector)"
+      "nodeSelector": "has(i-am-a-route-reflector)",
+      "peerSelector": "has(i-am-a-route-reflector)"
     }}' | {{ bin_dir }}/calicoctl.sh apply -f -
   register: output
   retries: 4
@@ -315,13 +315,13 @@
     "apiVersion": "projectcalico.org/v3",
     "kind": "Node",
     "metadata": {
-       "name": "{{ inventory_hostname }}"
+      "name": "{{ inventory_hostname }}"
     },
     "spec": {
-       "bgp": {
-         "asNumber": "{{ local_as }}"
-       },
-       "orchRefs":[{"nodeName":"{{ inventory_hostname }}","orchestrator":"k8s"}]
+      "bgp": {
+        "asNumber": "{{ local_as }}"
+      },
+      "orchRefs":[{"nodeName":"{{ inventory_hostname }}","orchestrator":"k8s"}]
     }}' | {{ bin_dir }}/calicoctl.sh apply -f -
   register: output
   retries: 4
@@ -339,12 +339,12 @@
     "apiVersion": "projectcalico.org/v3",
     "kind": "BGPPeer",
     "metadata": {
-       "name": "{{ inventory_hostname }}-{{ item.router_id }}"
+      "name": "{{ inventory_hostname }}-{{ item.router_id }}"
     },
     "spec": {
-       "asNumber": "{{ item.as }}",
-       "node": "{{ inventory_hostname }}",
-       "peerIP": "{{ item.router_id }}"
+      "asNumber": "{{ item.as }}",
+      "node": "{{ inventory_hostname }}",
+      "peerIP": "{{ item.router_id }}"
     }}' | {{ bin_dir }}/calicoctl.sh apply -f -
   register: output
   retries: 4
diff --git a/roles/network_plugin/calico/templates/calico-node.yml.j2 b/roles/network_plugin/calico/templates/calico-node.yml.j2
index 6e3f19d8e58df5482fec529023f512e34fad581c..7413a8fad53a28febdd97dda55ad4609fdb2a0df 100644
--- a/roles/network_plugin/calico/templates/calico-node.yml.j2
+++ b/roles/network_plugin/calico/templates/calico-node.yml.j2
@@ -368,10 +368,10 @@ spec:
           secret:
             secretName: typha-client
             items:
-               - key: tls.crt
-                 path: typha-client.crt
-               - key: tls.key
-                 path: typha-client.key
+                - key: tls.crt
+                  path: typha-client.crt
+                - key: tls.key
+                  path: typha-client.key
         - name: typha-cacert
           hostPath:
             path: "/etc/kubernetes/ssl/"
diff --git a/roles/network_plugin/calico/templates/calico-typha.yml.j2 b/roles/network_plugin/calico/templates/calico-typha.yml.j2
index 279e694c1180897b974aaf84c66d5fe7fc976991..31cce13aa12f5fa267d2ef45fc94d3e2b8f388b8 100644
--- a/roles/network_plugin/calico/templates/calico-typha.yml.j2
+++ b/roles/network_plugin/calico/templates/calico-typha.yml.j2
@@ -145,17 +145,17 @@ spec:
           periodSeconds: 10
 {% if typha_secure %}
       volumes:
-         - name: typha-server
-           secret:
-             secretName: typha-server
-             items:
-                - key: tls.crt
-                  path: server_certificate.pem
-                - key: tls.key
-                  path: server_key.pem
-         - name: cacert
-           hostPath:
-             path: "{{ kube_cert_dir }}"
+        - name: typha-server
+          secret:
+            secretName: typha-server
+            items:
+              - key: tls.crt
+                path: server_certificate.pem
+              - key: tls.key
+                path: server_key.pem
+        - name: cacert
+          hostPath:
+            path: "{{ kube_cert_dir }}"
 {% endif %}
 
 ---
diff --git a/roles/network_plugin/calico/templates/kdd-crds.yml.j2 b/roles/network_plugin/calico/templates/kdd-crds.yml.j2
index 7decacc49854cf2360d441978947553e0c8061f3..88294a8878e1f87792891020295498b08264ded7 100644
--- a/roles/network_plugin/calico/templates/kdd-crds.yml.j2
+++ b/roles/network_plugin/calico/templates/kdd-crds.yml.j2
@@ -3,7 +3,7 @@
 apiVersion: apiextensions.k8s.io/v1beta1
 kind: CustomResourceDefinition
 metadata:
-   name: felixconfigurations.crd.projectcalico.org
+  name: felixconfigurations.crd.projectcalico.org
 spec:
   scope: Cluster
   group: crd.projectcalico.org
diff --git a/roles/network_plugin/contiv/tasks/main.yml b/roles/network_plugin/contiv/tasks/main.yml
index 81ca64bdcc2c73ffe3ed89dc021b02e11b5d56c7..f79e1e6fd829d62938766b9f263990cd9cf211bb 100644
--- a/roles/network_plugin/contiv/tasks/main.yml
+++ b/roles/network_plugin/contiv/tasks/main.yml
@@ -146,9 +146,9 @@
 
 - name: Contiv | Copy netctl binary from docker container
   command: sh -c "{{ docker_bin_dir }}/docker rm -f netctl-binarycopy;
-           {{ docker_bin_dir }}/docker create --name netctl-binarycopy {{ contiv_image_repo }}:{{ contiv_image_tag }} &&
-           {{ docker_bin_dir }}/docker cp netctl-binarycopy:/contiv/bin/netctl {{ bin_dir }}/netctl &&
-           {{ docker_bin_dir }}/docker rm -f netctl-binarycopy"
+          {{ docker_bin_dir }}/docker create --name netctl-binarycopy {{ contiv_image_repo }}:{{ contiv_image_tag }} &&
+          {{ docker_bin_dir }}/docker cp netctl-binarycopy:/contiv/bin/netctl {{ bin_dir }}/netctl &&
+          {{ docker_bin_dir }}/docker rm -f netctl-binarycopy"
   register: contiv_task_result
   until: contiv_task_result.rc == 0
   retries: 4
diff --git a/roles/network_plugin/contiv/templates/contiv-cleanup.yml.j2 b/roles/network_plugin/contiv/templates/contiv-cleanup.yml.j2
index 80884d7199792925c5aac0638a602d77e38ef69b..5909e461f74e30479ac7d47ac7a6d449b766ec06 100644
--- a/roles/network_plugin/contiv/templates/contiv-cleanup.yml.j2
+++ b/roles/network_plugin/contiv/templates/contiv-cleanup.yml.j2
@@ -29,15 +29,15 @@ spec:
         securityContext:
           privileged: true
         volumeMounts:
-         - mountPath: /etc/openvswitch
-           name: etc-openvswitch
-           readOnly: false
-         - mountPath: /var/run
-           name: var-run
-           readOnly: false
-         - mountPath: /opt/cni/bin
-           name: cni-bin-dir
-           readOnly: false
+          - mountPath: /etc/openvswitch
+            name: etc-openvswitch
+            readOnly: false
+          - mountPath: /var/run
+            name: var-run
+            readOnly: false
+          - mountPath: /opt/cni/bin
+            name: cni-bin-dir
+            readOnly: false
         readinessProbe:
           exec:
             command:
diff --git a/roles/network_plugin/contiv/templates/contiv-config.yml.j2 b/roles/network_plugin/contiv/templates/contiv-config.yml.j2
index 18b7748eb652d84241d18e4856523b73bcf2a7c5..48f128ee78c55d04e79e14a9f82ae6115d56b606 100644
--- a/roles/network_plugin/contiv/templates/contiv-config.yml.j2
+++ b/roles/network_plugin/contiv/templates/contiv-config.yml.j2
@@ -22,10 +22,10 @@ data:
     }
   contiv_k8s_config: |-
     {
-       "K8S_API_SERVER": "{{ kube_apiserver_endpoint_for_contiv }}",
-       "K8S_CA": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt",
-       "K8S_KEY": "",
-       "K8S_CERT": "",
-       "K8S_TOKEN": "",
-       "SVC_SUBNET": "{{ kube_service_addresses }}"
+      "K8S_API_SERVER": "{{ kube_apiserver_endpoint_for_contiv }}",
+      "K8S_CA": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt",
+      "K8S_KEY": "",
+      "K8S_CERT": "",
+      "K8S_TOKEN": "",
+      "SVC_SUBNET": "{{ kube_service_addresses }}"
     }
diff --git a/roles/network_plugin/contiv/templates/contiv-etcd-proxy.yml.j2 b/roles/network_plugin/contiv/templates/contiv-etcd-proxy.yml.j2
index 9725a0f2a2252d6ab2b2b9f919ccaa7d6830c6ce..675d1cd6d3ad0a0932d5d7c70149f121add45f14 100644
--- a/roles/network_plugin/contiv/templates/contiv-etcd-proxy.yml.j2
+++ b/roles/network_plugin/contiv/templates/contiv-etcd-proxy.yml.j2
@@ -20,12 +20,12 @@ spec:
       dnsPolicy: ClusterFirstWithHostNet
       hostPID: true
       affinity:
-       nodeAffinity:
-         requiredDuringSchedulingIgnoredDuringExecution:
-           nodeSelectorTerms:
-           - matchExpressions:
-             - key: node-role.kubernetes.io/master
-               operator: DoesNotExist
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: node-role.kubernetes.io/master
+                operator: DoesNotExist
       containers:
         - name: contiv-etcd-proxy
           image: {{ contiv_etcd_image_repo }}:{{ contiv_etcd_image_tag }}
diff --git a/roles/network_plugin/contiv/templates/contiv-netplugin.yml.j2 b/roles/network_plugin/contiv/templates/contiv-netplugin.yml.j2
index c21399fb693fd236bbd93283caf63dcf21f07d4d..b5b21fcb80f10958157a175b2a0b40c0b22b6acf 100644
--- a/roles/network_plugin/contiv/templates/contiv-netplugin.yml.j2
+++ b/roles/network_plugin/contiv/templates/contiv-netplugin.yml.j2
@@ -78,8 +78,8 @@ spec:
               value: kubernetes
             - name: CONTIV_NETPLUGIN_VTEP_IP
               valueFrom:
-                 fieldRef:
-                    fieldPath: status.podIP
+                fieldRef:
+                  fieldPath: status.podIP
             - name: CONTIV_NETPLUGIN_ETCD_ENDPOINTS
               valueFrom:
                 configMapKeyRef:
diff --git a/roles/network_plugin/contiv/templates/contiv-ovs.yml.j2 b/roles/network_plugin/contiv/templates/contiv-ovs.yml.j2
index 0b05588baadc37cffa5bf7454b13e51872a8d9ff..edebbeaebed42ec6f08957d08e122ce6da3b84c2 100644
--- a/roles/network_plugin/contiv/templates/contiv-ovs.yml.j2
+++ b/roles/network_plugin/contiv/templates/contiv-ovs.yml.j2
@@ -57,15 +57,15 @@ spec:
                 name: contiv-config
                 key: contiv_ovs_vswitchd_extra_flags
         volumeMounts:
-         - mountPath: /etc/openvswitch
-           name: etc-openvswitch
-           readOnly: false
-         - mountPath: /lib/modules
-           name: lib-modules
-           readOnly: true
-         - mountPath: /var/run
-           name: var-run
-           readOnly: false
+          - mountPath: /etc/openvswitch
+            name: etc-openvswitch
+            readOnly: false
+          - mountPath: /lib/modules
+            name: lib-modules
+            readOnly: true
+          - mountPath: /var/run
+            name: var-run
+            readOnly: false
       volumes:
         # Used by contiv-ovs
         - name: etc-openvswitch
diff --git a/roles/network_plugin/kube-ovn/defaults/main.yml b/roles/network_plugin/kube-ovn/defaults/main.yml
index 9cc4c5c84daecff27d3d1ae5035a704980048237..8f02a8cf164f59b44e93432d22cf6e67d688f89d 100644
--- a/roles/network_plugin/kube-ovn/defaults/main.yml
+++ b/roles/network_plugin/kube-ovn/defaults/main.yml
@@ -13,4 +13,4 @@ kube_ovn_pinger_cpu_limit: 200m
 kube_ovn_pinger_memory_limit: 400Mi
 
 traffic_mirror: true
-encap_checksum: true
\ No newline at end of file
+encap_checksum: true
diff --git a/roles/network_plugin/kube-ovn/templates/cni-kube-ovn-crd.yml.j2 b/roles/network_plugin/kube-ovn/templates/cni-kube-ovn-crd.yml.j2
index fc6eba4bcbf8944c336817340156ad40d45a6138..8e58ed27247b8fc856def7c47efd36c409eabdb1 100644
--- a/roles/network_plugin/kube-ovn/templates/cni-kube-ovn-crd.yml.j2
+++ b/roles/network_plugin/kube-ovn/templates/cni-kube-ovn-crd.yml.j2
@@ -104,4 +104,4 @@ spec:
       JSONPath: .spec.providerInterfaceName
     - name: Subnet
       type: string
-      JSONPath: .spec.subnet
\ No newline at end of file
+      JSONPath: .spec.subnet
diff --git a/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 b/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2
index 7b639d6d2d80825d360d359b80b7100af17af4aa..2ffe0dd618014dbc98ee4b9b54c93b6feccf1bb6 100644
--- a/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2
+++ b/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2
@@ -349,4 +349,4 @@ spec:
             path: /var/log/openvswitch
         - name: host-log-ovn
           hostPath:
-            path: /var/log/ovn
\ No newline at end of file
+            path: /var/log/ovn
diff --git a/roles/network_plugin/kube-router/defaults/main.yml b/roles/network_plugin/kube-router/defaults/main.yml
index 885e3474e90135ad560a4b4341a6c93fd18ba2b1..a1e68feeaa292837b0e5ba7e78a72ee6492ea67a 100644
--- a/roles/network_plugin/kube-router/defaults/main.yml
+++ b/roles/network_plugin/kube-router/defaults/main.yml
@@ -57,4 +57,4 @@ kube_router_enable_metrics: false
 kube_router_metrics_path: /metrics
 
 # Prometheus metrics port to use
-kube_router_metrics_port: 9255
\ No newline at end of file
+kube_router_metrics_port: 9255
diff --git a/roles/network_plugin/multus/files/multus-clusterrole.yml b/roles/network_plugin/multus/files/multus-clusterrole.yml
index ec2ec3a0648a4ab8ec1ee6be5c639cd803d354fe..b574069cd9b30590958d7c658dad2675640b56ad 100644
--- a/roles/network_plugin/multus/files/multus-clusterrole.yml
+++ b/roles/network_plugin/multus/files/multus-clusterrole.yml
@@ -25,4 +25,4 @@ rules:
     verbs:
       - create
       - patch
-      - update
\ No newline at end of file
+      - update
diff --git a/roles/upgrade/pre-upgrade/tasks/main.yml b/roles/upgrade/pre-upgrade/tasks/main.yml
index a8b149394cb7034ed0ab57e24388d63506dbdf81..f47954b1c39ad5b195860a56aa05643aeb7cf8a1 100644
--- a/roles/upgrade/pre-upgrade/tasks/main.yml
+++ b/roles/upgrade/pre-upgrade/tasks/main.yml
@@ -3,8 +3,8 @@
 # Node NotReady: type = ready, status = Unknown
 - name: See if node is in ready state
   shell: >-
-     {{ bin_dir }}/kubectl get node {{ inventory_hostname }}
-     -o jsonpath='{ range .status.conditions[?(@.type == "Ready")].status }{ @ }{ end }'
+    {{ bin_dir }}/kubectl get node {{ inventory_hostname }}
+    -o jsonpath='{ range .status.conditions[?(@.type == "Ready")].status }{ @ }{ end }'
   register: kubectl_node_ready
   delegate_to: "{{ groups['kube-master'][0] }}"
   failed_when: false
@@ -14,8 +14,8 @@
 # else unschedulable key doesn't exist
 - name: See if node is schedulable
   shell: >-
-     {{ bin_dir }}/kubectl get node {{ inventory_hostname }}
-     -o jsonpath='{ .spec.unschedulable }'
+    {{ bin_dir }}/kubectl get node {{ inventory_hostname }}
+    -o jsonpath='{ .spec.unschedulable }'
   register: kubectl_node_schedulable
   delegate_to: "{{ groups['kube-master'][0] }}"
   failed_when: false
diff --git a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
index 8c5b3bf941658cbaf6529a20b3804921fccccec2..4798b539dd1df79c80c1b57d68a2c1b1f43c4275 100644
--- a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
+++ b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
@@ -70,4 +70,4 @@ images:
     filename: openSUSE-Leap-15.1-OpenStack.x86_64-0.0.4-Build6.106.qcow2
     url: https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.1/images/openSUSE-Leap-15.1-OpenStack.x86_64-0.0.4-Build6.106.qcow2
     checksum: sha256:e3c016a889505c5ae51dafe6eedc836a9e9546ab951fdc96f07eb35e34d12b8c
-    converted: true
\ No newline at end of file
+    converted: true
diff --git a/tests/files/packet_centos7-weave-upgrade-ha.yml b/tests/files/packet_centos7-weave-upgrade-ha.yml
index 8a25765328af97381ee43dcf3dea6ef8d7a0e644..d455a9f7ad59781d8929b755739594edb95d76d9 100644
--- a/tests/files/packet_centos7-weave-upgrade-ha.yml
+++ b/tests/files/packet_centos7-weave-upgrade-ha.yml
@@ -10,4 +10,4 @@ kubernetes_audit: true
 dns_min_replicas: 1
 
 # Needed to upgrade from 1.16 to 1.17, otherwise upgrade is partial and bug followed
-upgrade_cluster_setup: true
\ No newline at end of file
+upgrade_cluster_setup: true
diff --git a/tests/files/packet_centos8-kube-ovn.yml b/tests/files/packet_centos8-kube-ovn.yml
index 6fab5020478bae3dc5a1c1b51a6a48e8c569149a..a58dc0c69f3c925cf019e075b3a880e202573348 100644
--- a/tests/files/packet_centos8-kube-ovn.yml
+++ b/tests/files/packet_centos8-kube-ovn.yml
@@ -6,4 +6,4 @@ mode: default
 # Kubespray settings
 kube_network_plugin: kube-ovn
 deploy_netchecker: true
-dns_min_replicas: 1
\ No newline at end of file
+dns_min_replicas: 1
diff --git a/tests/files/packet_debian10-containerd.yml b/tests/files/packet_debian10-containerd.yml
index e00a2904ff69b78064a07274324004cfcbc4ed63..4503f71b06022a7c6a18efcefc0f5825fc25a002 100644
--- a/tests/files/packet_debian10-containerd.yml
+++ b/tests/files/packet_debian10-containerd.yml
@@ -14,4 +14,4 @@ helm_version: v3.1.0
 
 # https://gitlab.com/miouge/kubespray-ci/-/blob/a4fd5ed6857807f1c353cb60848aedebaf7d2c94/manifests/http-proxy.yml#L42
 http_proxy: http://172.30.30.30:8888
-https_proxy: http://172.30.30.30:8888
\ No newline at end of file
+https_proxy: http://172.30.30.30:8888
diff --git a/tests/files/tf-elastx_ubuntu18-calico.yml b/tests/files/tf-elastx_ubuntu18-calico.yml
index 53e03d7fe7922d12436de4562983c2a5dc53c2c3..43ef55aa34c7229fa96e31be409edd282b2d4f3e 100644
--- a/tests/files/tf-elastx_ubuntu18-calico.yml
+++ b/tests/files/tf-elastx_ubuntu18-calico.yml
@@ -4,4 +4,4 @@ deploy_netchecker: true
 sonobuoy_enabled: true
 
 # Ignore ping errors
-ignore_assert_errors: true
\ No newline at end of file
+ignore_assert_errors: true
diff --git a/tests/files/vagrant_ubuntu18-flannel.yml b/tests/files/vagrant_ubuntu18-flannel.yml
index e878a5e388a12930cd3e800c7154e3e8318b96a0..d4543a901f193c0477d0db969f29455c6efd7314 100644
--- a/tests/files/vagrant_ubuntu18-flannel.yml
+++ b/tests/files/vagrant_ubuntu18-flannel.yml
@@ -4,4 +4,4 @@
 kube_network_plugin: flannel
 
 deploy_netchecker: true
-dns_min_replicas: 1
\ No newline at end of file
+dns_min_replicas: 1
diff --git a/tests/files/vagrant_ubuntu20-flannel.yml b/tests/files/vagrant_ubuntu20-flannel.yml
index e878a5e388a12930cd3e800c7154e3e8318b96a0..d4543a901f193c0477d0db969f29455c6efd7314 100644
--- a/tests/files/vagrant_ubuntu20-flannel.yml
+++ b/tests/files/vagrant_ubuntu20-flannel.yml
@@ -4,4 +4,4 @@
 kube_network_plugin: flannel
 
 deploy_netchecker: true
-dns_min_replicas: 1
\ No newline at end of file
+dns_min_replicas: 1
diff --git a/tests/testcases/010_check-apiserver.yml b/tests/testcases/010_check-apiserver.yml
index bb865727dff9e10f233c6d8b706e89ff81e867a1..330e5e6bf24e1316c73f8dec4d0db4ab9bba1790 100644
--- a/tests/testcases/010_check-apiserver.yml
+++ b/tests/testcases/010_check-apiserver.yml
@@ -17,4 +17,4 @@
       that:
       - apiserver_response.json.gitVersion == kube_version
       fail_msg: "apiserver version different than expected {{ kube_version }}"
-    when: kube_version is defined
\ No newline at end of file
+    when: kube_version is defined
diff --git a/tests/testcases/015_check-nodes-ready.yml b/tests/testcases/015_check-nodes-ready.yml
index 14a3468f5f1460be25a25108408a7607bd37f2c0..be8370cc3b326cb2f6aef3152664977b89c82ee0 100644
--- a/tests/testcases/015_check-nodes-ready.yml
+++ b/tests/testcases/015_check-nodes-ready.yml
@@ -30,4 +30,4 @@
     # Check that all nodes are Status=Ready
     - '(get_nodes_yaml.stdout | from_yaml)["items"] | map(attribute = "status.conditions") | map("items2dict", key_name="type", value_name="status") | map(attribute="Ready") | list | min'
     retries: 30
-    delay: 10
\ No newline at end of file
+    delay: 10
diff --git a/tests/testcases/030_check-network.yml b/tests/testcases/030_check-network.yml
index 4e8903439cf33922738c9263ce1cef3b90645bf0..bee470ef753157ca1a06fee1532e40bcf723506b 100644
--- a/tests/testcases/030_check-network.yml
+++ b/tests/testcases/030_check-network.yml
@@ -51,13 +51,13 @@
 
   - name: Get hostnet pods
     command: "{{ bin_dir }}/kubectl get pods -n test -o
-             jsonpath='{range .items[?(.spec.hostNetwork)]}{.metadata.name} {.status.podIP} {.status.containerStatuses} {end}'"
+            jsonpath='{range .items[?(.spec.hostNetwork)]}{.metadata.name} {.status.podIP} {.status.containerStatuses} {end}'"
     register: hostnet_pods
     no_log: true
 
   - name: Get running pods
     command: "{{ bin_dir }}/kubectl get pods -n test -o
-             jsonpath='{range .items[?(.status.phase==\"Running\")]}{.metadata.name} {.status.podIP} {.status.containerStatuses} {end}'"
+            jsonpath='{range .items[?(.status.phase==\"Running\")]}{.metadata.name} {.status.podIP} {.status.containerStatuses} {end}'"
     register: running_pods
     no_log: true