- source: "/etc/4xxx_dev0.conf"
target: "/etc/4xxx_dev0.conf"
- source: "/etc/4xxx_dev1.conf"
- target: "/etc/4xxx_dev1.conf"
\ No newline at end of file
+ target: "/etc/4xxx_dev1.conf"
+
+# Calico
+calico_corelist_workers: "2,3,4,5,98,99,100,101"
+calico_uplink_interfaces:
+ - interfaceName: "enp56s0np0"
+ vppDriver: "avf"
+ rx: 8
+ rxMode: "polling"
+ pci: "0000:38:00.0"
+ ip_addr: "192.168.1.2/24"
+ - interfaceName: "enp58s0np0"
+ vppDriver: "avf"
+ rx: 8
+ rxMode: "polling"
+ pci: "0000:3a:00.0"
+ ip_addr: "192.168.2.2/24"
\ No newline at end of file
operator-crds.yaml: https://raw.githubusercontent.com/projectcalico/calico/v{{ kubernetes_calico_version }}/manifests/operator-crds.yaml
calico_vpp_state: "present"
-
-calico_corelist_workers: "2,3,4,5,98,99,100,101"
-calico_uplink_interfaces:
- - interfaceName: "enp56s0np0"
- vppDriver: "avf"
- rx: 8
- rxMode: "polling"
- pci: "0000:38:00.0"
- ip_addr: "192.168.1.2/24"
- - interfaceName: "enp58s0np0"
- vppDriver: "avf"
- rx: 8
- rxMode: "polling"
- pci: "0000:3a:00.0"
- ip_addr: "192.168.2.2/24"
\ No newline at end of file
--- /dev/null
+---
+# file: tasks/cleanup.yaml
+
+- name: reset network interface
+ ansible.builtin.shell: |
+ python3 /opt/dpdk/usertools/dpdk-devbind.py -b none {{ item.pci }} --force
+ python3 /opt/dpdk/usertools/dpdk-devbind.py -b ice {{ item.pci }}
+ loop: "{{ calico_uplink_interfaces }}"
+ when:
+ - calico_sut is defined
+ - calico_vpp_state == "absent"
+ tags:
+ - calico-cleanup
\ No newline at end of file
--- /dev/null
+---
+# file: tasks/deploy.yaml
+
+- name: download calico manifest to the cluster
+ ansible.builtin.get_url:
+ url: "{{ item.value }}"
+ dest: "/tmp/{{ item.key }}"
+ mode: "0664"
+ loop: "{{ kubernetes_calico_resources | dict2items }}"
+ when:
+ - calico_sut is defined
+ tags:
+ - calico-deploy
+
+- name: apply calico manifest to the cluster
+ kubernetes.core.k8s:
+ state: present
+ src: "/tmp/{{ item.key }}"
+ loop: "{{ kubernetes_calico_resources | dict2items }}"
+ when:
+ - calico_sut is defined
+ tags:
+ - calico-deploy
+
+- name: upload calico vpp manifest to the cluster
+ ansible.builtin.template:
+ dest: "/tmp/{{ item }}"
+ src: "{{ item }}.j2"
+ loop:
+ - "calico-vpp.yaml"
+ when:
+ - calico_sut is defined
+ tags:
+ - calico-deploy
+
+- name: apply calico vpp manifest to the cluster
+ kubernetes.core.k8s:
+ state: "{{ calico_vpp_state }}"
+ src: "/tmp/{{ item }}"
+ loop:
+ - "calico-vpp.yaml"
+ when:
+ - calico_sut is defined
+ tags:
+ - calico-deploy
+
+- name: get a list of all pods from any namespace
+ kubernetes.core.k8s_info:
+ kind: Pod
+ field_selectors:
+ - status.phase=Running
+ label_selectors:
+ - k8s-app=calico-vpp-node
+ register: pod_list
+ when: calico_sut is defined
+ tags:
+ - calico-info
+
+- name: register vpp pod name
+ ansible.builtin.set_fact:
+ calico_pod_name: "{{ item[0]['metadata']['name'] }}"
+ loop:
+ - "{{ pod_list['resources'] }}"
+ when:
+ - calico_sut is defined
+ - pod_list['resources'] | length > 0
+ tags:
+ - calico-info
\ No newline at end of file
--- /dev/null
+---
+# file: tasks/execute.yaml
+
+- name: execute command on calico-vpp-pod
+ kubernetes.core.k8s_exec:
+ namespace: calico-vpp-dataplane
+ pod: "{{ calico_pod_name }}"
+ container: vpp
+ command: vppctl sh version
+ register: command_status
+ when:
+ - calico_pod_name is defined
+ - calico_sut is defined
+ - calico_vpp_state == "present"
+ tags:
+ - calico-execute
+
+- name: check last command status
+ ansible.builtin.debug:
+ msg: "{{ command_status.stdout }}"
+ when:
+ - calico_pod_name is defined
+ - calico_sut is defined
+ - calico_vpp_state == "present"
+ tags:
+ - calico-execute
\ No newline at end of file
---
# file: tasks/main.yaml
-- name: pre-setup network interface
- ansible.builtin.shell: |
- ip l set dev {{ item.interfaceName }} up
- ip a add {{ item.ip_addr }} dev {{ item.interfaceName }}
- loop: "{{ calico_uplink_interfaces }}"
- ignore_errors: True
- when:
- - calico_sut is defined
- - calico_vpp_state == "present"
+- import_tasks: pre-set.yaml
tags:
- - kubernetes-reset
+ - calico-pre-set
-- name: download calico manifest to the cluster
- ansible.builtin.get_url:
- url: "{{ item.value }}"
- dest: "/tmp/{{ item.key }}"
- mode: "0664"
- loop: "{{ kubernetes_calico_resources | dict2items }}"
- when:
- - calico_sut is defined
+- import_tasks: deploy.yaml
tags:
- - kubernetes-calico
+ - calico-deploy
-- name: apply calico manifest to the cluster
- kubernetes.core.k8s:
- state: present
- src: "/tmp/{{ item.key }}"
- loop: "{{ kubernetes_calico_resources | dict2items }}"
- when:
- - calico_sut is defined
+- import_tasks: execute.yaml
tags:
- - kubernetes-calico
+ - calico-execute
-- name: upload calico vpp manifest to the cluster
- ansible.builtin.template:
- dest: "/tmp/{{ item }}"
- src: "{{ item }}.j2"
- loop:
- - "calico-vpp.yaml"
- when:
- - calico_sut is defined
+- import_tasks: cleanup.yaml
tags:
- - kubernetes-calico
-
-- name: apply calico vpp manifest to the cluster
- kubernetes.core.k8s:
- state: "{{ calico_vpp_state }}"
- src: "/tmp/{{ item }}"
- loop:
- - "calico-vpp.yaml"
- when:
- - calico_sut is defined
- tags:
- - kubernetes-calico
-
-- name: get a list of all pods from any namespace
- kubernetes.core.k8s_info:
- kind: Pod
- field_selectors:
- - status.phase=Running
- label_selectors:
- - k8s-app=calico-vpp-node
- register: pod_list
- when: calico_sut is defined
- tags:
- - kubernetes-info
-
-- name: register vpp pod name
- ansible.builtin.set_fact:
- calico_pod_name: "{{ item[0]['metadata']['name'] }}"
- loop:
- - "{{ pod_list['resources'] }}"
- when:
- - calico_sut is defined
- - pod_list['resources'] | length > 0
- tags:
- - kubernetes-info
-
-- name: execute command on calico-vpp-pod
- kubernetes.core.k8s_exec:
- namespace: calico-vpp-dataplane
- pod: "{{ calico_pod_name }}"
- container: vpp
- command: vppctl sh version
- register: command_status
- when:
- - calico_pod_name is defined
- - calico_sut is defined
- - calico_vpp_state == "present"
- tags:
- - kubernetes-info
-
-- name: check last command status
- ansible.builtin.debug:
- msg: "{{ command_status.stdout }}"
- when:
- - calico_pod_name is defined
- - calico_sut is defined
- - calico_vpp_state == "present"
- tags:
- - kubernetes-info
-
-- name: reset network interface
- ansible.builtin.shell: |
- python3 /opt/dpdk/usertools/dpdk-devbind.py -b none {{ item.pci }} --force
- python3 /opt/dpdk/usertools/dpdk-devbind.py -b ice {{ item.pci }}
- loop: "{{ calico_uplink_interfaces }}"
- when:
- - calico_sut is defined
- - calico_vpp_state == "absent"
- tags:
- - kubernetes-reset
\ No newline at end of file
+ - calico-cleanup
\ No newline at end of file
--- /dev/null
+---
+# file: tasks/pre-set.yaml
+
+- name: pre-setup network interface
+ ansible.builtin.shell: |
+ ip l set dev {{ item.interfaceName }} up
+ ip a add {{ item.ip_addr }} dev {{ item.interfaceName }}
+ loop: "{{ calico_uplink_interfaces }}"
+ ignore_errors: True
+ when:
+ - calico_sut is defined
+ - calico_vpp_state == "present"
+ tags:
+ - calico-reset
\ No newline at end of file
buffers {
buffers-per-numa 131072
}
+ CALICOVPP_FEATURE_GATES: |-
+ {
+ "memifEnabled": true
+ }
CALICOVPP_INITIAL_CONFIG: |-
{
"vppStartupSleepSeconds": 1,