Merged v1.1 to master
[osm/devops.git] / src / generate_descriptor_pkg.sh
index e19085d..a09fb6a 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
@@ -215,22 +229,22 @@ EOF
     cat >>$desc_file <<EOF
             -   name: eth0
                 virtual-interface:
-                    type: OM-MGMT
+                    type: VIRTIO
                     bandwidth: '0'
-                    vpci: 0000:00:0a.0
+                    vpci: '0000:00:0a.0'
                 vnfd-connection-point-ref: eth0
 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}
                 virtual-interface:
                     type: ${INTF_TYPE}
                     bandwidth: '0'
-                    vpci: 0000:00:${pci}.0
+                    vpci: '0000:00:${pci}.0'
                 vnfd-connection-point-ref: eth${eth}
 EOF
     done
@@ -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,10 +334,11 @@ EOF
 
     # Add management VLD
     cat >>$desc_file <<EOF
-            -   id: ${name}_vld${i}
+            -   id: ${name}_vld0
                 name: management
                 short-name: management
                 type: ELAN
+                mgmt-network: 'true'
                 # vim-network-name: <update>
                 # provider-network:
                 #     overlay-type: VLAN
@@ -309,8 +355,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 +521,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