Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
ansible.builtin.set_fact:
node_parsed_yaml: "{{ nodes_vars.content | b64decode | from_yaml }}"

- name: Set nodes
- name: Set boot_svc_nodes
ansible.builtin.set_fact:
nodes: "{{ node_parsed_yaml.nodes }}"
boot_svc_nodes: "{{ node_parsed_yaml.nodes }}"

- name: Create boot and metadata-service directory
ansible.builtin.file:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
dest: "{{ nodes_dir }}/groups-{{ functional_group_name }}.yml"
mode: "{{ hostvars['localhost']['file_permissions_644'] }}"
vars:
nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"
smd_group_nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"

- name: Get SMD group data
ansible.builtin.command: /usr/bin/ochami smd group get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
dest: "{{ nodes_dir }}/groups-{{ additional_metadata_svc_fg_smd_group_name }}.yml"
mode: "{{ hostvars['localhost']['file_permissions_644'] }}"
vars:
nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"
smd_group_nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"

- name: Delete SMD group - {{ additional_metadata_svc_fg_smd_group_name }}
ansible.builtin.command: >-
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@
dest: "{{ nodes_dir }}/groups-common-{{ common_group_name }}.yml"
mode: "{{ hostvars['localhost']['file_permissions_644'] }}"
vars:
_all_nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"
nodes: >-
{{ (_all_nodes
| selectattr('value.FUNCTIONAL_GROUP_NAME', 'in', registered_fg_names)
| list)
if (registered_fg_names is defined)
else _all_nodes }}
# Only include nodes registered in SMD for the current target category.
# target_fg_names is set by the caller (register_nodes.yml).
# Use 'common_group_nodes' to avoid collision with the 'nodes' set_fact
# from configure_boot_svc.yml.
common_group_nodes: >-
{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items
| selectattr('value.FUNCTIONAL_GROUP_NAME', 'in', target_fg_names | default([]))
| list
if (target_fg_names | default([]) | length > 0)
else hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}

- name: Delete the SMD common group - {{ common_group_name }}
ansible.builtin.command: /usr/bin/ochami smd group delete --no-confirm {{ common_group_name }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
dest: "{{ openchami_nodes_vars_path }}"
mode: "{{ hostvars['localhost']['file_permissions_644'] }}"
vars:
nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items }}"
mapping_nodes: "{{ hostvars['localhost']['read_mapping_file']['dict'] | dict2items | map(attribute='value') | list }}"

