8 base_url_clm=${base_url_clm:-"http://10.10.10.6:31856/v2"}
9 base_url_ncm=${base_url_ncm:-"http://10.10.10.6:32737/v2"}
10 base_url_orchestrator=${base_url_orchestrator:-"http://10.10.10.6:31298/v2"}
11 base_url_ovnaction=${base_url_ovnaction:-"http://10.10.10.6:31181/v2"}
14 # TODO one is added by default, add more if vfw demo is
15 # extended to multiple clusters
16 clusterprovidername="vfw-cluster-provider"
17 clusterproviderdata="$(cat<<EOF
20 "name": "$clusterprovidername",
21 "description": "description of $clusterprovidername",
22 "userData1": "$clusterprovidername user data 1",
23 "userData2": "$clusterprovidername user data 2"
30 clusterdata="$(cat<<EOF
33 "name": "$clustername",
34 "description": "description of $clustername",
35 "userData1": "$clustername user data 1",
36 "userData2": "$clustername user data 2"
42 # set $kubeconfigfile before running script to point to the desired config file
43 kubeconfigfile=${kubeconfigfile:-"oops"}
45 # TODO consider demo of cluster label based placement
46 # could use to onboard multiple clusters for vfw
47 # but still deploy to just 1 cluster based on label
50 {"label-name": "$labelname"}
55 clusterdata2="$(cat<<EOF
58 "name": "$clustername2",
59 "description": "description of $clustername2",
60 "userData1": "$clustername2 user data 1",
61 "userData2": "$clustername2 user data 2"
67 # set $kubeconfigfile2 before running script to point to the desired config file
68 kubeconfigfile2=${kubeconfigfile2:-"oops"}
70 # TODO consider demo of cluster label based placement
71 # could use to onboard multiple clusters for vfw
72 # but still deploy to just 1 cluster based on label
74 labeldata2="$(cat<<EOF
75 {"label-name": "$labelname"}
79 # add the rsync controller entry
80 rsynccontrollername="rsync"
81 rsynccontrollerdata="$(cat<<EOF
85 "description": "description of $rsynccontrollername controller",
86 "userData1": "user data 1 for $rsynccontrollername",
87 "userData2": "user data 2 for $rsynccontrollername"
90 "host": "${rsynccontrollername}",
97 # add the rsync controller entry
98 ovnactioncontrollername="ovnaction"
99 ovnactioncontrollerdata="$(cat<<EOF
102 "name": "$ovnactioncontrollername",
103 "description": "description of $ovnactioncontrollername controller",
104 "userData1": "user data 2 for $ovnactioncontrollername",
105 "userData2": "user data 2 for $ovnactioncontrollername"
108 "host": "${ovnactioncontrollername}",
118 # define networks and providernetworks intents to ncm for the clusters
119 # define emco-private-net and unprotexted-private-net as provider networks
121 emcoprovidernetworkname="emco-private-net"
122 emcoprovidernetworkdata="$(cat<<EOF
125 "name": "$emcoprovidernetworkname",
126 "description": "description of $emcoprovidernetworkname",
127 "userData1": "user data 1 for $emcoprovidernetworkname",
128 "userData2": "user data 2 for $emcoprovidernetworkname"
131 "cniType": "ovn4nfv",
134 "subnet": "10.10.20.0/24",
136 "gateway": "10.10.20.1/24"
139 "providerNetType": "VLAN",
142 "providerInterfaceName": "eth1",
143 "logicalInterfaceName": "eth1.102",
144 "vlanNodeSelector": "specific",
146 "kubernetes.io/hostname=localhost"
154 unprotectedprovidernetworkname="unprotected-private-net"
155 unprotectedprovidernetworkdata="$(cat<<EOF
158 "name": "$unprotectedprovidernetworkname",
159 "description": "description of $unprotectedprovidernetworkname",
160 "userData1": "user data 2 for $unprotectedprovidernetworkname",
161 "userData2": "user data 2 for $unprotectedprovidernetworkname"
164 "cniType": "ovn4nfv",
167 "subnet": "192.168.10.0/24",
169 "gateway": "192.168.10.1/24"
172 "providerNetType": "VLAN",
175 "providerInterfaceName": "eth1",
176 "logicalInterfaceName": "eth1.100",
177 "vlanNodeSelector": "specific",
179 "kubernetes.io/hostname=localhost"
187 protectednetworkname="protected-private-net"
188 protectednetworkdata="$(cat<<EOF
191 "name": "$protectednetworkname",
192 "description": "description of $protectednetworkname",
193 "userData1": "user data 1 for $protectednetworkname",
194 "userData2": "user data 1 for $protectednetworkname"
197 "cniType": "ovn4nfv",
200 "subnet": "192.168.20.0/24",
202 "gateway": "192.168.20.100/32"
211 projectname="testvfw"
212 projectdata="$(cat<<EOF
215 "name": "$projectname",
216 "description": "description of $projectname controller",
217 "userData1": "$projectname user data 1",
218 "userData2": "$projectname user data 2"
224 # define a composite application
225 vfw_compositeapp_name="compositevfw"
226 vfw_compositeapp_version="v1"
227 vfw_compositeapp_data="$(cat <<EOF
230 "name": "${vfw_compositeapp_name}",
231 "description": "description of ${vfw_compositeapp_name}",
232 "userData1": "user data 1 for ${vfw_compositeapp_name}",
233 "userData2": "user data 2 for ${vfw_compositeapp_name}"
236 "version":"${vfw_compositeapp_version}"
242 # define app entries for the composite application
243 # includes the multipart tgz of the helm chart for vfw
244 # BEGIN: Create entries for app1&app2 in the database
245 packetgen_app_name="packetgen"
246 packetgen_helm_chart=${packetgen_helm_path:-"oops"}
247 packetgen_app_data="$(cat <<EOF
250 "name": "${packetgen_app_name}",
251 "description": "description for app ${packetgen_app_name}",
252 "userData1": "user data 2 for ${packetgen_app_name}",
253 "userData2": "user data 2 for ${packetgen_app_name}"
259 firewall_app_name="firewall"
260 firewall_helm_chart=${firewall_helm_path:-"oops"}
261 firewall_app_data="$(cat <<EOF
264 "name": "${firewall_app_name}",
265 "description": "description for app ${firewall_app_name}",
266 "userData1": "user data 2 for ${firewall_app_name}",
267 "userData2": "user data 2 for ${firewall_app_name}"
274 sink_helm_chart=${sink_helm_path:-"oops"}
275 sink_app_data="$(cat <<EOF
278 "name": "${sink_app_name}",
279 "description": "description for app ${sink_app_name}",
280 "userData1": "user data 2 for ${sink_app_name}",
281 "userData2": "user data 2 for ${sink_app_name}"
288 # Add the composite profile
289 vfw_composite_profile_name="vfw_composite-profile"
290 vfw_composite_profile_data="$(cat <<EOF
293 "name":"${vfw_composite_profile_name}",
294 "description":"description of ${vfw_composite_profile_name}",
295 "userData1":"user data 1 for ${vfw_composite_profile_name}",
296 "userData2":"user data 2 for ${vfw_composite_profile_name}"
303 # define the packetgen profile data
304 packetgen_profile_name="packetgen-profile"
305 packetgen_profile_file=${packetgen_profile_targz:-"oops"}
306 packetgen_profile_data="$(cat <<EOF
309 "name":"${packetgen_profile_name}",
310 "description":"description of ${packetgen_profile_name}",
311 "userData1":"user data 1 for ${packetgen_profile_name}",
312 "userData2":"user data 2 for ${packetgen_profile_name}"
315 "app-name": "${packetgen_app_name}"
321 # define the firewall profile data
322 firewall_profile_name="firewall-profile"
323 firewall_profile_file=${firewall_profile_targz:-"oops"}
324 firewall_profile_data="$(cat <<EOF
327 "name":"${firewall_profile_name}",
328 "description":"description of ${firewall_profile_name}",
329 "userData1":"user data 1 for ${firewall_profile_name}",
330 "userData2":"user data 2 for ${firewall_profile_name}"
333 "app-name": "${firewall_app_name}"
339 # define the sink profile data
340 sink_profile_name="sink-profile"
341 sink_profile_file=${sink_profile_targz:-"oops"}
342 sink_profile_data="$(cat <<EOF
345 "name":"${sink_profile_name}",
346 "description":"description of ${sink_profile_name}",
347 "userData1":"user data 1 for ${sink_profile_name}",
348 "userData2":"user data 2 for ${sink_profile_name}"
351 "app-name": "${sink_app_name}"
358 # define the generic placement intent
359 generic_placement_intent_name="generic-placement-intent"
360 generic_placement_intent_data="$(cat <<EOF
363 "name":"${generic_placement_intent_name}",
364 "description":"${generic_placement_intent_name}",
365 "userData1":"${generic_placement_intent_name}",
366 "userData2":"${generic_placement_intent_name}"
373 # define app placement intent for packetgen
374 packetgen_placement_intent_name="packetgen-placement-intent"
375 packetgen_placement_intent_data="$(cat <<EOF
378 "name":"${packetgen_placement_intent_name}",
379 "description":"description of ${packetgen_placement_intent_name}",
380 "userData1":"user data 1 for ${packetgen_placement_intent_name}",
381 "userData2":"user data 2 for ${packetgen_placement_intent_name}"
384 "app-name":"${packetgen_app_name}",
387 { "provider-name":"${clusterprovidername}",
388 "cluster-label-name":"${labelname}"
397 # define app placement intent for firewall
398 firewall_placement_intent_name="firewall-placement-intent"
399 firewall_placement_intent_data="$(cat <<EOF
402 "name":"${firewall_placement_intent_name}",
403 "description":"description of ${firewall_placement_intent_name}",
404 "userData1":"user data 1 for ${firewall_placement_intent_name}",
405 "userData2":"user data 2 for ${firewall_placement_intent_name}"
408 "app-name":"${firewall_app_name}",
411 { "provider-name":"${clusterprovidername}",
412 "cluster-label-name":"${labelname}"
421 # define app placement intent for sink
422 sink_placement_intent_name="sink-placement-intent"
423 sink_placement_intent_data="$(cat <<EOF
426 "name":"${sink_placement_intent_name}",
427 "description":"description of ${sink_placement_intent_name}",
428 "userData1":"user data 1 for ${sink_placement_intent_name}",
429 "userData2":"user data 2 for ${sink_placement_intent_name}"
432 "app-name":"${sink_app_name}",
435 { "provider-name":"${clusterprovidername}",
436 "cluster-label-name":"${labelname}"
445 # define a deployment intent group
447 deployment_intent_group_name="vfw_deployment_intent_group"
448 deployment_intent_group_data="$(cat <<EOF
451 "name":"${deployment_intent_group_name}",
452 "description":"descriptiont of ${deployment_intent_group_name}",
453 "userData1":"user data 1 for ${deployment_intent_group_name}",
454 "userData2":"user data 2 for ${deployment_intent_group_name}"
457 "profile":"${vfw_composite_profile_name}",
458 "version":"${release}",
459 "logical-cloud":"unused_logical_cloud",
462 "app-name":"${packetgen_app_name}",
464 ".Values.service.ports.nodePort":"30888"
468 "app-name":"${firewall_app_name}",
470 ".Values.global.dcaeCollectorIp":"1.2.3.4",
471 ".Values.global.dcaeCollectorPort":"8888"
475 "app-name":"${sink_app_name}",
477 ".Values.service.ports.nodePort":"30677"
486 # define the network-control-intent for the vfw composite app
487 vfw_ovnaction_intent_name="vfw_ovnaction_intent"
488 vfw_ovnaction_intent_data="$(cat <<EOF
491 "name":"${vfw_ovnaction_intent_name}",
492 "description":"descriptionf of ${vfw_ovnaction_intent_name}",
493 "userData1":"user data 1 for ${vfw_ovnaction_intent_name}",
494 "userData2":"user data 2 for ${vfw_ovnaction_intent_name}"
500 # define the network workload intent for packetgen app
501 packetgen_workload_intent_name="packetgen_workload_intent"
502 packetgen_workload_intent_data="$(cat <<EOF
505 "name": "${packetgen_workload_intent_name}",
506 "description": "description of ${packetgen_workload_intent_name}",
507 "userData1": "useer data 2 for ${packetgen_workload_intent_name}",
508 "userData2": "useer data 2 for ${packetgen_workload_intent_name}"
511 "application-name": "${packetgen_app_name}",
512 "workload-resource": "${release}-${packetgen_app_name}",
519 # define the network workload intent for firewall app
520 firewall_workload_intent_name="firewall_workload_intent"
521 firewall_workload_intent_data="$(cat <<EOF
524 "name": "${firewall_workload_intent_name}",
525 "description": "description of ${firewall_workload_intent_name}",
526 "userData1": "useer data 2 for ${firewall_workload_intent_name}",
527 "userData2": "useer data 2 for ${firewall_workload_intent_name}"
530 "application-name": "${firewall_app_name}",
531 "workload-resource": "${release}-${firewall_app_name}",
538 # define the network workload intent for sink app
539 sink_workload_intent_name="sink_workload_intent"
540 sink_workload_intent_data="$(cat <<EOF
543 "name": "${sink_workload_intent_name}",
544 "description": "description of ${sink_workload_intent_name}",
545 "userData1": "useer data 2 for ${sink_workload_intent_name}",
546 "userData2": "useer data 2 for ${sink_workload_intent_name}"
549 "application-name": "${sink_app_name}",
550 "workload-resource": "${release}-${sink_app_name}",
557 # define the network interface intents for the packetgen workload intent
558 packetgen_unprotected_interface_name="packetgen_unprotected_if"
559 packetgen_unprotected_interface_data="$(cat <<EOF
562 "name": "${packetgen_unprotected_interface_name}",
563 "description": "description of ${packetgen_unprotected_interface_name}",
564 "userData1": "useer data 2 for ${packetgen_unprotected_interface_name}",
565 "userData2": "useer data 2 for ${packetgen_unprotected_interface_name}"
569 "name": "${unprotectedprovidernetworkname}",
570 "defaultGateway": "false",
571 "ipAddress": "192.168.10.2"
577 packetgen_emco_interface_name="packetgen_emco_if"
578 packetgen_emco_interface_data="$(cat <<EOF
581 "name": "${packetgen_emco_interface_name}",
582 "description": "description of ${packetgen_emco_interface_name}",
583 "userData1": "useer data 2 for ${packetgen_emco_interface_name}",
584 "userData2": "useer data 2 for ${packetgen_emco_interface_name}"
588 "name": "${emcoprovidernetworkname}",
589 "defaultGateway": "false",
590 "ipAddress": "10.10.20.2"
596 # define the network interface intents for the firewall workload intent
597 firewall_unprotected_interface_name="firewall_unprotected_if"
598 firewall_unprotected_interface_data="$(cat <<EOF
601 "name": "${firewall_unprotected_interface_name}",
602 "description": "description of ${firewall_unprotected_interface_name}",
603 "userData1": "useer data 2 for ${firewall_unprotected_interface_name}",
604 "userData2": "useer data 2 for ${firewall_unprotected_interface_name}"
608 "name": "${unprotectedprovidernetworkname}",
609 "defaultGateway": "false",
610 "ipAddress": "192.168.10.3"
616 firewall_protected_interface_name="firewall_protected_if"
617 firewall_protected_interface_data="$(cat <<EOF
620 "name": "${firewall_protected_interface_name}",
621 "description": "description of ${firewall_protected_interface_name}",
622 "userData1": "useer data 2 for ${firewall_protected_interface_name}",
623 "userData2": "useer data 2 for ${firewall_protected_interface_name}"
627 "name": "${protectednetworkname}",
628 "defaultGateway": "false",
629 "ipAddress": "192.168.20.2"
635 firewall_emco_interface_name="firewall_emco_if"
636 firewall_emco_interface_data="$(cat <<EOF
639 "name": "${firewall_emco_interface_name}",
640 "description": "description of ${firewall_emco_interface_name}",
641 "userData1": "useer data 2 for ${firewall_emco_interface_name}",
642 "userData2": "useer data 2 for ${firewall_emco_interface_name}"
646 "name": "${emcoprovidernetworkname}",
647 "defaultGateway": "false",
648 "ipAddress": "10.10.20.3"
654 # define the network interface intents for the sink workload intent
655 sink_protected_interface_name="sink_protected_if"
656 sink_protected_interface_data="$(cat <<EOF
659 "name": "${sink_protected_interface_name}",
660 "description": "description of ${sink_protected_interface_name}",
661 "userData1": "useer data 2 for ${sink_protected_interface_name}",
662 "userData2": "useer data 2 for ${sink_protected_interface_name}"
666 "name": "${protectednetworkname}",
667 "defaultGateway": "false",
668 "ipAddress": "192.168.20.3"
674 sink_emco_interface_name="sink_emco_if"
675 sink_emco_interface_data="$(cat <<EOF
678 "name": "${sink_emco_interface_name}",
679 "description": "description of ${sink_emco_interface_name}",
680 "userData1": "useer data 2 for ${sink_emco_interface_name}",
681 "userData2": "useer data 2 for ${sink_emco_interface_name}"
685 "name": "${emcoprovidernetworkname}",
686 "defaultGateway": "false",
687 "ipAddress": "10.10.20.4"
693 # define the intents to be used by the group
694 deployment_intents_in_group_name="vfw_deploy_intents"
695 deployment_intents_in_group_data="$(cat <<EOF
698 "name":"${deployment_intents_in_group_name}",
699 "description":"descriptionf of ${deployment_intents_in_group_name}",
700 "userData1":"user data 1 for ${deployment_intents_in_group_name}",
701 "userData2":"user data 2 for ${deployment_intents_in_group_name}"
705 "genericPlacementIntent":"${generic_placement_intent_name}",
706 "ovnaction" : "${vfw_ovnaction_intent_name}"
714 function createOvnactionData {
715 call_api -d "${vfw_ovnaction_intent_data}" \
716 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent"
718 call_api -d "${packetgen_workload_intent_data}" \
719 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents"
720 call_api -d "${firewall_workload_intent_data}" \
721 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents"
722 call_api -d "${sink_workload_intent_data}" \
723 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents"
725 call_api -d "${packetgen_emco_interface_data}" \
726 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces"
727 call_api -d "${packetgen_unprotected_interface_data}" \
728 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces"
730 call_api -d "${firewall_emco_interface_data}" \
731 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces"
732 call_api -d "${firewall_unprotected_interface_data}" \
733 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces"
734 call_api -d "${firewall_protected_interface_data}" \
735 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces"
737 call_api -d "${sink_emco_interface_data}" \
738 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces"
739 call_api -d "${sink_protected_interface_data}" \
740 "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces"
743 function createOrchData {
744 print_msg "creating controller entries"
745 call_api -d "${rsynccontrollerdata}" "${base_url_orchestrator}/controllers"
746 call_api -d "${ovnactioncontrollerdata}" "${base_url_orchestrator}/controllers"
748 print_msg "creating project entry"
749 call_api -d "${projectdata}" "${base_url_orchestrator}/projects"
751 print_msg "creating vfw composite app entry"
752 call_api -d "${vfw_compositeapp_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps"
754 print_msg "adding vfw apps to the composite app"
755 call_api -F "metadata=${packetgen_app_data}" \
756 -F "file=@${packetgen_helm_chart}" \
757 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps"
758 call_api -F "metadata=${firewall_app_data}" \
759 -F "file=@${firewall_helm_chart}" \
760 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps"
761 call_api -F "metadata=${sink_app_data}" \
762 -F "file=@${sink_helm_chart}" \
763 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps"
765 print_msg "creating vfw composite profile entry"
766 call_api -d "${vfw_composite_profile_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles"
768 print_msg "adding vfw app profiles to the composite profile"
769 call_api -F "metadata=${packetgen_profile_data}" \
770 -F "file=@${packetgen_profile_file}" \
771 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles"
772 call_api -F "metadata=${firewall_profile_data}" \
773 -F "file=@${firewall_profile_file}" \
774 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles"
775 call_api -F "metadata=${sink_profile_data}" \
776 -F "file=@${sink_profile_file}" \
777 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles"
779 print_msg "create the deployment intent group"
780 call_api -d "${deployment_intent_group_data}" \
781 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups"
782 call_api -d "${deployment_intents_in_group_data}" \
783 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents"
785 print_msg "create the generic placement intent"
786 call_api -d "${generic_placement_intent_data}" \
787 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents"
789 print_msg "add the vfw app placement intents to the generic placement intent"
790 call_api -d "${packetgen_placement_intent_data}" \
791 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
792 call_api -d "${firewall_placement_intent_data}" \
793 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
794 call_api -d "${sink_placement_intent_data}" \
795 "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
801 function createNcmData {
802 print_msg "Creating cluster provider and cluster"
803 call_api -d "${clusterproviderdata}" "${base_url_clm}/cluster-providers"
804 call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata" -F "file=@$kubeconfigfile" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
805 call_api -d "${labeldata}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels"
806 call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata2" -F "file=@$kubeconfigfile2" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
807 call_api -d "${labeldata}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/labels"
809 print_msg "Creating provider network and network intents"
810 call_api -d "${emcoprovidernetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks"
811 call_api -d "${unprotectedprovidernetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks"
812 call_api -d "${protectednetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/networks"
814 call_api -d "${emcoprovidernetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks"
815 call_api -d "${unprotectedprovidernetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks"
816 call_api -d "${protectednetworkdata}" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/networks"
820 function createData {
822 createOrchData # this will call createOvnactionData
825 function getOvnactionData {
826 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}"
828 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}"
829 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}"
830 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}"
832 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces/${packetgen_emco_interface_name}"
833 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces/${packetgen_unprotected_interface_name}"
835 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_emco_interface_name}"
836 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_unprotected_interface_name}"
837 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_protected_interface_name}"
839 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces/${sink_emco_interface_name}"
840 call_api_nox "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces/${sink_protected_interface_name}"
843 function getOrchData {
844 call_api_nox "${base_url_orchestrator}/controllers/${rsynccontrollername}"
845 call_api_nox "${base_url_orchestrator}/controllers/${ovnactioncontrollername}"
848 call_api_nox "${base_url_orchestrator}/projects/${projectname}"
850 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}"
852 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${packetgen_app_name}"
853 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${firewall_app_name}"
854 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${sink_app_name}"
856 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}"
858 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${packetgen_profile_name}"
859 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${firewall_profile_name}"
860 call_api_nox -H "Accept: application/json" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${sink_profile_name}"
862 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}"
864 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${packetgen_placement_intent_name}"
865 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${firewall_placement_intent_name}"
866 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${sink_placement_intent_name}"
868 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}"
869 call_api_nox "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents/${deployment_intents_in_group_name}"
872 function getNcmData {
873 call_api_nox "${base_url_clm}/cluster-providers/${clusterprovidername}"
874 call_api_nox -H "Accept: application/json" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}"
875 call_api_nox -H "Accept: application/json" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}"
876 call_api_nox "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels/${labelname}"
877 call_api_nox "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters?label=${labelname}"
879 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks/${emcoprovidernetworkname}"
880 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks/${unprotectedprovidernetworkname}"
881 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/networks/${protectednetworkname}"
883 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks/${emcoprovidernetworkname}"
884 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks/${unprotectedprovidernetworkname}"
885 call_api_nox "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/networks/${protectednetworkname}"
894 function deleteOvnactionData {
895 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces/${sink_protected_interface_name}"
896 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}/interfaces/${sink_emco_interface_name}"
897 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_protected_interface_name}"
898 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_unprotected_interface_name}"
899 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}/interfaces/${firewall_emco_interface_name}"
900 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces/${packetgen_unprotected_interface_name}"
901 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}/interfaces/${packetgen_emco_interface_name}"
902 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${sink_workload_intent_name}"
903 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${firewall_workload_intent_name}"
904 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}/workload-intents/${packetgen_workload_intent_name}"
905 delete_resource "${base_url_ovnaction}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/network-controller-intent/${vfw_ovnaction_intent_name}"
908 function deleteOrchData {
909 delete_resource "${base_url_orchestrator}/controllers/${rsynccontrollername}"
910 delete_resource "${base_url_orchestrator}/controllers/${ovnactioncontrollername}"
913 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${sink_placement_intent_name}"
914 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${firewall_placement_intent_name}"
915 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${packetgen_placement_intent_name}"
916 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/generic-placement-intents/${generic_placement_intent_name}"
920 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents/${deployment_intents_in_group_name}"
921 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}"
923 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${sink_profile_name}"
924 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${firewall_profile_name}"
925 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}/profiles/${packetgen_profile_name}"
926 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/composite-profiles/${vfw_composite_profile_name}"
928 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${sink_app_name}"
929 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${firewall_app_name}"
930 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/apps/${packetgen_app_name}"
932 delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}"
933 delete_resource "${base_url_orchestrator}/projects/${projectname}"
936 function deleteNcmData {
937 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/networks/${protectednetworkname}"
938 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks/${unprotectedprovidernetworkname}"
939 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/provider-networks/${emcoprovidernetworkname}"
940 delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels/${labelname}"
941 delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}"
942 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/networks/${protectednetworkname}"
943 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks/${unprotectedprovidernetworkname}"
944 delete_resource "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/provider-networks/${emcoprovidernetworkname}"
945 delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/labels/${labelname}"
946 delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}"
947 delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}"
950 function deleteData {
955 # apply the network and providernetwork to an appcontext and instantiate with rsync
956 function applyNcmData {
957 call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/apply"
958 call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/apply"
961 # deletes the network resources from the clusters and the associated appcontext entries
962 function terminateNcmData {
963 call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/terminate"
964 call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/terminate"
967 # terminates the vfw resources
968 function terminateOrchData {
969 call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/terminate"
972 # terminates the vfw and ncm resources
973 function terminateVfw {
978 function instantiateVfw {
979 call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/approve"
980 call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/instantiate"
984 call_api "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/status${query}"
988 echo "Usage: $0 create|get|delete|apply|terminate|instantiate"
989 echo " create - creates all ncm, ovnaction, clm resources needed for vfw"
990 echo " following env variables need to be set for create:"
991 echo " kubeconfigfile=<path of kubeconfig file for destination cluster>"
992 echo " kubeconfigfile2=<path of kubeconfig file for second destination cluster>"
993 echo " packetgen_helm_path=<path to helm chart file for the packet generator>"
994 echo " firewall_helm_path=<path to helm chart file for the firewall>"
995 echo " sink_helm_path=<path to helm chart file for the sink>"
996 echo " packetgen_profile_targz=<path to profile tar.gz file for the packet generator>"
997 echo " firewall_profile_targz=<path to profile tar.gz file for the firewall>"
998 echo " sink_profile_targz=<path to profile tar.gz file for the sink>"
999 echo " get - queries all resources in ncm, ovnaction, clm resources created for vfw"
1000 echo " delete - deletes all resources in ncm, ovnaction, clm resources created for vfw"
1001 echo " apply - applys the network intents - e.g. networks created in ncm"
1002 echo " instantiate - approves and instantiates the composite app via the generic deployment intent"
1003 echo " status - get status of deployed resources"
1004 echo " terminate - remove the vFW composite app resources and network resources create by 'instantiate' and 'apply'"
1006 echo " a reasonable test sequence:"
1009 echo " 3. instantiate"
1011 echo " 5. terminate"
1016 function check_for_env_settings {
1018 if [ "${kubeconfigfile}" == "oops" ] ; then
1019 echo -e "ERROR - kubeconfigfile environment variable needs to be set"
1022 if [ "${kubeconfigfile2}" == "oops" ] ; then
1023 echo -e "ERROR - kubeconfigfile2 environment variable needs to be set"
1026 if [ "${packetgen_helm_chart}" == "oops" ] ; then
1027 echo -e "ERROR - packetgen_helm_path environment variable needs to be set"
1030 if [ "${firewall_helm_chart}" == "oops" ] ; then
1031 echo -e "ERROR - firewall_helm_path environment variable needs to be set"
1034 if [ "${sink_helm_chart}" == "oops" ] ; then
1035 echo -e "ERROR - sink_helm_path environment variable needs to be set"
1038 if [ "${packetgen_profile_file}" == "oops" ] ; then
1039 echo -e "ERROR - packetgen_profile_targz environment variable needs to be set"
1042 if [ "${firewall_profile_file}" == "oops" ] ; then
1043 echo -e "ERROR - firewall_profile_targz environment variable needs to be set"
1046 if [ "${sink_profile_file}" == "oops" ] ; then
1047 echo -e "ERROR - sink_profile_targz environment variable needs to be set"
1050 if [ "${ok}" == "no" ] ; then
1056 if [ "$#" -lt 1 ] ; then
1062 check_for_env_settings
1066 "delete" ) deleteData ;;
1067 "apply" ) applyNcmData ;;
1068 "instantiate" ) instantiateVfw ;;
1069 "terminate" ) terminateVfw ;;
1072 if [ "$#" -eq 2 ] ; then
1075 statusVfw ${query} ;;