Initial CDS blueprint for vFW CNF demo
[demo.git] / heat / vFW_CNF_CDS / templates / helm / firewall / templates / deployment.yaml
1 apiVersion: apps/v1
2 kind: Deployment
3 metadata:
4   name: {{ .Values.vfw_name_0 }}
5   labels:
6     release: {{ .Release.Name }}
7     app: {{ .Values.vnf_name }}
8     chart: {{ .Chart.Name }}
9 spec:
10   replicas: {{ .Values.replicaCount }}
11   selector:
12     matchLabels:
13       app: {{ .Values.vnf_name }}
14       release: {{ .Release.Name }}
15   template:
16     metadata:
17       labels:
18         app: {{ .Values.vnf_name }}
19         release: {{ .Release.Name }}
20       annotations:
21         VirtletLibvirtCPUSetting: |
22           mode: host-model
23         VirtletSSHKeySource: "secret/{{ .Values.key_name }}"
24         VirtletCloudInitUserData: |
25           ssh_pwauth: True #FIXME Remove after troubleshooting
26           users:
27           - name: admin
28             gecos: User
29             primary-group: admin
30             groups: users
31             sudo: ALL=(ALL) NOPASSWD:ALL
32             # FIXME Remove after troubleshooting
33             # Password is "testuser"
34             passwd: "$6$rounds=4096$D6cf92nq$cgBveQHTP7IK3CIYTNkVJyzd0Vze6l1QlV9sWSXiTma2hOCTl7bFSh4nvK5qPMvNlnDtlIm03arG5Uh866E9w."
35             lock_passwd: False
36           runcmd:
37             #FIXME DEBUG START
38             - echo "ENV:"
39             - env
40             - echo "/etc/cloud/environment:"
41             - cat /etc/cloud/environment
42             #FIXME DEBUG END
43             - wget -O firewall.sh https://git.onap.org/multicloud/k8s/plain/kud/tests/vFW/firewall
44             - bash -c 'set -a; . /etc/cloud/environment; bash firewall.sh'
45         VirtletRootVolumeSize: 5Gi
46         k8s.v1.cni.cncf.io/networks: "{{ .Values.vnf_name }}-ovn-attachment"
47         k8s.plugin.opnfv.org/nfn-network: | 
48             { "type": "ovn4nfv",
49               "interface": [
50                 { "name": {{ .Values.int_private1_net_id | quote }},
51                   "ipAddress": {{ .Values.vfw_int_private1_ip_0 | quote }},
52                   "interface": "eth1",
53                   "defaultGateway": "false" },
54                 { "name": {{ .Values.int_private2_net_id | quote }},
55                   "ipAddress": {{ .Values.vfw_int_private2_ip_0 | quote }},
56                   "interface": "eth2",
57                   "defaultGateway": "false" },
58                 { "name": {{ .Values.onap_private_net_id | quote }},
59                   "ipAddress": {{ .Values.vfw_onap_private_ip_0 | quote }},
60                   "interface": "eth3",
61                   "defaultGateway": "false" }
62               ]
63             }
64         kubernetes.io/target-runtime: virtlet.cloud
65     spec:
66       affinity:
67         nodeAffinity:
68           requiredDuringSchedulingIgnoredDuringExecution:
69             nodeSelectorTerms:
70             - matchExpressions:
71               - key: extraRuntime
72                 operator: In
73                 values:
74                 - virtlet
75       containers:
76       - name: {{ .Chart.Name }}
77         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
78         imagePullPolicy: {{ .Values.image.pullPolicy }}
79         tty: true
80         stdin: true
81         envFrom:
82         - configMapRef:
83             name: {{ .Values.vfw_name_0 }}-configmap
84         resources:
85           limits:
86             memory: {{ .Values.resources.limits.memory }}