Examples from OSM Hackfests
From OSM Public Wiki
Examples from the 4th OSM Hackfest
Hackfest material
Examples
Basic VNF and NS
- VNF package: hackfest_basic-vnf
- NS package: hackfest_basic-ns
- Image: ubuntu1604
- Reference material: Presentation: creating a basic VNF and NS
VNF diagram
VNF descriptor
NS diagram
NS descriptor
Testing with OSM client
- Onboard VNF packages
osm vnfd-create hackfest_basic_vnf.tar.gz osm vnfd-list osm vnfd-show hackfest_basic-vnf
- Onboard NS packages
osm nsd-create hackfest_basic_ns.tar.gz osm nsd-list osm nsd-show hackfest_basic-ns
- Instantiate
osm ns-create --ns_name hf_basic --nsd_name hackfest_basic-ns \ --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID> \ --ssh_keys <KEY1_PUBKEY_FILE> \ --config '{vld: [ {name: mgmtnet, vim-network-name: <VIM_MGMT_NAME>} ] }'
- Check NS status
osm ns-list osm ns-show hf_basic
- Check VNF instances to see the instance and get the mgmt IP address of the VNF
osm vnf-list osm vnf-show <VNF ID>
- Connect to the VNF
ssh -i <priv_key> ubuntu@<IP>
Testing with OSM UI
- Onboard VNF package
Go to VNF packages Drag and drop the VNF package to the ...
- Onboard NS package
Drag and drop the NS package to the ...
- Instantiate NS
Go to NS packages In hackfest_basic-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”: -Paste your public SSH key to get access to the VNF (VMs need to have cloud-init enabled, in this case the hackfest basic example has cloud-init)
- Connect to the VNF:
ssh -i <priv_key> ubuntu@<IP>
Multi-VDU VNF
- VNF package: hackfest_multivdu-vnf
- NS package: hackfest_multivdu-ns
- Image: ubuntu1604
- Reference material: Modeling multi-VDU VNF
VNF diagram
VNF descriptor
NS diagram
NS descriptor
Testing with OSM client
- Onboard VNF packages
osm vnfd-create hackfest_multivdu_vnf.tar.gz osm vnfd-list osm vnfd-show hackfest_multivdu-vnf
- Onboard NS packages
osm nsd-create hackfest_multivdu_ns.tar.gz osm nsd-list osm nsd-show hackfest_multivdu-ns
- Instantiate
osm ns-create --ns_name hf_multivdu --nsd_name hackfest_multivdu-ns \ --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID>
- Check NS status
osm ns-list osm ns-show hf_multivdu
- Check VNF instances to see the instance and get the mgmt IP address of the VNF
osm vnf-list osm vnf-show <VNF ID>
- Connect to the VNF
ssh osm@<IP> (pwd:osm4u)
Testing with OSM UI
- Onboard VNF package
Go to VNF packages Drag and drop the VNF package to the ...
- Onboard NS package
Drag and drop the NS package to the ...
- Instantiate NS
Go to NS packages In hackfest_multivdu-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”: -Click the info button to see the mgmt IP address
- Connect to each VNF:
ssh osm@<IP> (pwd:osm4u)
VNF with Day-0 configuration
- VNF package: hackfest_cloudinit-vnf
- NS package: hackfest_cloudinit-ns
- Image hackfest3-mgmt: hackfest3-mgmt
- Reference material: Adding day-0 configuration to VNFs
VNF diagram
VNF descriptor
NS diagram
NS descriptor
Testing with OSM client
- Onboard VNF packages
osm vnfd-create hackfest_cloudinit_vnfd.tar.gz osm vnfd-list osm vnfd-show hackfest_cloudinit-vnf
- Onboard NS packages
osm nsd-create hackfest_cloudinit_nsd.tar.gz osm nsd-list osm nsd-show hackfest_cloudinit-ns
- Instantiate
osm ns-create --ns_name hf_cloudinit --nsd_name hackfest_cloudinit-ns \ --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID>
- Check NS status
osm ns-list osm ns-show hf_cloudinit
- Check VNF instances to see the instance and get the mgmt IP address of the VNF
osm vnf-list osm vnf-show <VNF ID>
- Connect to the VNF
ssh osm@<IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that Cloud init worked: sudo ls /root/helloworld.txt sudo cat /root/helloworld.txt
Testing with OSM UI
- Onboard VNF package
Go to VNF packages Drag and drop the VNF package to the ...
- Onboard NS package
Drag and drop the NS package to the ...
- Instantiate NS
Go to NS packages In hackfest_cloudinit-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”: -Click the info button to see the mgmt IP address
- Connect to the VNF
ssh osm@<IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that Cloud init worked: sudo ls /root/helloworld.txt sudo cat /root/helloworld.txt
VNF with EPA requirements
- VNF package: hackfest_epasriov-vnf
- NS package: hackfest_epasriov-ns
- Image : hackfest-pktgen
- Reference material: Modeling EPA capabilities in your VNF descriptor
VNF diagram
VNF descriptor
NS diagram
NS descriptor
Testing with OSM client
- Onboard VNF packages
osm vnfd-create hackfest_epasriov_vnf.tar.gz osm vnfd-list osm vnfd-show hackfest_epasriov-vnf
- Onboard NS packages
osm nsd-create hackfest_epasriov_ns.tar.gz osm nsd-list osm nsd-show hackfest_epasriov-ns
- Instantiate
osm ns-create --ns_name hf_epasriov --nsd_name hackfest_epasriov-ns \ --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID>
- Check NS status
osm ns-list osm ns-show hf_epasriov
- Check VNF instances to see the instance and get the mgmt IP address of the VNF
osm vnf-list osm vnf-show <VNF ID>
- Connect to the VNF (Do the same in both VNFs)
ssh ubuntu@<MGMT_IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that EPA is working: ssh -i test4.pem ubuntu<IP_dataVM> Run pktgen
Testing with OSM UI
- Onboard VNF package
Go to VNF packages Drag and drop the VNF package to the ...
- Onboard NS package
Drag and drop the NS package to the ...
- Instantiate NS
Go to NS packages In hackfest_epasriov-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”: -Click the info button to see the mgmt IP address
- Connect to the VNF (Do the same in both VNFs)
ssh ubuntu@<MGMT_IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that EPA is working: ssh -i test4.pem ubuntu<IP_dataVM> Run pktgen
VNF with Day-1/Day-2 configuration (adding a charm)
- VNF package: hackfest_simplecharm_vnf
- NS package: hackfest_simplecharm_ns
- Image : hackfest3-mgmt
- Reference material::
VNF diagram
VNF descriptor
NS diagram
NS descriptor
Testing with OSM client
- Onboard VNF packages
osm vnfd-create hackfest3_simplecharm_vnf.tar.gz osm vnfd-list osm vnfd-show hackfest3charmed-vnf
- Onboard NS packages
osm nsd-create hackfest_simplecharm_ns.tar.gz osm nsd-list osm nsd-show hackfest3charmed-ns
- Instantiate
osm ns-create --ns_name hackfest3charmed --nsd_name hackfest3charmed-ns \ --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID>
- Check NS status
osm ns-list osm ns-show hackfest3charmed
- Check VNF instances to see the instance and get the mgmt IP address of the VNF
osm vnf-list osm vnf-show <VNF ID>
- Connect to the VNF (Do the same in both VNFs) and check the Charm
ssh ubuntu@<MGMT_IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that file /home/ubuntu/first-touch exists (this file is created by the charm): ls /home/ubuntu/first-touch
- Create the action for the Charm
osm ns-action hackfest3charmed --vnf_name 1 --action_name touch --params '{filename: /home/ubuntu/mytouch1}' (Returns an operation ID) osm ns-op-list hackfest3charmed osm ns-op-show OP_ID
- Check that the file were created from the actions
ssh ubuntu@<MGMT_IP> ls /home/ubuntu/mytouch1
Testing with OSM UI
- Onboard VNF package
Go to VNF packages Drag and drop the VNF package to the ...
- Onboard NS package
Drag and drop the NS package to the ...
- Instantiate NS
Go to NS packages In hackfest3-simplecharm-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”: -Click the info button to see the mgmt IP address
- Connect to the VNF (Do the same in both VNFs) and check the Charm
ssh ubuntu@<MGMT_IP> (pwd:osm4u) #The password to the default user was injected via cloud-init Check that file /home/ubuntu/first-touch exists (this file is created by the charm): ls /home/ubuntu/first-touch
- Create the action for the Charm
osm ns-action hackfest3charmed --vnf_name 1 --action_name touch --params '{filename: /home/ubuntu/mytouch1}' (Returns an operation ID) osm ns-op-list hackfest3charmed osm ns-op-show OP_ID
- Check that the file were created from the actions
ssh ubuntu@<MGMT_IP> ls /home/ubuntu/mytouch1