diff --git a/ipprofile_2vm_ns/ipprofile_2vm_nsd.yaml b/ipprofile_2vm_ns/ipprofile_2vm_nsd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..72e7c3ff343ebf04befc5d45eccdf7f65f898384 --- /dev/null +++ b/ipprofile_2vm_ns/ipprofile_2vm_nsd.yaml @@ -0,0 +1,21 @@ +nsd: + nsd: + - description: NS with 1 VNFs connected by mgmtnet VL + df: + - id: default-df + vnf-profile: + - id: '1' + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: '1' + constituent-cpd-id: vnf-mgmt-ext + virtual-link-profile-id: mgmtnet + vnfd-id: ipprofile_2vm-vnf + id: ipprofile_2vm-ns + name: ipprofile_2vm-ns + version: '1.0' + virtual-link-desc: + - id: mgmtnet + mgmt-network: true + vnfd-id: + - ipprofile_2vm-vnf diff --git a/ipprofile_2vm_vnf/ipprofile_2vm_vnfd.yaml b/ipprofile_2vm_vnf/ipprofile_2vm_vnfd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f40976af2bb35a9cbab6ebed2e687560c25ecf73 --- /dev/null +++ b/ipprofile_2vm_vnf/ipprofile_2vm_vnfd.yaml @@ -0,0 +1,89 @@ +vnfd: + description: A VNF consisting of 2 VDUs connected to an internal VL + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: mgmtVM + - number-of-instances: 1 + vdu-id: dataVM + vdu-profile: + - id: mgmtVM + min-number-of-instances: 1 + - id: dataVM + min-number-of-instances: 1 + virtual-link-profile: + - id: internal + flavour: '' + virtual-link-protocol-data: + l3-protocol-data: + cidr: 192.168.200.0/24 + ip-version: ipv4 + ext-cpd: + - id: vnf-mgmt-ext + int-cpd: + cpd: mgmtVM-eth0-int + vdu-id: mgmtVM + id: ipprofile_2vm-vnf + int-virtual-link-desc: + - id: internal + mgmt-cp: vnf-mgmt-ext + product-name: ipprofile_2vm-vnf + sw-image-desc: + - id: ubuntu20.04 + image: ubuntu20.04 + name: ubuntu20.04 + vdu: + - id: mgmtVM + int-cpd: + - id: mgmtVM-eth0-int + virtual-network-interface-requirement: + - name: mgmtVM-eth0 + position: 1 + virtual-interface: + type: PARAVIRT + - id: mgmtVM-eth1-int + int-virtual-link-desc: internal + virtual-network-interface-requirement: + - name: mgmtVM-eth1 + position: 2 + virtual-interface: + type: PARAVIRT + name: mgmtVM + sw-image-desc: ubuntu20.04 + virtual-compute-desc: mgmtVM-compute + virtual-storage-desc: + - mgmtVM-storage + - id: dataVM + int-cpd: + - id: dataVM-eth0-int + int-virtual-link-desc: internal + virtual-network-interface-requirement: + - name: dataVM-eth0 + position: 1 + virtual-interface: + type: PARAVIRT + name: dataVM + sw-image-desc: ubuntu20.04 + virtual-compute-desc: dataVM-compute + virtual-storage-desc: + - dataVM-storage + version: '1.0' + virtual-compute-desc: + - id: mgmtVM-compute + virtual-memory: + size: 1.0 + virtual-cpu: + num-virtual-cpu: 1 + - id: dataVM-compute + virtual-memory: + size: 1.0 + virtual-cpu: + num-virtual-cpu: 1 + virtual-storage-desc: + - id: mgmtVM-storage + size-of-storage: 10 + - id: dataVM-storage + size-of-storage: 10 diff --git a/several_volumes_ns/several_volumes_nsd.yaml b/several_volumes_ns/several_volumes_nsd.yaml new file mode 100755 index 0000000000000000000000000000000000000000..45f82de6c30cc01c11e0502cc106743467193455 --- /dev/null +++ b/several_volumes_ns/several_volumes_nsd.yaml @@ -0,0 +1,21 @@ +nsd: + nsd: + - description: NS with 1 VNFs connected to mgmtnet VL + df: + - id: default-df + vnf-profile: + - id: vnf-several-volumes + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf-several-volumes + constituent-cpd-id: vnf-mgmt-ext + virtual-link-profile-id: mgmtnet + vnfd-id: several_volumes-vnf + id: several_volumes-ns + name: several_volumes-ns + version: '1.0' + virtual-link-desc: + - id: mgmtnet + mgmt-network: true + vnfd-id: + - several_volumes-vnf diff --git a/several_volumes_vnf/icons/osm.png b/several_volumes_vnf/icons/osm.png new file mode 100644 index 0000000000000000000000000000000000000000..62012d2a2b491bdcd536d62c3c3c863c0d8c1b33 Binary files /dev/null and b/several_volumes_vnf/icons/osm.png differ diff --git a/several_volumes_vnf/several_volumes_vnfd.yaml b/several_volumes_vnf/several_volumes_vnfd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4128cc2513891be4e332c8c4a56cf744c259cb1b --- /dev/null +++ b/several_volumes_vnf/several_volumes_vnfd.yaml @@ -0,0 +1,68 @@ +vnfd: + description: A basic VNF descriptor w/ one VDU and several volumes + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: several_volumes-VM + vdu-profile: + - id: several_volumes-VM + min-number-of-instances: 1 + ext-cpd: + - id: vnf-mgmt-ext + int-cpd: + cpd: vdu-eth0-int + vdu-id: several_volumes-VM + id: several_volumes-vnf + mgmt-cp: vnf-mgmt-ext + product-name: several_volumes-vnf + sw-image-desc: + - id: ubuntu20.04 + name: ubuntu20.04 + image: ubuntu20.04 + - id: ubuntu20.04-aws + name: ubuntu20.04-aws + image: ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210503 + vim-type: aws + - id: ubuntu20.04-azure + name: ubuntu20.04-azure + image: Canonical:UbuntuServer:20.04-LTS:latest + vim-type: azure + vdu: + - id: several_volumes-VM + name: several_volumes-VM + sw-image-desc: ubuntu20.04 + alternative-sw-image-desc: + - ubuntu20.04-aws + - ubuntu20.04-azure + virtual-compute-desc: several_volumes-VM-compute + virtual-storage-desc: + - root-volume + - persistent-volume + - ephemeral-volume + int-cpd: + - id: vdu-eth0-int + virtual-network-interface-requirement: + - name: vdu-eth0 + virtual-interface: + type: PARAVIRT + version: '1.0' + virtual-compute-desc: + - id: several_volumes-VM-compute + virtual-cpu: + num-virtual-cpu: "1" + virtual-memory: + size: "1.0" + virtual-storage-desc: + - id: root-volume + #type-of-storage: root-storage + size-of-storage: "10" + - id: persistent-volume + type-of-storage: persistent-storage + size-of-storage: "1" + - id: ephemeral-volume + type-of-storage: ephemeral-storage + size-of-storage: "2" + diff --git a/simple_2vm_ns/simple_2vm_nsd.yaml b/simple_2vm_ns/simple_2vm_nsd.yaml new file mode 100755 index 0000000000000000000000000000000000000000..a3de4758d0c1a513fbad7f3a9f7a0cdc61c6d319 --- /dev/null +++ b/simple_2vm_ns/simple_2vm_nsd.yaml @@ -0,0 +1,21 @@ +nsd: + nsd: + - description: NS with 1 VNFs connected by mgmtnet VL + df: + - id: default-df + vnf-profile: + - id: '1' + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: '1' + constituent-cpd-id: vnf-mgmt-ext + virtual-link-profile-id: mgmtnet + vnfd-id: simple_2vm-vnf + id: simple_2vm-ns + name: simple_2vm-ns + version: '1.0' + virtual-link-desc: + - id: mgmtnet + mgmt-network: true + vnfd-id: + - simple_2vm-vnf diff --git a/simple_2vm_vnf/simple_2vm_vnfd.yaml b/simple_2vm_vnf/simple_2vm_vnfd.yaml new file mode 100755 index 0000000000000000000000000000000000000000..3e9c0291814cb3d281b873a006fe0b1eb7d3b593 --- /dev/null +++ b/simple_2vm_vnf/simple_2vm_vnfd.yaml @@ -0,0 +1,82 @@ +vnfd: + description: A VNF consisting of 2 VDUs connected to an internal VL + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: mgmtVM + - number-of-instances: 1 + vdu-id: dataVM + vdu-profile: + - id: mgmtVM + min-number-of-instances: 1 + - id: dataVM + min-number-of-instances: 1 + ext-cpd: + - id: vnf-mgmt-ext + int-cpd: + cpd: mgmtVM-eth0-int + vdu-id: mgmtVM + id: simple_2vm-vnf + int-virtual-link-desc: + - id: internal + mgmt-cp: vnf-mgmt-ext + product-name: simple_2vm-vnf + sw-image-desc: + - id: ubuntu20.04 + image: ubuntu20.04 + name: ubuntu20.04 + vdu: + - id: mgmtVM + int-cpd: + - id: mgmtVM-eth0-int + virtual-network-interface-requirement: + - name: mgmtVM-eth0 + position: 1 + virtual-interface: + type: PARAVIRT + - id: mgmtVM-eth1-int + int-virtual-link-desc: internal + virtual-network-interface-requirement: + - name: mgmtVM-eth1 + position: 2 + virtual-interface: + type: PARAVIRT + name: mgmtVM + sw-image-desc: ubuntu20.04 + virtual-compute-desc: mgmtVM-compute + virtual-storage-desc: + - mgmtVM-storage + - id: dataVM + int-cpd: + - id: dataVM-eth0-int + int-virtual-link-desc: internal + virtual-network-interface-requirement: + - name: dataVM-eth0 + position: 1 + virtual-interface: + type: PARAVIRT + name: dataVM + sw-image-desc: ubuntu20.04 + virtual-compute-desc: dataVM-compute + virtual-storage-desc: + - dataVM-storage + version: '1.0' + virtual-compute-desc: + - id: mgmtVM-compute + virtual-memory: + size: 1.0 + virtual-cpu: + num-virtual-cpu: 1 + - id: dataVM-compute + virtual-memory: + size: 1.0 + virtual-cpu: + num-virtual-cpu: 1 + virtual-storage-desc: + - id: mgmtVM-storage + size-of-storage: 10 + - id: dataVM-storage + size-of-storage: 10 diff --git a/snmp_setcomm_ee_vnf/helm-charts/eechart/charts/snmpexporter/templates/deployment.yaml b/snmp_setcomm_ee_vnf/helm-charts/eechart/charts/snmpexporter/templates/deployment.yaml index 5aef90febced06d2c3b57c4c07d7a1b9281fb269..314b87f5394ce177d7d55533556521033ea188d5 100644 --- a/snmp_setcomm_ee_vnf/helm-charts/eechart/charts/snmpexporter/templates/deployment.yaml +++ b/snmp_setcomm_ee_vnf/helm-charts/eechart/charts/snmpexporter/templates/deployment.yaml @@ -14,6 +14,16 @@ spec: labels: {{- include "snmpexporter.selectorLabels" . | nindent 8 }} spec: + affinity: + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: vnf + operator: In + values: + - {{ .Values.global.osm.vnf_id | lower}} + topologyKey: "kubernetes.io/hostname" securityContext: runAsUser: 0 initContainers: diff --git a/snmp_setcomm_ee_vnf/helm-charts/eechart/templates/statefulset.yaml b/snmp_setcomm_ee_vnf/helm-charts/eechart/templates/statefulset.yaml index 1868dd86fb480df75f76427c9211475d816ca855..7a2f84637e8959be185ec6ef3519727ded51bd8e 100755 --- a/snmp_setcomm_ee_vnf/helm-charts/eechart/templates/statefulset.yaml +++ b/snmp_setcomm_ee_vnf/helm-charts/eechart/templates/statefulset.yaml @@ -16,6 +16,7 @@ spec: labels: app.kubernetes.io/name: {{ include "eechart.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} + vnf: {{ .Values.global.osm.vnf_id | lower}} spec: imagePullSecrets: - name: regcred diff --git a/ubuntu_4ifaces_ns/icons/osm.png b/ubuntu_4ifaces_ns/icons/osm.png new file mode 100644 index 0000000000000000000000000000000000000000..62012d2a2b491bdcd536d62c3c3c863c0d8c1b33 Binary files /dev/null and b/ubuntu_4ifaces_ns/icons/osm.png differ diff --git a/ubuntu_4ifaces_ns/ubuntu_4ifaces_nsd.yaml b/ubuntu_4ifaces_ns/ubuntu_4ifaces_nsd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1078aa8b10a2e463531fc39f8ccf5e88f287fe8c --- /dev/null +++ b/ubuntu_4ifaces_ns/ubuntu_4ifaces_nsd.yaml @@ -0,0 +1,77 @@ +nsd: + nsd: + - description: NS with 2 VNFs ubuntu_4ifaces-vnf connected by mgmtnet and 3 datanet VLs + df: + - id: default-df + virtual-link-profile: + - id: vlp-datanet1 + virtual-link-desc-id: datanet1 + virtual-link-protocol-data: + associated-layer-protocol: ipv4 + l3-protocol-data: + ip-version: ipv4 + cidr: 192.168.10.0/24 + - id: vlp-datanet2 + virtual-link-desc-id: datanet2 + virtual-link-protocol-data: + associated-layer-protocol: ipv4 + l3-protocol-data: + ip-version: ipv4 + cidr: 192.168.20.0/24 + - id: vlp-datanet3 + virtual-link-desc-id: datanet3 + virtual-link-protocol-data: + associated-layer-protocol: ipv4 + l3-protocol-data: + ip-version: ipv4 + cidr: 192.168.30.0/24 + vnf-profile: + - id: vnf1 + vnfd-id: ubuntu_4ifaces-vnf + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf1 + constituent-cpd-id: vnf-mgmt-ext + virtual-link-profile-id: mgmtnet + - constituent-cpd-id: + - constituent-base-element-id: vnf1 + constituent-cpd-id: vnf-data1-ext + virtual-link-profile-id: datanet1 + - constituent-cpd-id: + - constituent-base-element-id: vnf1 + constituent-cpd-id: vnf-data2-ext + virtual-link-profile-id: datanet2 + - constituent-cpd-id: + - constituent-base-element-id: vnf1 + constituent-cpd-id: vnf-data3-ext + virtual-link-profile-id: datanet3 + - id: vnf2 + vnfd-id: ubuntu_4ifaces-vnf + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf2 + constituent-cpd-id: vnf-mgmt-ext + virtual-link-profile-id: mgmtnet + - constituent-cpd-id: + - constituent-base-element-id: vnf2 + constituent-cpd-id: vnf-data1-ext + virtual-link-profile-id: datanet1 + - constituent-cpd-id: + - constituent-base-element-id: vnf2 + constituent-cpd-id: vnf-data2-ext + virtual-link-profile-id: datanet2 + - constituent-cpd-id: + - constituent-base-element-id: vnf2 + constituent-cpd-id: vnf-data3-ext + virtual-link-profile-id: datanet3 + id: ubuntu_4ifaces-ns + name: ubuntu_4ifaces-ns + version: '1.0' + virtual-link-desc: + - id: mgmtnet + mgmt-network: true + - id: datanet1 + - id: datanet2 + - id: datanet3 + vnfd-id: + - ubuntu_4ifaces-vnf diff --git a/ubuntu_4ifaces_vnf/cloud_init/cloud-config.txt b/ubuntu_4ifaces_vnf/cloud_init/cloud-config.txt new file mode 100644 index 0000000000000000000000000000000000000000..25b63cc647effa3d8c9ee922beaac1782339ba4f --- /dev/null +++ b/ubuntu_4ifaces_vnf/cloud_init/cloud-config.txt @@ -0,0 +1,4 @@ +#cloud-config +password: osm4u +chpasswd: { expire: False } +ssh_pwauth: True diff --git a/ubuntu_4ifaces_vnf/icons/osm.png b/ubuntu_4ifaces_vnf/icons/osm.png new file mode 100644 index 0000000000000000000000000000000000000000..62012d2a2b491bdcd536d62c3c3c863c0d8c1b33 Binary files /dev/null and b/ubuntu_4ifaces_vnf/icons/osm.png differ diff --git a/ubuntu_4ifaces_vnf/ubuntu_4ifaces_vnfd.yaml b/ubuntu_4ifaces_vnf/ubuntu_4ifaces_vnfd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8ae9fb0c822db558c3f1653d0a4714fb1d5784a4 --- /dev/null +++ b/ubuntu_4ifaces_vnf/ubuntu_4ifaces_vnfd.yaml @@ -0,0 +1,89 @@ +vnfd: + description: A VNF consisting of 1 VDU with 4 paravirt interfaces + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: dataVM + vdu-profile: + - id: dataVM + min-number-of-instances: 1 + ext-cpd: + - id: vnf-mgmt-ext + int-cpd: + cpd: eth0-int + vdu-id: dataVM + - id: vnf-data1-ext + int-cpd: + cpd: eth1-int + vdu-id: dataVM + - id: vnf-data2-ext + int-cpd: + cpd: eth2-int + vdu-id: dataVM + - id: vnf-data3-ext + int-cpd: + cpd: eth3-int + vdu-id: dataVM + id: ubuntu_4ifaces-vnf + mgmt-cp: vnf-mgmt-ext + product-name: ubuntu_4ifaces-vnf + sw-image-desc: + - id: ubuntu20.04 + image: ubuntu20.04 + name: ubuntu20.04 + vdu: + - cloud-init-file: cloud-config.txt + id: dataVM + int-cpd: + - id: eth0-int + virtual-network-interface-requirement: + - name: eth0 + position: 1 + virtual-interface: + type: PARAVIRT + - id: eth1-int + virtual-network-interface-requirement: + - name: eth1 + position: 2 + virtual-interface: + type: PARAVIRT + - id: eth2-int + virtual-network-interface-requirement: + - name: eth2 + position: 3 + virtual-interface: + type: PARAVIRT + - id: eth3-int + virtual-network-interface-requirement: + - name: eth3 + position: 4 + virtual-interface: + type: PARAVIRT + name: dataVM + sw-image-desc: ubuntu20.04 + virtual-compute-desc: dataVM-compute + virtual-storage-desc: + - dataVM-storage + version: '1.0' + virtual-compute-desc: + - id: dataVM-compute + virtual-cpu: + num-virtual-cpu: 1 + pinning: + policy: static + thread-policy: PREFER + virtual-memory: + mempage-size: LARGE + numa-enabled: true + numa-node-policy: + mem-policy: STRICT + node: + - id: 1 + node-cnt: 1 + size: 2.0 + virtual-storage-desc: + - id: dataVM-storage + size-of-storage: 10 diff --git a/wiki_webserver_autoscale_vnfd/cloud_init/cloud_init_haproxy b/wiki_webserver_autoscale_vnfd/cloud_init/cloud_init_haproxy index 8995804f53e6e074d66a83e6994411977fa8fd5a..3251d9b8afb013056174205278b891a362a7fe08 100644 --- a/wiki_webserver_autoscale_vnfd/cloud_init/cloud_init_haproxy +++ b/wiki_webserver_autoscale_vnfd/cloud_init/cloud_init_haproxy @@ -3,3 +3,7 @@ hostname: haproxyvdu password: osm2021 chpasswd: { expire: False } ssh_pwauth: True +runcmd: + - sleep 60 + - echo "osm2021" | sudo service haproxy restart +