- name: Create orchestrator output directory on OIM
ansible.builtin.file:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ spec:
initrd: "{{ s3_base_url }}/{{ initrd }}"
params: "nomodeset ro root=live:{{ s3_base_url }}/{{ image }} ip=dhcp rd.live.image rd.live.ram rd.neednet=1 {% if s3_use_https %}rd.noverifyssl {% endif %}rd.driver.blacklist=ccp,edac_core,power_meter,ahci,megaraid_sas modprobe.blacklist=ccp,edac_core,power_meter,ahci,megaraid_sas libata.force=1:disable,2:disable,3:disable,4:disable rd.luks=0 rd.md=0 rd.dm=0 console=tty0 console=ttyS0,115200 selinux=0 apparmor=0 ip6=off {{ boot_svc_params_metadata_svc }}{% if boot_kernel_params | default('') | length > 0 %} {{ boot_kernel_params }}{% endif %}"
macs:
{% for item in nodes %}
{% for item in boot_svc_nodes %}
{% if item.group == functional_group_name %}
- "{{ item.interfaces[0].mac_addr }}"
{% endif %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ modprobe ib_uverbs || true
NETMASK_BITS="{{ hostvars['localhost']['admin_netmask_bits'] }}"

# Get current node's IP from cloud-init metadata
ADMIN_NIC_IP="{% raw %}{{"{{"}} ds.meta_data.instance_data.local_ipv4 {{"}}"}}{% endraw %}"
ADMIN_NIC_IP="{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}"

# Create IB mapping from all nodes (IB_NIC_NAME only)
declare -A ADMIN_IB_NIC_NAME_MAP=(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,14 @@
file:
encoding: plain
content: |
## template: jinja
#cloud-config
merge_how:
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
phone_home:
url: "http://{{ hostvars['localhost']['admin_nic_ip'] }}:8081/metadata-service/phone-home/{% raw %}{{"{{"}} v1.instance_id {{"}}"}}{% endraw %}/"
url: "http://{{ hostvars['localhost']['admin_nic_ip'] }}:8081/metadata-service/phone-home/{{ '{{' }} ds.instance_id {{ '}}' }}/"
post:
- pub_key_rsa
- pub_key_ecdsa
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,23 +222,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}
{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{"{{"}} mount[1] {{"}}"}}
- echo "{{"{{"}} mount | join(' ') {{"}}"}}" >> /etc/fstab
{% endfor %}
- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need fo recheck, aarch64 was working code. Have we removed same task in x86_64 also?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we removed the same mount logic block from ALL 10 FG templates, including both aarch64 and x86_64 variants.

The mount logic block was breaking cloud-init YAML parsing due to the Pongo2/cloud-init Jinja2 incompatibility.
The template fails because Ansible leaves literal {% tokens in the rendered output, which cloud-init Jinja2 interprets and causes a YAML parsing error (found character '%' that cannot start any token).
As a result, cloud-init rejects the configuration as an empty cloud config, and the users section (including ssh_authorized_keys) is never applied, breaking passwordless SSH.

However, the actual NFS mounts are still happening - just in a different place.

  • ms-group-service_kube_control_plane_first_x86_64.yaml.j2 (lines 381-386)
  • ms-group-service_kube_control_plane_x86_64.yaml.j2 (lines 288-293)
  • ms-group-service_kube_node_x86_64.yaml.j2 (lines 184-187)

- {{"{{"}} decoded_cmd {{"}}"}}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% set fg_swap = metadata_svc_groups_dict.get(functional_group_name, {}).get('swap', {}) %}
{% include 'configure_swap.yaml.j2' %}
- mount -av
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,23 +222,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}
{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{"{{"}} mount[1] {{"}}"}}
- echo "{{"{{"}} mount | join(' ') {{"}}"}}" >> /etc/fstab
{% endfor %}
- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}
- {{"{{"}} decoded_cmd {{"}}"}}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% set fg_swap = metadata_svc_groups_dict.get(functional_group_name, {}).get('swap', {}) %}
{% include 'configure_swap.yaml.j2' %}
- mount -av
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,23 +178,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}
{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{"{{"}} mount[1] {{"}}"}}
- echo "{{"{{"}} mount | join(' ') {{"}}"}}" >> /etc/fstab
{% endfor %}
- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}
- {{"{{"}} decoded_cmd {{"}}"}}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% set fg_swap = metadata_svc_groups_dict.get(functional_group_name, {}).get('swap', {}) %}
{% include 'configure_swap.yaml.j2' %}
- mount -av
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,23 +177,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}
{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{"{{"}} mount[1] {{"}}"}}
- echo "{{"{{"}} mount | join(' ') {{"}}"}}" >> /etc/fstab
{% endfor %}
- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}
- {{"{{"}} decoded_cmd {{"}}"}}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% set fg_swap = metadata_svc_groups_dict.get(functional_group_name, {}).get('swap', {}) %}
{% include 'configure_swap.yaml.j2' %}
- mount -av
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,10 @@
kubeadm init --kubernetes-version={{ service_k8s_version }} \
--pod-network-cidr={{ k8s_pod_network_cidr }} \
--service-cidr={{ k8s_service_addresses }} \
--apiserver-advertise-address={% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %} \
--node-name {% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %} \
--apiserver-advertise-address={{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }} \
--node-name {{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }} \
--cri-socket=unix:///var/run/crio/crio.sock \
--control-plane-endpoint={% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}:6443 \
--control-plane-endpoint={{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}:6443 \
--apiserver-cert-extra-sans {{ kube_vip }}

- path: /tmp/generate-control-plane-join.sh
Expand Down Expand Up @@ -368,23 +368,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please re-visit this block it should not break the existing functionality

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a comment explaining this below

{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{ mount[1] }}
- echo "{{ mount | join(' ') }}" >> /etc/fstab
{% endfor %}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@snarthan cab you check if this block requires or not

- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}
- {{ decoded_cmd }}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% for pv_entry in metadata_svc_groups_dict[functional_group_name].powervault_scripts | default([], true) %}
- bash /usr/local/bin/setup_iscsi_storage_{{ pv_entry.name }}.sh
{% endfor %}
Expand All @@ -393,11 +378,11 @@
{% if etcd_on_local_disk | default(false) %}
- /usr/local/bin/etcd-fstab-update.sh
{% else %}
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/etcd /var/lib/etcd nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/etcd /var/lib/etcd nfs noatime,nolock 0 0" >> /etc/fstab
{% endif %}
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/kubelet /var/lib/kubelet nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/kubernetes /etc/kubernetes nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/pod-logs /var/log/pods nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/kubelet /var/lib/kubelet nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/kubernetes /etc/kubernetes nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/pod-logs /var/log/pods nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/packages /var/lib/packages nfs noatime,nolock 0 0" >> /etc/fstab
- echo "tmpfs /tmp/crio-storage tmpfs size={{ k8s_crio_storage_size }},noatime,nodev,nosuid 0 0" >> /etc/fstab
- sudo swapoff -a
Expand Down Expand Up @@ -519,7 +504,7 @@
rm -rf /var/lib/etcd/* /var/lib/kubelet/* /etc/kubernetes/*
rm -rf /var/lib/etcd/.* /var/lib/kubelet/.* /etc/kubernetes/.*
#!/bin/bash
NODE_IP="{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}"
NODE_IP="{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}"
# Find the interface with this IP
VIP_IFACE=$(ip -o addr show | awk -v ip="$NODE_IP" '$4 ~ ip {print $2}')
# Replace the vip_interface placeholder in the yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,23 +275,8 @@
- {{ cmd }}
{% endfor %}
{% endif %}
{% raw %}
{% if ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map is mapping and ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map %}
{% set mymounts = ds.meta_data.instance_data.v1.vendor_data.groups.ssh.host_mount_map.get(local_hostname, {}) %}
{% if mymounts %}
{% for mount in mymounts.get("mounts", []) %}
- mkdir -pv {{ mount[1] }}
- echo "{{ mount | join(' ') }}" >> /etc/fstab
{% endfor %}
- mount -av
{% for decoded_cmd in mymounts.get("runcmd", []) %}
- {{ decoded_cmd }}
{% endfor %}
{% else %}
- echo "No mount entries found for this host"
{% endif %}
{% endif %}
{% endraw %}
{# mount_config host_mount_map block removed - incompatible with Pongo2 validation #}
{# When mount_config bolt-on is needed, implement as a shell script in write_files #}
{% for pv_entry in metadata_svc_groups_dict[functional_group_name].powervault_scripts | default([], true) %}
- bash /usr/local/bin/setup_iscsi_storage_{{ pv_entry.name }}.sh
{% endfor %}
Expand All @@ -300,11 +285,11 @@
{% if etcd_on_local_disk | default(false) %}
- /usr/local/bin/etcd-fstab-update.sh
{% else %}
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/etcd /var/lib/etcd nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/etcd /var/lib/etcd nfs noatime,nolock 0 0" >> /etc/fstab
{% endif %}
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/kubelet /var/lib/kubelet nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/kubernetes /etc/kubernetes nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}/pod-logs /var/log/pods nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/kubelet /var/lib/kubelet nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/kubernetes /etc/kubernetes nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}/pod-logs /var/log/pods nfs noatime,nolock 0 0" >> /etc/fstab
- echo "{{ k8s_nfs_server_path }}/packages /var/lib/packages nfs noatime,nolock 0 0" >> /etc/fstab
- echo "tmpfs /tmp/crio-storage tmpfs size={{ k8s_crio_storage_size }},noatime,nodev,nosuid 0 0" >> /etc/fstab
- sudo swapoff -a
Expand Down Expand Up @@ -423,7 +408,7 @@
rm -rf /var/lib/etcd/* /var/lib/kubelet/* /etc/kubernetes/*
rm -rf /var/lib/etcd/.* /var/lib/kubelet/.* /etc/kubernetes/.*
K8S_CLIENT_MOUNT_PATH="{{ k8s_client_mount_path }}"
NODE_NAME="{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}"
NODE_NAME="{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}"
KUBE_VIP="{{ kube_vip }}"
KUBE_PORT="6443"
JOIN_CMD_FILE="${K8S_CLIENT_MOUNT_PATH}/control-plane-join-command.sh"
Expand Down Expand Up @@ -453,7 +438,7 @@
cp -f /etc/kubernetes/admin.conf /root/.kube/config
chown root:root /root/.kube/config

NODE_IP="{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}"
NODE_IP="{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}"
VIP_IFACE=$(ip -o addr show | awk -v ip="$NODE_IP" '$4 ~ ip {print $2}')
sed -i "s/value: vip_interface/value: ${VIP_IFACE}/" /tmp/kube-vip.yaml
cp /tmp/kube-vip.yaml /etc/kubernetes/manifests/kube-vip.yaml
Expand Down Expand Up @@ -545,7 +530,7 @@

# Wait for kube-controller-manager pod to exist before checking readiness
echo "Waiting for kube-controller-manager pod to be created..."
KCM_POD="kube-controller-manager-{% raw %}{{ ds.meta_data.instance_data.local_ipv4 }}{% endraw %}"
KCM_POD="kube-controller-manager-{{ "{{" }} ds.meta_data.instance_data.v1.local_ipv4 {{ "}}" }}"
TIMEOUT=120
ELAPSED=0
while ! kubectl -n kube-system get pod "$KCM_POD" >/dev/null 2>&1; do
Expand Down
Loading
Loading