VCPU=2
MEMORY=4096
STORAGE=10
-CLOUD_INIT='#cloud-config '
INTERFACES=1
function usage() {
--vendor : Vendor name for descriptor. Default OSM
- --interface-type : Interface type [VIRTIO|SR-IOV|PCI-PASSTHROUGH|E1000|OM-MGMT]
+ --interface-type : Interface type [VIRTIO|SR-IOV|PCI-PASSTHROUGH|E1000]
Default VIRTIO
VM Flavour options:
--cloud-init : Cloud init script. Will be ignored if
cloud-init-file is specified
- --interfaces : Number of external interfaces. Default 1.
+ --interfaces : Number of external interfaces in additon to OM-MGMT. Default 1.
End of create descriptor specific options
# Cloud init file
cloud-init-file: '${cif}'
EOF
- else
+ elif [[ -n ${CLOUD_INIT} ]]; then
cat >>$desc_file <<EOF
# Cloud init to use
cloud-init: '${CLOUD_INIT}'
# There can be multiple interfaces defined
EOF
+ # Add mgmt interface
+ cat >>$desc_file <<EOF
+ - name: eth0
+ virtual-interface:
+ type: OM-MGMT
+ bandwidth: '0'
+ vpci: 0000:00:0a.0
+ vnfd-connection-point-ref: eth0
+EOF
+
# Add external interfaces
for i in `seq 1 ${INTERFACES}`; do
- eth=$(($i - 1))
+ eth=$(($i))
pci=$(get_pci $eth)
cat >>$desc_file <<EOF
- name: eth${eth}
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}
# Networks for the VNFs
EOF
+ # Add management VLD
+ cat >>$desc_file <<EOF
+ - id: ${name}_vld0
+ name: management
+ short-name: management
+ type: ELAN
+ # vim-network-name: <update>
+ # provider-network:
+ # overlay-type: VLAN
+ # segmentation_id: <update>
+ vnfd-connection-point-ref:
+ # Specify the constituent VNFs
+ # member-vnf-index-ref - entry from constituent vnf
+ # vnfd-id-ref - VNFD id
+ # vnfd-connection-point-ref - connection point name in the VNFD
+ - nsd:member-vnf-index-ref: 1
+ nsd:vnfd-id-ref: ${vnfd}
+ # NOTE: Validate the entry below
+ nsd:vnfd-connection-point-ref: eth0
+EOF
+
+ # Add rest of VLDs
for i in `seq 1 ${INTERFACES}`; do
- eth=$(($i - 1))
+ eth=$(($i))
cat >>$desc_file <<EOF
- id: ${name}_vld${i}
name: ${name}_vld${i}
+ short-name: ${name}_vld${i}
type: ELAN
- provider-network:
- overlay-type: VLAN
- physical-network: <update>
- segmentation_id: <update>
+ # vim-network-name: <update>
+ # provider-network:
+ # overlay-type: VLAN
+ # segmentation_id: <update>
vnfd-connection-point-ref:
# Specify the constituent VNFs
# member-vnf-index-ref - entry from constituent vnf
# vnfd-connection-point-ref - connection point name in the VNFD
- nsd:member-vnf-index-ref: 1
nsd:vnfd-id-ref: ${vnfd}
- # Validate the entry below
+ # NOTE: Validate the entry below
nsd:vnfd-connection-point-ref: eth${eth}
EOF
done
exit 1
fi
-cd $BASE_DIR
-if [ $? -ne 0 ]; then
+if [[ ! -d $BASE_DIR ]]; then
if [ $CREATE == true ]; then
mkdir -p $BASE_DIR
if [ $? -ne 0 ]; then
echo "ERROR: Unable to create base directory $BASE_DIR" >&2
exit 1
fi
- cd $BASE_DIR
- else
- echo "ERROR: Unable to change to base directory $BASE_DIR!" >&2
- exit 1
fi
fi
+cd $BASE_DIR
+if [ $? -ne 0 ]; then
+ echo "ERROR: Unable to change to base directory $BASE_DIR!" >&2
+ exit 1
+fi
# Get full base dir path
BASE_DIR=`pwd`