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