{
- "flavourId": "simple",
+ "flavourId": "helmchart",
"additionalParams": {
- "lcm-kubernetes-def-files": [
- "Files/kubernetes/deployment.yaml"
+ "namespace": "default",
+ "use_helm": "true",
+ "using_helm_install_param": [
+ {
+ "exthelmchart": "false",
+ "helmchartfile_path": "Files/kubernetes/localhelm-0.1.0.tgz",
+ "helmreleasename": "tacker-test-vdu"
+ }
],
- "namespace": "default"
+ "helm_replica_values": {
+ "vdu1_aspect": "replicaCount"
+ },
+ "vdu_mapping": {
+ "VDU1": {
+ "kind": "Deployment",
+ "name": "vdu1-localhelm",
+ "helmreleasename": "tacker-test-vdu"
+ }
+ }
},
"vimConnectionInfo": [
{
- "id": "8a3adb69-0784-43c7-833e-aab0b6ab4470",
- "vimId": "08260b52-c3f6-47a9-bb1f-cec1f0d3956a",
+ "id": "742f1fc7-7f00-417d-85a6-d4e788353181",
+ "vimId": "d7a811a3-e3fb-41a1-a4e2-4dce2209bcfe",
"vimType": "kubernetes"
}
]
#!/bin/sh
variableFile=$1
+if [ ! $1 ]; then
+ echo "Input parameter is missing"
+ exit 1
+fi
+
#curl command for token generation
curl -X POST -H 'Content-Type:application/json' --data '{"auth": {"scope":
- {"project": {"domain": {"id": "default"}, "name": "nfv"}}, "identity":
- {"password": {"user": {"domain": {"id": "default"}, "password":
- "devstack", "name": "nfv_user"}}, "methods": ["password"]}}}' \
- -i http://localhost/identity/v3/auth/tokens > outtoken 2>&1
+ {"project": {"domain": {"id": "default"}, "name": "nfv"}}, "identity":
+ {"password": {"user": {"domain": {"id": "default"}, "password":
+ "devstack", "name": "nfv_user"}}, "methods": ["password"]}}}' \
+ -i http://localhost/identity/v3/auth/tokens > outtoken 2>&1
dos2unix outtoken 2>/dev/null
token=$(cat ./outtoken | grep "X-Subject-Token" | cut -d ' ' -f 2)
+rm -rf outtoken
+if [ ! $token ]; then
+ echo "Token extract is failed, please check nfv_user exist or not with admin role"
+ exit 1
+fi
#curl command for vnf package create
-curl -g -i -X POST http://localhost:9890/vnfpkgm/v1/vnf_packages \
- -H "Accept: application/json" -H "Content-Type: application/json" \
- -H "X-Auth-Token: $token" -d '{}' > outtoken 2>&1
-dos2unix outtoken 2>/dev/null
-
-Packageid=$(cat ./outtoken | grep id | cut -d ' ' -f 2 |sed 's/.$//'|tail -c +2 | head -c -2)
+Packageid=$(curl -g -X POST http://localhost:9890/vnfpkgm/v1/vnf_packages \
+ -H "Accept: application/json" -H "Content-Type: application/json" \
+ -H "X-Auth-Token: $token" -d '{}' | jq -r .id 2>/dev/null)
echo "$Packageid created"
#curl command for vnf package upload
curl -g -i -X PUT http://localhost:9890/vnfpkgm/v1/vnf_packages/$Packageid/package_content \
- -H "Accept: application/zip" -H "Content-Type: application/zip" \
- -H "User-Agent: python-tackerclient" -H "X-Auth-Token: $token" --data-binary "@vnfpackage.zip"
-
-echo "$Packageid uploaded"
-
-sleep 1
-curl -g -i -X GET http://localhost:9890/vnfpkgm/v1/vnf_packages/$Packageid \
- -H "Accept: application/json" -H "User-Agent: python-tackerclient" \
- -H "X-Auth-Token: $token" > outtoken 2>&1
-dos2unix outtoken 2>/dev/null
-
-vnfdid=$(cat ./outtoken | grep vnfdId | cut -d ' ' -f 15 |sed 's/.$//'|tail -c +2 | head -c -2)
-
-rm -rf outtoken
-sed -i '/${vnfPkgId}/d' $variableFile
-sed -i '/${vnfdId}/d' $variableFile
-
-echo "\${vnfPkgId} $Packageid" >> $variableFile # $variableFile environment file path where package ID will be added
-echo "\${vnfdId} $vnfdid" >> $variableFile
+ -H "Accept: application/zip" -H "Content-Type: application/zip" \
+ -H "User-Agent: python-tackerclient" -H "X-Auth-Token: $token" --data-binary "@package_with_helm.zip"
+
+echo "Please wait for 1 minute. Package is onboarding..."
+sleep 1m
+
+onboardedState=null
+onboardedState=$(curl -g -X GET http://localhost:9890/vnfpkgm/v1/vnf_packages/$Packageid \
+ -H "Accept: application/json" -H "User-Agent: python-tackerclient" \
+ -H "X-Auth-Token: $token" | jq -r .onboardingState)
+echo "Onboarding state is $onboardedState"
+
+if [ "$onboardedState" = "ONBOARDED" ]; then
+ echo "$Packageid uploaded successfully"
+ vnfdid=$(curl -g -X GET http://localhost:9890/vnfpkgm/v1/vnf_packages/$Packageid \
+ -H "Accept: application/json" -H "User-Agent: python-tackerclient" \
+ -H "X-Auth-Token: $token" | jq -r .vnfdId)
+
+ sed -i '/${vnfPkgId}/d' $variableFile
+ sed -i '/${vnfdId}/d' $variableFile
+
+ echo "\${vnfPkgId} $Packageid" >> $variableFile # $variableFile environment file path where package ID will be added
+ echo "\${vnfdId} $vnfdid" >> $variableFile
+ exit 0
+
+else
+ echo "$Packageid upload Failed, please check tacker logs"
+ exit 1
+fi