diff options
author | Ritu Sood <ritu.sood@intel.com> | 2019-08-14 19:41:37 +0000 |
---|---|---|
committer | Ritu Sood <ritu.sood@intel.com> | 2019-08-29 06:14:02 -0700 |
commit | b5e4a8178fce6ab9d60f1c4e2cd9ec53cbd5d2f8 (patch) | |
tree | e7fc7f5a240389ed569f5f7cfc32253ada73b34b | |
parent | dcace0784979890bb986fb078348b4b3ceef146c (diff) |
Add support for Network Operator
ovn4nfvk8s plugin now uses operator sdk
and controller runtime. It now includes
support for Network operator. This patch
includes changes needed in KUD for that.
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Issue-ID: MULTICLOUD-684
Change-Id: I63dc971e257067c69c70a8996eaffd1a9d8a4c2c
-rw-r--r-- | kud/demo/firewall/charts/packetgen/templates/deployment.yaml | 4 | ||||
-rw-r--r-- | kud/demo/firewall/charts/sink/templates/deployment.yaml | 4 | ||||
-rw-r--r-- | kud/demo/firewall/templates/deployment.yaml | 4 | ||||
-rw-r--r-- | kud/demo/firewall/templates/onap-private-net.yaml | 11 | ||||
-rw-r--r-- | kud/demo/firewall/templates/protected-private-net.yaml | 11 | ||||
-rw-r--r-- | kud/demo/firewall/templates/unprotected-private-net.yaml | 11 | ||||
-rw-r--r-- | kud/deployment_infra/images/nfn.yml | 322 | ||||
-rw-r--r-- | kud/deployment_infra/playbooks/configure-ovn4nfv.yml | 101 | ||||
-rwxr-xr-x | kud/tests/_common.sh | 82 | ||||
-rwxr-xr-x | kud/tests/integration_vcFW.sh | 6 | ||||
-rwxr-xr-x | kud/tests/ovn4nfv.sh | 10 |
11 files changed, 409 insertions, 157 deletions
diff --git a/kud/demo/firewall/charts/packetgen/templates/deployment.yaml b/kud/demo/firewall/charts/packetgen/templates/deployment.yaml index 3538a6e7..63b10ea7 100644 --- a/kud/demo/firewall/charts/packetgen/templates/deployment.yaml +++ b/kud/demo/firewall/charts/packetgen/templates/deployment.yaml @@ -44,10 +44,10 @@ spec: - wget -O - https://git.onap.org/multicloud/k8s/plain/kud/tests/vFW/packetgen | sudo -E bash VirtletRootVolumeSize: 5Gi k8s.v1.cni.cncf.io/networks: '[{"name": {{ .Values.global.ovnMultusNetworkName | quote }}, "namespace": "default"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface":[ { "name": {{ .Values.global.unprotectedNetworkName | quote }}, "ipAddress": {{ .Values.global.vpgPrivateIp0 | quote }}, "interface": "eth1" , "defaultGateway": "false"}, { "name": {{ .Values.global.onapPrivateNetworkName | quote }}, "ipAddress": {{ .Values.global.vpgPrivateIp1 | quote }}, "interface": "eth2" , "defaultGateway": "false"} - ]' + ]}' kubernetes.io/target-runtime: virtlet.cloud spec: affinity: diff --git a/kud/demo/firewall/charts/sink/templates/deployment.yaml b/kud/demo/firewall/charts/sink/templates/deployment.yaml index 57894010..b2119c10 100644 --- a/kud/demo/firewall/charts/sink/templates/deployment.yaml +++ b/kud/demo/firewall/charts/sink/templates/deployment.yaml @@ -19,10 +19,10 @@ spec: release: {{ .Release.Name }} annotations: k8s.v1.cni.cncf.io/networks: '[{"name": {{ .Values.global.ovnMultusNetworkName | quote }}, "namespace": "default"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [ { "name": {{ .Values.global.protectedNetworkName | quote }}, "ipAddress": {{ .Values.global.vsnPrivateIp0 | quote }}, "interface": "eth1", "defaultGateway": "false" }, { "name": {{ .Values.global.onapPrivateNetworkName | quote }}, "ipAddress": {{ .Values.global.vsnPrivateIp1 | quote }}, "interface": "eth2" , "defaultGateway": "false"} - ]' + ]}' spec: containers: - name: {{ .Chart.Name }} diff --git a/kud/demo/firewall/templates/deployment.yaml b/kud/demo/firewall/templates/deployment.yaml index b273d287..060f6cd2 100644 --- a/kud/demo/firewall/templates/deployment.yaml +++ b/kud/demo/firewall/templates/deployment.yaml @@ -42,11 +42,11 @@ spec: - wget -O - https://git.onap.org/multicloud/k8s/plain/kud/tests/vFW/firewall | sudo -E bash VirtletRootVolumeSize: 5Gi k8s.v1.cni.cncf.io/networks: '[{"name": {{ .Values.global.ovnMultusNetworkName | quote }}, "namespace": "default"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [ { "name": {{ .Values.global.unprotectedNetworkName | quote }}, "ipAddress": {{ .Values.global.vfwPrivateIp0 | quote }}, "interface": "eth1" , "defaultGateway": "false"}, { "name": {{ .Values.global.protectedNetworkName | quote }}, "ipAddress": {{ .Values.global.vfwPrivateIp1 | quote }}, "interface": "eth2", "defaultGateway": "false" }, { "name": {{ .Values.global.onapPrivateNetworkName | quote }}, "ipAddress": {{ .Values.global.vfwPrivateIp2 | quote }}, "interface": "eth3" , "defaultGateway": "false"} - ]' + ]}' kubernetes.io/target-runtime: virtlet.cloud spec: affinity: diff --git a/kud/demo/firewall/templates/onap-private-net.yaml b/kud/demo/firewall/templates/onap-private-net.yaml index e4079e2c..245466cf 100644 --- a/kud/demo/firewall/templates/onap-private-net.yaml +++ b/kud/demo/firewall/templates/onap-private-net.yaml @@ -1,9 +1,10 @@ -apiVersion: v1 +apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: name: {{ .Values.global.onapPrivateNetworkName }} spec: - cnitype : ovn4nfvk8s - name: {{ .Values.global.onapPrivateNetworkName }} - subnet: {{ .Values.global.onapPrivateNetCidr }} - gateway: {{ .Values.global.onapPrivateNetGw }} + cniType : ovn4nfv + ipv4Subnets: + - name: subnet1 + subnet: {{ .Values.global.onapPrivateNetCidr }} + gateway: {{ .Values.global.onapPrivateNetGw }} diff --git a/kud/demo/firewall/templates/protected-private-net.yaml b/kud/demo/firewall/templates/protected-private-net.yaml index 33724472..dcac386a 100644 --- a/kud/demo/firewall/templates/protected-private-net.yaml +++ b/kud/demo/firewall/templates/protected-private-net.yaml @@ -1,9 +1,10 @@ -apiVersion: v1 +apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: name: {{ .Values.global.protectedNetworkName }} spec: - cnitype : ovn4nfvk8s - name: {{ .Values.global.protectedNetworkName }} - subnet: {{ .Values.global.protectedNetCidr }} - gateway: {{ .Values.global.protectedNetGw }} + cniType : ovn4nfv + ipv4Subnets: + - name: subnet1 + subnet: {{ .Values.global.protectedNetCidr }} + gateway: {{ .Values.global.protectedNetGw }} diff --git a/kud/demo/firewall/templates/unprotected-private-net.yaml b/kud/demo/firewall/templates/unprotected-private-net.yaml index 2c192598..3bdc3381 100644 --- a/kud/demo/firewall/templates/unprotected-private-net.yaml +++ b/kud/demo/firewall/templates/unprotected-private-net.yaml @@ -1,9 +1,10 @@ -apiVersion: v1 +apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: name: {{ .Values.global.unprotectedNetworkName }} spec: - cnitype : ovn4nfvk8s - name: {{ .Values.global.unprotectedNetworkName }} - subnet: {{ .Values.global.protectedPrivateNetCidr }} - gateway: {{ .Values.global.protectedPrivateNetGw }} + cniType : ovn4nfv + ipv4Subnets: + - name: subnet1 + subnet: {{ .Values.global.protectedPrivateNetCidr }} + gateway: {{ .Values.global.protectedPrivateNetGw }} diff --git a/kud/deployment_infra/images/nfn.yml b/kud/deployment_infra/images/nfn.yml new file mode 100644 index 00000000..6e583b95 --- /dev/null +++ b/kud/deployment_infra/images/nfn.yml @@ -0,0 +1,322 @@ + +--- + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networks.k8s.plugin.opnfv.org +spec: + group: k8s.plugin.opnfv.org + names: + kind: Network + listKind: NetworkList + plural: networks + singular: network + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + cniType: + description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "operator-sdk generate k8s" to regenerate code after + modifying this file Add custom validation using kubebuilder tags: + https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html' + type: string + dns: + properties: + domain: + type: string + nameservers: + items: + type: string + type: array + options: + items: + type: string + type: array + search: + items: + type: string + type: array + type: object + ipv4Subnets: + items: + properties: + excludeIps: + type: string + gateway: + type: string + name: + type: string + subnet: + type: string + required: + - name + - subnet + type: object + type: array + ipv6Subnets: + items: + properties: + excludeIps: + type: string + gateway: + type: string + name: + type: string + subnet: + type: string + required: + - name + - subnet + type: object + type: array + routes: + items: + properties: + dst: + type: string + gw: + type: string + required: + - dst + type: object + type: array + required: + - cniType + - ipv4Subnets + type: object + status: + properties: + state: + description: 'INSERT ADDITIONAL STATUS FIELD - define observed state + of cluster Important: Run "operator-sdk generate k8s" to regenerate + code after modifying this file Add custom validation using kubebuilder + tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html' + type: string + required: + - state + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: k8s-nfn-sa + namespace: operator + +--- + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: k8s-nfn-cr +rules: +- apiGroups: + - "" + resources: + - pods + - services + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + verbs: + - '*' +- apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - '*' +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - apps + resourceNames: + - nfn-operator + resources: + - deployments/finalizers + verbs: + - update +- apiGroups: + - k8s.plugin.opnfv.org + resources: + - '*' + - providernetworks + verbs: + - '*' + +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: k8s-nfn-crb +subjects: +- kind: Group + name: system:serviceaccounts + apiGroup: rbac.authorization.k8s.io +roleRef: + kind: ClusterRole + name: k8s-nfn-cr + apiGroup: rbac.authorization.k8s.io + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nfn-operator + namespace: operator +spec: + replicas: 1 + selector: + matchLabels: + name: nfn-operator + template: + metadata: + labels: + name: nfn-operator + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: nfnType + operator: In + values: + - operator + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + operator: "Exists" + serviceAccountName: k8s-nfn-sa + containers: + - name: nfn-operator + image: rtsood/nfn-operator:latest + command: ["/usr/local/bin/entrypoint", "operator"] + imagePullPolicy: IfNotPresent + env: + - name: HOST_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "nfn-operator" + +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: ovn4nfv-cni-config + namespace: operator + labels: + app: ovn4nfv +data: + ovn4nfv_k8s.conf: | + [logging] + loglevel=5 + logfile=/var/log/openvswitch/ovn4k8s.log + + [cni] + conf-dir=/etc/cni/net.d + plugin=ovn4nfvk8s-cni + + [kubernetes] + kubeconfig=/etc/kubernetes/admin.conf + +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: ovn4nfv-cni + namespace: operator + labels: + app: ovn4nfv +spec: + updateStrategy: + type: RollingUpdate + template: + metadata: + labels: + app: ovn4nfv + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: amd64 + tolerations: + - operator: Exists + effect: NoSchedule + containers: + - name: ovn4nfv + image: rtsood/nfn-operator:latest + command: ["/usr/local/bin/entrypoint", "cni"] + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + volumeMounts: + - name: cnibin + mountPath: /host/opt/cni/bin + - name: cniconf + mountPath: /host/etc/openvswitch + - name: ovn4nfv-cfg + mountPath: /tmp/ovn4nfv-conf + volumes: + - name: cnibin + hostPath: + path: /opt/cni/bin + - name: cniconf + hostPath: + path: /etc/openvswitch + - name: ovn4nfv-cfg + configMap: + name: ovn4nfv-cni-config + items: + - key: ovn4nfv_k8s.conf + path: ovn4nfv_k8s.conf + + diff --git a/kud/deployment_infra/playbooks/configure-ovn4nfv.yml b/kud/deployment_infra/playbooks/configure-ovn4nfv.yml index 2084c95d..cff05296 100644 --- a/kud/deployment_infra/playbooks/configure-ovn4nfv.yml +++ b/kud/deployment_infra/playbooks/configure-ovn4nfv.yml @@ -10,95 +10,6 @@ - import_playbook: configure-ovn.yml - import_playbook: configure-multus.yml -- hosts: kube-master:kube-node - environment: - PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/" - pre_tasks: - - name: Load kud variables - include_vars: - file: kud-vars.yml - roles: - - role: andrewrothstein.go - go_ver: "{{ go_version }}" - tasks: - - name: clone ovn4nfv-k8s-plugin repo - git: - repo: "{{ ovn4nfv_url }}" - dest: "{{ ovn4nfv_dest }}" - version: "{{ ovn4nfv_version }}" - force: yes - when: ovn4nfv_source_type == "source" - - name: clean ovn4nfvk8s left over files - make: - chdir: "{{ ovn4nfv_dest }}" - target: clean - - name: build ovn4nfvk8s-cni - make: - chdir: "{{ ovn4nfv_dest }}" - target: ovn4nfvk8s-cni - become: yes - environment: - GOPATH: "{{ go_path }}" - - name: copy ovn4nfvk8s-cni to cni folder - command: "mv {{ ovn4nfv_dest }}/ovn4nfvk8s-cni /opt/cni/bin/ovn4nfvk8s-cni" - become: yes - - name: create ovn4k8s config file - become: yes - blockinfile: - path: /etc/openvswitch/ovn4nfv_k8s.conf - create: yes - block: | - [logging] - loglevel=5 - logfile=/var/log/openvswitch/ovn4k8s.log - - [cni] - conf-dir=/etc/cni/net.d - plugin=ovn4nfvk8s-cni - - [kubernetes] - kubeconfig=/etc/kubernetes/admin.conf - - name: create ovnkube logging directory - file: - path: /var/log/openvswitch - state: directory - -- hosts: kube-master - environment: - PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/" - become: yes - tasks: - - name: Load kud variables - include_vars: - file: kud-vars.yml - - name: build ovn4nfvk8s - make: - chdir: "{{ ovn4nfv_dest }}" - target: ovn4nfvk8s - environment: - GOPATH: "{{ go_path }}" - - name: copy ovn4nfvk8s to /usr/bin folder - command: "mv {{ ovn4nfv_dest }}/ovn4nfvk8s /usr/bin/ovn4nfvk8s" - - name: create ovn4nfvk8s systemd service - blockinfile: - path: /etc/systemd/system/ovn4nfvk8s.service - create: yes - block: | - [Unit] - Description=OVN4NFV Kubernetes Daemon - - [Service] - ExecStart=/usr/bin/ovn4nfvk8s \ - -k8s-kubeconfig=/etc/kubernetes/admin.conf - - [Install] - WantedBy=multi-user.target - - name: start ovn4nfvk8s systemd service - service: - name: ovn4nfvk8s - state: started - enabled: yes - - hosts: localhost pre_tasks: - name: Load kud variables @@ -124,3 +35,15 @@ - name: create network objects shell: "/usr/local/bin/kubectl apply -f /tmp/ovn4nfvnetwork.yml" ignore_errors: True + + - name: create operator namespace + shell: "/usr/local/bin/kubectl create namespace operator" + ignore_errors: True + + - name: apply nfn operator label + command: "/usr/local/bin/kubectl label node {{ item }} nfnType=operator --overwrite" + with_inventory_hostnames: ovn-central + + - name: Apply NFN operator, operator roles, CRD's and ovn4nfv Daemonset + shell: "/usr/local/bin/kubectl apply -f ../images/nfn.yml" + ignore_errors: True diff --git a/kud/tests/_common.sh b/kud/tests/_common.sh index 044891dd..92c09b0d 100755 --- a/kud/tests/_common.sh +++ b/kud/tests/_common.sh @@ -277,39 +277,43 @@ spec: MULTUS_NET cat << NET > $unprotected_private_net.yaml -apiVersion: v1 -kind: onapNetwork +apiVersion: k8s.plugin.opnfv.org/v1alpha1 +kind: Network + metadata: name: $unprotected_private_net - cnitype : ovn4nfvk8s spec: - name: $unprotected_private_net - subnet: $protected_private_net_cidr - gateway: 192.168.10.1/24 + cniType : ovn4nfv + ipv4Subnets: + - subnet: $protected_private_net_cidr + name: subnet1 + gateway: 192.168.10.1/24 NET cat << NET > $protected_private_net.yaml -apiVersion: v1 -kind: onapNetwork +apiVersion: k8s.plugin.opnfv.org/v1alpha1 +kind: Network metadata: name: $protected_private_net - cnitype : ovn4nfvk8s spec: - name: $protected_private_net - subnet: $protected_net_cidr - gateway: $protected_net_gw/24 + cniType : ovn4nfv + ipv4Subnets: + - subnet: $protected_net_cidr + name: subnet1 + gateway: $protected_net_gw/24 NET cat << NET > $onap_private_net.yaml -apiVersion: v1 -kind: onapNetwork +apiVersion: k8s.plugin.opnfv.org/v1alpha1 +kind: Network metadata: name: $onap_private_net - cnitype : ovn4nfvk8s spec: - name: $onap_private_net - subnet: $onap_private_net_cidr - gateway: 10.10.0.1/16 + cniType : ovn4nfv + ipv4Subnets: + - subnet: $onap_private_net_cidr + name: subnet1 + gateway: 10.10.0.1/16 NET proxy="apt:" @@ -381,10 +385,10 @@ spec: $ssh_key VirtletRootVolumeSize: 5Gi k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [ { "name": "$unprotected_private_net", "ipAddress": "$vpg_private_ip_0", "interface": "eth1" , "defaultGateway": "false"}, { "name": "$onap_private_net", "ipAddress": "$vpg_private_ip_1", "interface": "eth2" , "defaultGateway": "false"} - ]' + ]}' kubernetes.io/target-runtime: virtlet.cloud spec: affinity: @@ -449,11 +453,11 @@ spec: $ssh_key VirtletRootVolumeSize: 5Gi k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [ { "name": "$unprotected_private_net", "ipAddress": "$vfw_private_ip_0", "interface": "eth1" , "defaultGateway": "false"}, { "name": "$protected_private_net", "ipAddress": "$vfw_private_ip_1", "interface": "eth2", "defaultGateway": "false" }, { "name": "$onap_private_net", "ipAddress": "$vfw_private_ip_2", "interface": "eth3" , "defaultGateway": "false"} - ]' + ]}' kubernetes.io/target-runtime: virtlet.cloud spec: affinity: @@ -506,10 +510,10 @@ spec: context: darkstat annotations: k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]' - ovnNetwork: '[ + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [ { "name": "$protected_private_net", "ipAddress": "$vsn_private_ip_0", "interface": "eth1", "defaultGateway": "false" }, { "name": "$onap_private_net", "ipAddress": "$vsn_private_ip_1", "interface": "eth2" , "defaultGateway": "false"} - ]' + ]}' spec: containers: - name: $sink_deployment_name @@ -1060,27 +1064,29 @@ spec: MULTUS_NET cat << NETWORK > ovn-port-net.yaml -apiVersion: v1 -kind: onapNetwork +apiVersion: k8s.plugin.opnfv.org/v1alpha1 +kind: Network metadata: name: ovn-port-net - cnitype : ovn4nfvk8s spec: - name: ovn-port-net - subnet: 172.16.33.0/24 - gateway: 172.16.33.1/24 + cniType : ovn4nfv + ipv4Subnets: + - subnet: 172.16.33.0/24 + name: subnet1 + gateway: 172.16.33.1/24 NETWORK cat << NETWORK > ovn-priv-net.yaml -apiVersion: v1 -kind: onapNetwork +apiVersion: k8s.plugin.opnfv.org/v1alpha1 +kind: Network metadata: name: ovn-priv-net - cnitype : ovn4nfvk8s spec: - name: ovn-priv-net - subnet: 172.16.44.0/24 - gateway: 172.16.44.1/24 + cniType : ovn4nfv + ipv4Subnets: + - subnet: 172.16.44.0/24 + name: subnet1 + gateway: 172.16.44.1/24 NETWORK cat << DEPLOYMENT > $ovn4nfv_deployment_name.yaml @@ -1101,8 +1107,8 @@ spec: app: ovn4nfv annotations: k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]' - ovnNetwork: '[{ "name": "ovn-port-net", "interface": "net0" , "defaultGateway": "false"}, - { "name": "ovn-priv-net", "interface": "net1" , "defaultGateway": "false"}]' + k8s.plugin.opnfv.org/nfn-network: '{ "type": "ovn4nfv", "interface": [{ "name": "ovn-port-net", "interface": "net0" , "defaultGateway": "false"}, + { "name": "ovn-priv-net", "interface": "net1" , "defaultGateway": "false"}]}' spec: containers: - name: $ovn4nfv_deployment_name diff --git a/kud/tests/integration_vcFW.sh b/kud/tests/integration_vcFW.sh index a4035207..af8039c4 100755 --- a/kud/tests/integration_vcFW.sh +++ b/kud/tests/integration_vcFW.sh @@ -19,7 +19,6 @@ source _functions.sh csar_id=aa443e7e-c8ba-11e8-8877-525400b164ff # Setup -install_ovn_deps if [[ ! -f $HOME/.ssh/id_rsa.pub ]]; then echo -e "\n\n\n" | ssh-keygen -t rsa -N "" fi @@ -27,9 +26,8 @@ populate_CSAR_vms_containers_vFW $csar_id pushd ${CSAR_DIR}/${csar_id} for net in $unprotected_private_net $protected_private_net $onap_private_net; do - cleanup_network $net.yaml echo "Create OVN Network $net network" - init_network $net.yaml + kubectl apply -f $net.yaml done for resource in onap-ovn4nfvk8s-network sink-service sink_configmap; do kubectl apply -f $resource.yaml @@ -51,6 +49,6 @@ done # Teardown #teardown $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name #for net in $unprotected_private_net $protected_private_net $onap_private_net; do -# cleanup_network $net.yaml +# kubectl delete -f $net.yaml #done popd diff --git a/kud/tests/ovn4nfv.sh b/kud/tests/ovn4nfv.sh index 6be6aae8..cd2664ad 100755 --- a/kud/tests/ovn4nfv.sh +++ b/kud/tests/ovn4nfv.sh @@ -18,14 +18,12 @@ source _functions.sh csar_id=a1c5b53e-d7ab-11e8-85b7-525400e8c29a # Setup -install_ovn_deps populate_CSAR_ovn4nfv $csar_id pushd ${CSAR_DIR}/${csar_id} for net in ovn-priv-net ovn-port-net; do - cleanup_network $net.yaml echo "Create OVN Network $net network" - init_network $net.yaml + kubectl apply -f $net.yaml done kubectl apply -f onap-ovn4nfvk8s-network.yaml setup $ovn4nfv_deployment_name @@ -45,6 +43,8 @@ fi # Teardown teardown $ovn4nfv_deployment_name -cleanup_network ovn-priv-net.yaml -cleanup_network ovn-port-net.yaml +for net in ovn-priv-net ovn-port-net; do + echo "Delete OVN Network $net network" + kubectl delete -f $net.yaml +done popd |