VCPU=2
MEMORY=4096
STORAGE=10
-INTERFACES=2
+INTERFACES=1
function usage() {
cat <<EOF
--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
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"
# 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
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
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
# 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
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}
write_nsd_tmpl $dir $vnfd
fi
+ write_readme $dir
+
if [ $ARCHIVE == true ]; then
# Create archive of the package
cd $dest_dir