Examples from OSM Hackfests
From OSM Public Wiki
Examples from the 3rd OSM Hackfest
Work material
Examples
Basic VNF and NS
- VNF package: hackfest1-vnf
- NS package: hackfest1-ns
- Creating VNF with the client
•Generate skeleton folder (VNF with only 1 VDU):
/usr/share/osm-devops/descriptor-packages/tools/generate_descriptor_pkg.sh-t vnfd --image ubuntu1604 -c hackfest1
•Go to hackfest1_vnfd folder and edit the descriptor:
Use the IM tree representation of VNFD as a reference (http://osm-download.etsi.org/ftp/osm-doc/vnfd.html)
- Editing the VNF descriptor
- Validate the VNF descriptor and generate VNF package
•Validate VNF descriptor
/usr/share/osm-devops/descriptor-packages/tools/validate_descriptor.py <DESCRIPTOR_FILE>
•Generate VNF package(from parent folder)
/usr/share/osm-devops/descriptor-packages/tools/generate_descriptor_pkg.sh -t vnfd -N <VNFD_FOLDER>
- Creating the NS with the client
•Generate skeleton folder (NS with only 1 VNF)
/usr/share/osm-devops/descriptor-packages/tools/generate_descriptor_pkg.sh -t nsd -c hackfest1
•Go to hackfest1_nsd folder and edit the descriptor:
Use the IM tree representation of VNFD as a reference (http://osm-download.etsi.org/ftp/osm-doc/nsd.html)
- Editing the NS descriptor
- Validate the NS descriptor and generate NS package
•Validate NS descriptor
/usr/share/osm-devops/descriptor-packages/tools/validate_descriptor.py <DESCRIPTOR_FILE>
•Generate NS package (from parent folder)
/usr/share/osm-devops/descripto-rpackages/tools/generate_descriptor_pkg.sh -t nsd -N <NSD_FOLDER>
- Adding VNF and NS packages
•VNF package:
•osm vnfd-list
•osm vnfd-create hackfest1_vnfd.tar.gz
•osm vnfd-show hackfest1-vnf
•osm vnfd-delete ...
•NS package
•osm nsd-list
•osm nsd-create hackfest1_nsd.tar.gz
•osm nsd-show hackfest1-ns
•osm vnfd-delete ...
•Generating an SSH key pair to access to VNFs later
•ssh-keygen
- Deploying NS with the client or UI
•Client
•osm ns-list
•osm ns-create --ns_name hf1 --nsd_name hackfest1-ns \
--vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID> \
--ssh_keys <KEY1_PUBKEY_FILE> \
--config '{vld: [ {name: mgmtnet, vim-network-name: <VIM_MGMT_NAME>} ] }'
•osm ns-show hf1
•osm ns-delete ...
•Check VNF instances to see the instance and get the mgmt IP address of the VNF
•osm vnf-list
•osm vnf-show ...
•Connect to the VNF
•ssh -i <priv_key> ubuntu@<IP>
•UI
•Go to NS packages
•In hackfest1-ns, click in “Actions: Instantiate NS”
• Complete the form
• Add a name to the NS instance
• Select the Datacenter where the NS will be deployed
• Specify in the config section a default VIM network name to map “mgmtnet”:
• {vld: [ {name: mgmtnet, vim-network-name: <VIM_MGMT_NAME>} ] }
• mgmt (openstack1)
• external (openstack3)
• public (openstack4)
• Paste your SSH key
•Go to VNF instances to see the instance and get the mgmt IP address of the VNF
•Connect to the VNF:
•ssh -i <priv_key> ubuntu@<IP>
- Reference material: Creating a basic VNF and NS
Multi-VDU VNF
- VNF and NS packages: hackfest2-vnf, hackfest2-ns
- Reference material: Modeling multi-VDU VNF
VNF with Day-0 configuration
- VNF and NS packages: hackfest3-vnf, hackfest3-ns
- Reference material: Adding day-0 configuration to your VNF
VNF with EPA requirements
- VNF and NS packages: hackfest4-vnf, hackfest4-ns
- Reference material: Modeling EPA capabilities in your VNF descriptor