Demo directory structure:
-/templates/ #Base directory containing vFW resources
- |- /base #Directory containing base payload of CSAR package, doesn't need further proceeding
- |- /helm #Directory containing helm charts that need to be packaged and attached to csar package
- \- /cba #Directory containing CBA content to be included to csar package
-/examples/ #Directory with context-specific overrides over general resources
+/templates/ #Base directory containing vFW resources
+ |- /base_dummy #Directory containing base payload of VSP package in OpenStack VSP format, doesn't need further proceeding
+ |- /base_native #Directory containing base payload of VSP package in Helm VSP, doesn't need further proceeding
+ |- /helm #Directory containing helm charts that need to be packaged and attached to VSP package
+ \- /cba #Directory containing CBA content to be included to csar package. It is prepared for
+/examples/ #Directory with context-specific overrides over general resources
+
+Note: Scripts generate two VSP packages, one in Frankfurt format with helm associated with dummy heat templates and second
+with native Helm VSP format where helm packages are standalone. CBA folder contains CBA Definition for native VSP format but
+make is coverting the definition into Frankfurt format for Frankfurt VSP. Frankfurt VSP is still supported in Guilin.
.PHONY: all clean helm base cba clean_all
-ONBOARDING_PACKAGE_NAME ?= vfw_k8s_demo
+DUMMY_ONBOARDING_PACKAGE_NAME ?= vfw_k8s_demo
+NATIVE_ONBOARDING_PACKAGE_NAME ?= native_vfw_k8s_demo
CBA_NAME ?= CBA
clean_all:
#Can't use .csar extension or SDC will panic
all: package/ helm base cba
- cd package/ && zip -r $(ONBOARDING_PACKAGE_NAME).zip .
- mv package/$(ONBOARDING_PACKAGE_NAME).zip .
+ cd package_dummy/ && zip -r $(DUMMY_ONBOARDING_PACKAGE_NAME).zip .
+ cd package_native/ && zip -r $(NATIVE_ONBOARDING_PACKAGE_NAME).zip .
+ mv package_dummy/$(DUMMY_ONBOARDING_PACKAGE_NAME).zip .
+ mv package_native/$(NATIVE_ONBOARDING_PACKAGE_NAME).zip .
helm: package/
make -C helm
- mv helm/*.tgz package/
+ mv helm/helm_*.tgz package_native/
+ mv helm/*.tgz package_dummy/
base: package/
- cp base/* package/
+ cp base_dummy/* package_dummy/
+ cp base_native/* package_native/
cba: package/
+ cp -r cba cba_dummy
+ sed -i 's/"helm_/"/g' cba_dummy/Definitions/vFW_CNF_CDS.json
+ cd cba_dummy/ && zip -r $(CBA_NAME).zip . -x pom.xml .idea/\* target/\*
cd cba/ && zip -r $(CBA_NAME).zip . -x pom.xml .idea/\* target/\*
- mv cba/$(CBA_NAME).zip package/
+ mv cba/$(CBA_NAME).zip package_native/
+ mv cba_dummy/$(CBA_NAME).zip package_dummy/
package/:
- mkdir package/
+ mkdir package_dummy/
+ mkdir package_native/
clean:
- rm -rf package/
- rm -f $(ONBOARDING_PACKAGE_NAME).zip
+ rm -rf package_dummy/
+ rm -rf package_native/
+ rm -rf cba_dummy
+ rm -f $(DUMMY_ONBOARDING_PACKAGE_NAME).zip
+ rm -f $(NATIVE_ONBOARDING_PACKAGE_NAME).zip
--- /dev/null
+{
+ "name": "virtualFirewall",
+ "description": "",
+ "data": [
+ {
+ "file": "CBA.zip",
+ "type": "CONTROLLER_BLUEPRINT_ARCHIVE"
+ },
+ {
+ "file": "helm_base_template.tgz",
+ "type": "HELM",
+ "isBase": "true"
+ },
+ {
+ "file": "helm_vfw.tgz",
+ "type": "HELM",
+ "isBase": "false"
+ },
+ {
+ "file": "helm_vpkg.tgz",
+ "type": "HELM",
+ "isBase": "false"
+ },
+ {
+ "file": "helm_vsn.tgz",
+ "type": "HELM",
+ "isBase": "false"
+ }
+ ]
+}
}
},
"artifacts": {
- "base_template-template": {
+ "helm_base_template-template": {
"type": "artifact-template-velocity",
"file": "Templates/base_template-template.vtl"
},
- "base_template-mapping": {
+ "helm_base_template-mapping": {
"type": "artifact-mapping-resource",
"file": "Templates/base_template-mapping.json"
},
- "vpkg-template": {
+ "helm_vpkg-template": {
"type": "artifact-template-velocity",
"file": "Templates/vpkg-template.vtl"
},
- "vpkg-mapping": {
+ "helm_vpkg-mapping": {
"type": "artifact-mapping-resource",
"file": "Templates/vpkg-mapping.json"
},
- "vfw-template": {
+ "helm_vfw-template": {
"type": "artifact-template-velocity",
"file": "Templates/vfw-template.vtl"
},
- "vfw-mapping": {
+ "helm_vfw-mapping": {
"type": "artifact-mapping-resource",
"file": "Templates/vfw-mapping.json"
},
"type": "artifact-mapping-resource",
"file": "Templates/vnf-mapping.json"
},
- "vsn-template": {
+ "helm_vsn-template": {
"type": "artifact-template-velocity",
"file": "Templates/vsn-template.vtl"
},
- "vsn-mapping": {
+ "helm_vsn-mapping": {
"type": "artifact-mapping-resource",
"file": "Templates/vsn-mapping.json"
}
clean: $(vf-modules:=-clean)
$(vf-modules:=-package): %-package: %-build
- mv $(@:package=)*.tgz $(@:-package=)_cloudtech_k8s_charts.tgz
+ mv $(@:package=)*.tgz helm_$(@:-package=).tgz
+ cp helm_$(@:-package=).tgz $(@:-package=)_cloudtech_k8s_charts.tgz
$(vf-modules:=-build): %-build: %-clean
helm package $(@:-build=)
$(vf-modules:=-clean):
rm -f $(@:-clean=)-*.tgz
+ rm -f helm_$(@:-clean=).tgz
rm -f $(@:-clean=)_cloudtech_k8s_charts.tgz