blob: a49c223d333c92a4e8a0697c5f1422c81cf853e4 [file] [log] [blame]
Gopinath Tagetdbe7c712018-08-31 17:35:28 -07001
Gopinath Taget22383d92018-08-22 12:28:52 -07002---
3# Copyright 2017-present Open Networking Foundation
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# NOTE: ABOUT LICENSE: From Gopi - The K8S YAML resource section in this file are copied from
18# Intel's resources that were provided to ONF. We need to clarify what licensing terms are imposed
19# for these K8S resources
20
21tosca_definitions_version: tosca_simple_yaml_1_0
22
23description: Make a Virtual EPC service
24
25imports:
26 - custom_types/vepcservice.yaml
27 - custom_types/vepcserviceinstance.yaml
28 - custom_types/kubernetesresourceinstance.yaml
29 - custom_types/kubernetesservice.yaml
30 - custom_types/vepcresourceinstancelink.yaml
31
32
33topology_template:
34 node_templates:
Gopinath Tagetdbe7c712018-08-31 17:35:28 -070035 service#vepcservice:
Gopinath Taget22383d92018-08-22 12:28:52 -070036 type: tosca.nodes.VEpcService
37 properties:
38 name: vepcservice
Gopinath Tagetdbe7c712018-08-31 17:35:28 -070039# must-exist: true
Gopinath Taget22383d92018-08-22 12:28:52 -070040
41 service#kubernetes:
42 type: tosca.nodes.KubernetesService
43 properties:
44 name: kubernetes
45 must-exist: true
46
47 vepcserviceinstance:
48 type: tosca.nodes.VEpcServiceInstance
49 properties:
50 name: "EPC for Compute"
51 requirements:
52 - owner:
53 node: service#vepcservice
54 relationship: tosca.relationships.BelongsToOne
55
56 kubernetesresourceinstance_ngic_configmap:
57 type: tosca.nodes.KubernetesResourceInstance
58 properties:
59 name: "NGIC Config Map"
60 resource_definition: |
61 apiVersion: v1
62 data:
63 adc_rules.cfg: |
64 #Format -
65 #[ IP | IP Prefix | domain ] DROP? Sponsor-ID Service-ID Rate-Group? [Tariff-Group Tariff-Time]?
66 # Note: it is possible that ADC rules have conflicts & in that case rules are applied by line number...
67 # Rules defined first have a higher priority, unless DROP is specified (i.e. multiple rules for the same IP
68 # When specifying DROP with an IP address, use a prefix of 32 to prevent DNS results from overwriting rule
69
70 13.1.1.111 Example Internet Zero-Rate
71 13.1.1.112/24 Example Management Zero-Rate
72 13.1.1.113 Example Provisioning Zero-Rate
73 www.example.gov Example Internet Zero-Rate
74 www.drop_example.com DROP Example CIPA
75 cp_config.cfg: |
76 SGW_S11_IP=$(hostname)
77 SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
78 MGMT_INFO="-s ${SGW_S11_IP} -m ${MME_S11_IP} -w ${SGW_S1U_IP}"
79 APN_INFO="-i ${IP_POOL_IP} -p ${IP_POOL_MASK} -a ${APN}"
80 TEID_INFO="-t ${S11_TEID_POOL_START} -e ${S11_TEID_POOL_STOP} -u ${S1U_TEID_POOL_START} -o ${S1U_TEID_POOL_STOP}"
81 APP_ARGS="${MGMT_INFO} ${APN_INFO} ${TEID_INFO}"
82
83 CORES="-c $(taskset -p $$ | awk '{print $NF}')"
84 MEMORY="-n4 --no-huge -m 4096 --file-prefix cp"
85 DEVICES="--no-pci"
86 EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
87 dp_config.cfg: |
88 CORES="-c $(taskset -p $$ | awk '{print $NF}')"
89 MEMORY="-n4 --no-huge -m 8192 --file-prefix cp"
90
91 SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
92 SGW_SGI_IP=$(netstat -ie | grep -A1 sgi-net | tail -1 | awk '{print $2}' | tr -d addr:)
93 S1U_MAC=$( netstat -ie | grep -B1 $SGW_S1U_IP | head -n1 | awk '{print $5}' )
94 SGI_MAC=$( netstat -ie | grep -B1 $SGW_SGI_IP | head -n1 | awk '{print $5}' )
95 DEVICES="--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
96
97 EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
98
99 S1U="--s1u_ip ${SGW_S1U_IP} --s1u_mac ${S1U_MAC}"
100 SGI="--sgi_ip ${SGW_SGI_IP} --sgi_mac ${SGI_MAC} --sgi_gw_ip ${RTR_SGI_IP} --sgi_mask ${SGI_MASK}"
101 WORKERS="--num_workers 1"
102 MISC="--log 1"
103
104 APP_ARGS="${S1U} ${SGI} ${WORKERS} ${MISC}"
105 interface.cfg: "; Copyright (c) 2017 Intel Corporation\n;\n; Licensed under the
106 Apache License, Version 2.0 (the \"License\");\n; you may not use this file except
107 in compliance with the License.\n; You may obtain a copy of the License at\n;\n;
108 \ http://www.apache.org/licenses/LICENSE-2.0\n;\n; Unless required by applicable
109 law or agreed to in writing, software\n; distributed under the License is distributed
110 on an \"AS IS\" BASIS,\n; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
111 express or implied.\n; See the License for the specific language governing permissions
112 and\n; limitations under the License.\n\n[0]\ndp_comm_ip = 127.0.0.1\ndp_comm_port
113 = 20\ncp_comm_ip = 127.0.0.1\ncp_comm_port = 21\n"
114 static_pcc.cfg: |+
115 [GLOBAL]
116 NUM_PACKET_FILTERS = 1
117
118 ;default filter - must be first for now (until DP doesn't install any filters)
119 [PACKET_FILTER_0]
120 RATING_GROUP = 9
121 ;Max Bit Rate (MBR) unit= bps
122 MBR = 512000
123
124 [PACKET_FILTER_1]
125 RATING_GROUP = 5
126 MBR = 1000000
127 DIRECTION = bidirectional
128 PRECEDENCE = 255
129 IPV4_REMOTE = 13.1.0.0
130 IPV4_REMOTE_MASK = 255.255.0.0
131 PROTOCOL = 17
132 REMOTE_LOW_LIMIT_PORT = 5060
133 REMOTE_HIGH_LIMIT_PORT = 5060
134
135 [PACKET_FILTER_2]
136 RATING_GROUP = 1
137 MBR = 2000000
138 DIRECTION = bidirectional
139 PRECEDENCE = 255
140 IPV4_REMOTE = 13.1.0.0
141 IPV4_REMOTE_MASK = 255.255.0.0
142 PROTOCOL = 17
143 LOCAL_LOW_LIMIT_PORT = 17000
144 LOCAL_HIGH_LIMIT_PORT = 17010
145
146 [PACKET_FILTER_3]
147 RATING_GROUP = 7
148 MBR = 4000000
149 DIRECTION = bidirectional
150 PRECEDENCE = 255
151 IPV4_REMOTE = 13.1.0.0
152 IPV4_REMOTE_MASK = 255.255.0.0
153 PROTOCOL = 17
154 LOCAL_LOW_LIMIT_PORT = 8000
155 LOCAL_HIGH_LIMIT_PORT = 8080
156
157 kind: ConfigMap
158 metadata:
159 name: ngic-config
160
161 requirements:
162 - owner:
163 node: service#kubernetes
164 relationship: tosca.relationships.BelongsToOne
165
166 kubernetesresourceinstance_mme_service:
167 type: tosca.nodes.KubernetesResourceInstance
168 properties:
169 name: "MME Service"
170 resource_definition: |
171 apiVersion: v1
172 kind: Service
173 metadata:
174 name: mme
175 spec:
176 selector:
177 app: mme
178 clusterIP: None
179 ports:
180 - name: s11
181 port: 2123
182 protocol: UDP
183 - name: s1ap
184 port: 36412
185 protocol: TCP
186 - name: s6a
187 port: 3868
188 protocol: TCP
189
190 requirements:
191 - owner:
192 node: service#kubernetes
193 relationship: tosca.relationships.BelongsToOne
194
195 kubernetesresourceinstance_mme_statefulset:
196 type: tosca.nodes.KubernetesResourceInstance
197 properties:
198 name: "MME StatefulSet"
199 resource_definition: |
200 apiVersion: apps/v1
201 kind: StatefulSet
202 metadata:
203 name: mme
204 labels:
205 app: mme
206 spec:
207 replicas: 1
208 selector:
209 matchLabels:
210 app: mme
211 serviceName: "mme"
212 template:
213 metadata:
214 labels:
215 app: mme
216 spec:
217 terminationGracePeriodSeconds: 1
218 initContainers:
219 - name: init-mme
220 image: "ngick8stesting/c3po-mmeinit"
221 command: [ "sh", "-c"]
222 securityContext:
223 capabilities:
224 add:
225 - NET_ADMIN
226 args:
227 - iptables -A OUTPUT -p sctp --sport 36412 --chunk-types any ABORT -j DROP;
228 until nslookup hss-0.hss.default.svc.cluster.local;
229 do echo waiting for hss; sleep 2; done;
230 containers:
231 - name: mme
232 image: "ngick8stesting/c3po-mme:5e2eaf6"
233 imagePullPolicy: Always
234 env:
235 - name: SGW_S11_IP
236 value: ngic-0.ngic.default.svc.cluster.local
237 - name: MME_ETH0_IP
238 valueFrom:
239 fieldRef:
240 fieldPath: status.podIP
241 - name: ENB_S1AP_IP
242 value: 10.1.11.3
243 - name: CONNECT_PEER
244 value: hss-0.hss.default.svc.cluster.local
245 - name: VAR_HSS_REALM
246 value: hss.default.svc.cluster.local
247 - name: HSS_S6A_IP
248 value: hss-0.hss.default.svc.cluster.local
249 - name: HSS_PORT
250 value: "3868"
251
252 stdin: true
253 tty: true
254 #command: [ "sleep", "3600"]
255 #volumeMounts:
256 #- name: config-volume
257 # mountPath: /opt/ngic/config
258 #- name: scripts-volume
259 # mountPath: /opt/ngic/scripts
260 #- name: hugepage
261 # mountPath: /dev/hugepages
262 resources:
263 limits:
264 cpu: 3
265 memory: 1Gi
266 #volumes:
267 # - name: config-volume
268 # configMap:
269 # name: ngic-config
270 # - name: scripts-volume
271 # secret:
272 # secretName: ngic-scripts
273 # defaultMode: 511
274 # - name: hugepage
275 # emptyDir:
276 # medium: HugePages
277
278 requirements:
279 - owner:
280 node: service#kubernetes
281 relationship: tosca.relationships.BelongsToOne
282
283 kubernetesresourceinstance_hss_service:
284 type: tosca.nodes.KubernetesResourceInstance
285 properties:
286 name: "HSS Service"
287 resource_definition: |
288 apiVersion: v1
289 kind: Service
290 metadata:
291 name: hss
292 spec:
293 selector:
294 app: hss
295 clusterIP: None
296 ports:
297 - name: s6a
298 port: 3868
299 protocol: TCP
300
301 requirements:
302 - owner:
303 node: service#kubernetes
304 relationship: tosca.relationships.BelongsToOne
305
306 kubernetesresourceinstance_hss_statefulset:
307 type: tosca.nodes.KubernetesResourceInstance
308 properties:
309 name: "HSS StatefulSet"
310 resource_definition: |
311 apiVersion: apps/v1
312 kind: StatefulSet
313 metadata:
314 name: hss
315 labels:
316 app: hss
317 spec:
318 replicas: 1
319 selector:
320 matchLabels:
321 app: hss
322 serviceName: "hss"
323 template:
324 metadata:
325 labels:
326 app: hss
327 spec:
328 terminationGracePeriodSeconds: 1
329 initContainers:
330 - name: init-db
331 image: "ngick8stesting/c3po-cassandra:5e2eaf6"
332 command: [ "bash", "-xc"]
333 args:
334 - until nslookup cassandra; do echo waiting for cassandra; sleep 2; done;
335 cqlsh --file /scripts/oai_db.cql cassandra;
336 /scripts/data_provisioning_users.sh 208014567891200 1122334455 apn1 465B5CE8B199B49FAA5F0A2EE238A6BC 100 cassandra mme-0.mme.default.svc.cluster.local mme.default.svc.cluster.local;
337 /scripts/data_provisioning_mme.sh 1 19136246000 mme-0.mme.default.svc.cluster.local mme.default.svc.cluster.local 1 cassandra;
338 /scripts/data_provisioning_mme.sh 1 19136246000 smsrouter.test3gpp.net test3gpp.net 0 cassandra;
339 containers:
340 - name: hss
341 image: "ngick8stesting/c3po-hss:5e2eaf6"
342 imagePullPolicy: Always
343 env:
344 - name: CASSANDRA_ADDR
345 value: cassandra
346 - name: MME_ADDR
347 value: mme-0.mme.default.svc.cluster.local
348 #command: [ "sleep", "3600"]
349 resources:
350 limits:
351 cpu: 3
352 memory: 1Gi
353
354 requirements:
355 - owner:
356 node: service#kubernetes
357 relationship: tosca.relationships.BelongsToOne
358
359 kubernetesresourceinstance_hssdb_service:
360 type: tosca.nodes.KubernetesResourceInstance
361 properties:
362 name: "HSS Cassandra Service"
363 resource_definition: |
364 apiVersion: v1
365 kind: Service
366 metadata:
367 labels:
368 app: cassandra
369 name: cassandra
370 spec:
371 clusterIP: None
372 ports:
373 - port: 9042
374 selector:
375 app: cassandra
376
377 requirements:
378 - owner:
379 node: service#kubernetes
380 relationship: tosca.relationships.BelongsToOne
381
382 kubernetesresourceinstance_hssdb_statefulset:
383 type: tosca.nodes.KubernetesResourceInstance
384 properties:
385 name: "HSS Cassandra StatefulSet"
386 resource_definition: |
387 apiVersion: "apps/v1"
388 kind: StatefulSet
389 metadata:
390 name: cassandra
391 labels:
392 app: cassandra
393 spec:
394 serviceName: cassandra
395 replicas: 1 # 3
396 selector:
397 matchLabels:
398 app: cassandra
399 template:
400 metadata:
401 labels:
402 app: cassandra
403 spec:
404 terminationGracePeriodSeconds: 1
405 containers:
406 - name: cassandra
407 image: ngick8stesting/c3po-cassandra:5e2eaf6
408 imagePullPolicy: Always
409 ports:
410 - containerPort: 7000
411 name: intra-node
412 - containerPort: 7001
413 name: tls-intra-node
414 - containerPort: 7199
415 name: jmx
416 - containerPort: 9042
417 name: cql
418 resources:
419 limits:
420 cpu: "3"
421 memory: 4Gi
422 # Probably Cassandra:3.x?
423 #securityContext:
424 # capabilities:
425 # add:
426 # - IPC_LOCK
427 # Later
428 #lifecycle:
429 # preStop:
430 # exec:
431 # command:
432 # - /bin/sh
433 # - -c
434 # - nodetool drain
435 env:
436 # Performance optimizations
437 - name: MAX_HEAP_SIZE
438 value: 512M
439 - name: HEAP_NEWSIZE
440 value: 100M
441 - name: CASSANDRA_SEEDS
442 value: "cassandra-0.cassandra.default.svc.cluster.local"
443 - name: CASSANDRA_CLUSTER_NAME
444 value: "HSS Cluster"
445 - name: CASSANDRA_RPC_ADDRESS
446 valueFrom:
447 fieldRef:
448 fieldPath: status.podIP
449 - name: CASSANDRA_ENDPOINT_SNITCH
450 value: "GossipingPropertyFileSnitch"
451 readinessProbe:
452 exec:
453 command: ["/bin/bash", "-c", "nodetool status -r | awk -v h=$(hostname) '$2==h {exit ($1==\"UN\" ? 0 : -1)}'"]
454 initialDelaySeconds: 15
455 timeoutSeconds: 5
456 # volumeMounts:
457 # - name: cassandra-data
458 # mountPath: /var/lib/cassandra
459 # volumeClaimTemplates:
460 # - metadata:
461 # name: cassandra-data
462 # spec:
463 # accessModes: [ "ReadWriteOnce" ]
464 # resources:
465 # requests:
466 # storage: 1Gi
467
468 requirements:
469 - owner:
470 node: service#kubernetes
471 relationship: tosca.relationships.BelongsToOne
472
473 kubernetesresourceinstance_spgwcu_service:
474 type: tosca.nodes.KubernetesResourceInstance
475 properties:
476 name: "SPGW Control and User Service"
477 resource_definition: |
478 apiVersion: v1
479 kind: Service
480 metadata:
481 name: ngic
482 spec:
483 selector:
484 app: ngic
485 clusterIP: None
486 ports:
487 - name: s11
488 port: 2123
489 protocol: UDP
490
491 requirements:
492 - owner:
493 node: service#kubernetes
494 relationship: tosca.relationships.BelongsToOne
495
496 kubernetesresourceinstance_spgwcu_statefulset:
497 type: tosca.nodes.KubernetesResourceInstance
498 properties:
499 name: "SPGW Control and User StatefulSet"
500 resource_definition: |
501 apiVersion: apps/v1
502 kind: StatefulSet
503 metadata:
504 name: ngic
505 labels:
506 app: ngic
507 spec:
508 replicas: 1
509 selector:
510 matchLabels:
511 app: ngic
512 serviceName: "ngic"
513 template:
514 metadata:
515 labels:
516 app: ngic
517 annotations:
518 kubernetes.v1.cni.cncf.io/networks: '[
519 { "name": "s1u-net", "interfaceRequest": "s1u-net" },
520 { "name": "sgi-net", "interfaceRequest": "sgi-net" }
521 ]'
522 spec:
523 initContainers:
524 - name: init-iptables
525 image: "ngick8stesting/c3po-mmeinit"
526 command: [ "sh", "-c"]
527 securityContext:
528 capabilities:
529 add:
530 - NET_ADMIN
531 args:
532 - iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
533 terminationGracePeriodSeconds: 1
534 containers:
535 - name: ngic-cp
536 image: "ngick8stesting/ngic-cp:d9b315c"
537 stdin: true
538 command: [ "bash", "-cx", ". /opt/ngic/config/cp_config.cfg; ./ngic_controlplane $EAL_ARGS -- $APP_ARGS"]
539 #command: ["sleep", "3600"]
540 tty: true
541 env:
542 - name: MME_S11_IP
543 value: mme-0.mme.default.svc.cluster.local
544 #- name: SGW_S1U_IP # for now,this will be in our own pod
545 # value: "5.5.5.5"
546 - name: APN
547 value: apn1
548 - name: IP_POOL_IP
549 value: "16.0.0.0"
550 - name: IP_POOL_MASK
551 value: "255.240.0.0"
552 - name: S11_TEID_POOL_START
553 value: "00100000"
554 - name: S11_TEID_POOL_STOP
555 value: "001fffff"
556 - name: S1U_TEID_POOL_START
557 value: "00100000"
558 - name: S1U_TEID_POOL_STOP
559 value: "001fffff"
560 volumeMounts:
561 - name: config-volume
562 mountPath: /opt/ngic/config
563 #- name: hugepage
564 # mountPath: /dev/hugepages
565 resources:
566 limits:
567 #hugepages-2Mi: 4Gi
568 cpu: 3
569 memory: 4Gi
570 - name: ngic-dp
571 image: "ngiccorddemo/ngic-dp:k8s-bm"
572 stdin: true
573 tty: true
574 env:
575 - name: RTR_SGI_IP
576 value: "13.1.1.110"
577 - name: SGI_MASK
578 value: "255.255.255.0"
579 command: [ "bash", "-cx", ". /opt/ngic/config/dp_config.cfg ; ./ngic_dataplane $EAL_ARGS -- $APP_ARGS"]
580 #command: ["sleep", "3600"]
581 volumeMounts:
582 - name: config-volume
583 mountPath: /opt/ngic/config
584 #- name: hugepage
585 # mountPath: /dev/hugepages
586 resources:
587 limits:
588 #hugepages-1Gi: 8Gi
589 cpu: 8
590 memory: 8Gi #200Mi
591 intel.com/sriov: '2'
592 securityContext:
593 privileged: true
594 capabilities:
595 add:
596 - NET_ADMIN
597 - IPC_LOCK
598 volumes:
599 - name: config-volume
600 configMap:
601 name: ngic-config
602 #- name: hugepage
603 # emptyDir:
604 # medium: HugePages
605
606 requirements:
607 - owner:
608 node: service#kubernetes
609 relationship: tosca.relationships.BelongsToOne
610
611 vepcresourceinstancelink_ngic_configmap:
612 type: tosca.nodes.VEpcResourceInstanceLink
613 properties:
614 name: "NGIC ConfigMap Resource Link"
615
616 requirements:
617 - resource_instance:
618 node: kubernetesresourceinstance_ngic_configmap
619 relationship: tosca.relationships.BelongsToOne
620 - vepc_service_instance:
621 node: vepcserviceinstance
622 relationship: tosca.relationships.BelongsToOne
623
624 vepcresourceinstancelink_mme_service:
625 type: tosca.nodes.VEpcResourceInstanceLink
626 properties:
627 name: "MME Service Resource Link"
628
629 requirements:
630 - resource_instance:
631 node: kubernetesresourceinstance_mme_service
632 relationship: tosca.relationships.BelongsToOne
633 - vepc_service_instance:
634 node: vepcserviceinstance
635 relationship: tosca.relationships.BelongsToOne
636
637 vepcresourceinstancelink_mme_statefulset:
Gopinath Tagetdbe7c712018-08-31 17:35:28 -0700638 type: tosca.nodes.VEpcResourceInstanceLink
Gopinath Taget22383d92018-08-22 12:28:52 -0700639 properties:
640 name: "MME StatefulSet Resource Link"
641
642 requirements:
643 - resource_instance:
644 node: kubernetesresourceinstance_mme_statefulset
645 relationship: tosca.relationships.BelongsToOne
646 - vepc_service_instance:
647 node: vepcserviceinstance
648 relationship: tosca.relationships.BelongsToOne
649
650 vepcresourceinstancelink_hss_service:
651 type: tosca.nodes.VEpcResourceInstanceLink
652 properties:
653 name: "HSS Service Resource Link"
654
655 requirements:
656 - resource_instance:
657 node: kubernetesresourceinstance_hss_service
658 relationship: tosca.relationships.BelongsToOne
659 - vepc_service_instance:
660 node: vepcserviceinstance
661 relationship: tosca.relationships.BelongsToOne
662
663 vepcresourceinstancelink_hss_statefulset:
Gopinath Tagetdbe7c712018-08-31 17:35:28 -0700664 type: tosca.nodes.VEpcResourceInstanceLink
Gopinath Taget22383d92018-08-22 12:28:52 -0700665 properties:
666 name: "HSS StatefulSet Resource Link"
667
668 requirements:
669 - resource_instance:
670 node: kubernetesresourceinstance_hss_statefulset
671 relationship: tosca.relationships.BelongsToOne
672 - vepc_service_instance:
673 node: vepcserviceinstance
674 relationship: tosca.relationships.BelongsToOne
675
676 vepcresourceinstancelink_hssdb_service:
677 type: tosca.nodes.VEpcResourceInstanceLink
678 properties:
679 name: "HSS Cassandra Service Resource Link"
680
681 requirements:
682 - resource_instance:
683 node: kubernetesresourceinstance_hssdb_service
684 relationship: tosca.relationships.BelongsToOne
685 - vepc_service_instance:
686 node: vepcserviceinstance
687 relationship: tosca.relationships.BelongsToOne
688
689 vepcresourceinstancelink_hssdb_statefulset:
Gopinath Tagetdbe7c712018-08-31 17:35:28 -0700690 type: tosca.nodes.VEpcResourceInstanceLink
Gopinath Taget22383d92018-08-22 12:28:52 -0700691 properties:
692 name: "HSS Cassandra StatefulSet Resource Link"
693
694 requirements:
695 - resource_instance:
696 node: kubernetesresourceinstance_hssdb_statefulset
697 relationship: tosca.relationships.BelongsToOne
698 - vepc_service_instance:
699 node: vepcserviceinstance
700 relationship: tosca.relationships.BelongsToOne
701
702 vepcresourceinstancelink_spgwcu_service:
703 type: tosca.nodes.VEpcResourceInstanceLink
704 properties:
705 name: "SPGW Contol and User Service Resource Link"
706
707 requirements:
708 - resource_instance:
709 node: kubernetesresourceinstance_spgwcu_service
710 relationship: tosca.relationships.BelongsToOne
711 - vepc_service_instance:
712 node: vepcserviceinstance
713 relationship: tosca.relationships.BelongsToOne
714
715 vepcresourceinstancelink_spgwcu_statefulset:
Gopinath Tagetdbe7c712018-08-31 17:35:28 -0700716 type: tosca.nodes.VEpcResourceInstanceLink
Gopinath Taget22383d92018-08-22 12:28:52 -0700717 properties:
718 name: "HS SPGW Control and User StatefulSet Resource Link"
719
720 requirements:
721 - resource_instance:
722 node: kubernetesresourceinstance_spgwcu_statefulset
723 relationship: tosca.relationships.BelongsToOne
724 - vepc_service_instance:
725 node: vepcserviceinstance
Gopinath Tagetdbe7c712018-08-31 17:35:28 -0700726 relationship: tosca.relationships.BelongsToOne