--- - name: Test tunl0 routes command: "/sbin/ip route" register: routes failed_when: routes.stdout_lines | select('contains', '/' ~ calico_pool_blocksize|d(26)) | select('contains', 'tunl0') | length == 0 when: - ('kube_node' in group_names) - (calico_ipip_mode is defined and calico_ipip_mode != 'Never') - kube_network_plugin | default('calico') == 'calico' - import_role: # noqa name[missing] name: cluster-dump - name: Create macvlan network conf command: cmd: "{{ bin_dir }}/kubectl create -f -" stdin: | apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: macvlan-conf spec: config: '{ "cniVersion": "0.4.0", "type": "macvlan", "master": "eth0", "mode": "bridge", "ipam": { "type": "host-local", "subnet": "192.168.1.0/24", "rangeStart": "192.168.1.200", "rangeEnd": "192.168.1.216", "routes": [ { "dst": "0.0.0.0/0" } ], "gateway": "192.168.1.1" } }' --- apiVersion: v1 kind: Pod metadata: name: samplepod annotations: k8s.v1.cni.cncf.io/networks: macvlan-conf spec: containers: - name: samplepod command: ["/bin/bash", "-c", "sleep 2000000000000"] image: dougbtv/centos-network delegate_to: groups['kube_control_plane'][0] run_once: true when: - kube_network_plugin_multus | default(false) | bool - name: Check secondary macvlan interface command: "{{ bin_dir }}/kubectl exec samplepod -- ip addr show dev net1" register: output until: output.rc == 0 retries: 90 changed_when: false delegate_to: groups['kube_control_plane'][0] run_once: true when: - kube_network_plugin_multus | default(false) | bool