Bug 84 - Create ping pong descriptor package
[osm/devops.git] / src / generate_descriptor_pkg.sh
index e19085d..20e1620 100755 (executable)
@@ -65,7 +65,7 @@ INTF_TYPE='VIRTIO'
 VCPU=2
 MEMORY=4096
 STORAGE=10
-INTERFACES=2
+INTERFACES=1
 
 function usage() {
     cat <<EOF
@@ -118,7 +118,7 @@ Usage:
             --cloud-init : Cloud init script. Will be ignored if
                            cloud-init-file is specified
 
-            --interfaces : Number of external interfaces. Default 2.
+            --interfaces : Number of external interfaces in additon to OM-MGMT. Default 1.
 
         End of create descriptor specific options
 
@@ -151,6 +151,18 @@ get_pci() {
    printf '%02x' $((10 + $1)) | tr '[:upper:]' '[:lower:]'
 }
 
+function write_readme() {
+    dir=$1
+    file=${dir}/README
+    date=$(date)
+
+    cat >$file <<EOF
+Descriptor created by OSM descriptor package generated
+Created on $date
+EOF
+
+}
+
 function write_vnfd_tmpl() {
     name=$(basename $1)
     desc_file="${name}.yaml"
@@ -174,6 +186,8 @@ vnfd:vnfd-catalog:
 
         # Atleast one VDU need to be specified
         vdu:
+        # Additional VDUs can be created by copying the
+        # VDU descriptor below
         -   id: ${name}-VM
             name: ${name}-VM
             description: ${name}-VM
@@ -222,8 +236,8 @@ EOF
 EOF
 
     # Add external interfaces
-    for i in `seq 2 ${INTERFACES}`; do
-        eth=$(($i - 1))
+    for i in `seq 1 ${INTERFACES}`; do
+        eth=$(($i))
         pci=$(get_pci $eth)
         cat >>$desc_file <<EOF
             -   name: eth${eth}
@@ -241,14 +255,45 @@ EOF
         connection-point:
 EOF
 
-    for i in `seq 1 ${INTERFACES}`; do
-        eth=$(($i - 1))
+    for i in `seq 0 ${INTERFACES}`; do
+        eth=$(($i))
         cat >>$desc_file <<EOF
             -   name: eth${eth}
                 type: ${CP_TYPE}
 EOF
     done
 
+    cat >>$desc_file <<EOF
+
+        # Uncomment and update below to enable juju
+        # charm configuration for the VNF
+        # vnf-configuration:
+        #     juju:
+        #         charm: <charm name>
+        #     service-primitive:
+        #     -   name: config
+        #         parameter:
+        #         -   name: <config parameter>
+        #             data-type: [STRING|INTEGER]
+        #             mandatory: [true|false]
+        #             default-value: <value>
+        #     -   name: <action name>
+        #         parameter:
+        #         -   name: <action parameter>
+        #             data-type: [STRING|INTEGER]
+        #             mandatory: [true|false]
+        #             default-value: <value>
+        #     initial-config-primitive:
+        #     -   name: config
+        #         parameter:
+        #         -   name: <config name>
+        #             value: <value>
+        #     -   name: <action name>
+        #         parameter:
+        #         -   name: <action parameter>
+        #             value: <value>
+EOF
+
     if [ $VERBOSE == true ]; then
         echo "INFO: Created $desc_file"
     fi
@@ -289,7 +334,7 @@ EOF
 
     # Add management VLD
     cat >>$desc_file <<EOF
-            -   id: ${name}_vld${i}
+            -   id: ${name}_vld0
                 name: management
                 short-name: management
                 type: ELAN
@@ -309,8 +354,8 @@ EOF
 EOF
 
     # Add rest of VLDs
-    for i in `seq 2 ${INTERFACES}`; do
-        eth=$(($i - 1))
+    for i in `seq 1 ${INTERFACES}`; do
+        eth=$(($i))
         cat >>$desc_file <<EOF
             -   id: ${name}_vld${i}
                 name: ${name}_vld${i}
@@ -475,6 +520,8 @@ function generate_package(){
         write_nsd_tmpl $dir $vnfd
     fi
 
+    write_readme $dir
+
     if [ $ARCHIVE == true ]; then
         # Create archive of the package
         cd $dest_dir