Version 34 (modified by 5 years ago) ( diff ) | ,
---|
Open Source MANO (OSM)
A full deployment consists of 3 components:
- OSM as the NFV Orchestrator
- OpenVIM or Openstack as the virtual infrastructure manager (VIM)
- some number of compute nodes, where the VIM will run VMs under OSM's instruction
We will use the following components:
- OSM on ubuntu 18.04
- Devstack on ubuntu 18.04, in a single node configuration (this can easily be extended following devstack guides)
OSM Node
This tutorial implements the getting started from: https://osm.etsi.org/wikipub/index.php/OSM_Release_SIX
and adds support for ORBIT hardware.
The previous tutorial targeted Ubuntu 14.04 and 16.04, this is updated for Ubuntu 18.04.
Pre-set-up:
- Create a reservation
- Log into the console
- Load image:
omf load -t srv1-lg1.sb1.cosmos-lab.org -i opensourcemano_1804.ndz -r 60
- Turn the node on:
omf tell -a on -t srv1-lg1.sb1.cosmos-lab.org
ssh Credentials: native / native
Web Credentials admin / admin
From Scratch
Dependencies:
- 40Gb disk space
- user:
- non-root user,
- with non-empty password
- member of sudo, docker, lxd groups
- Packages:
- net-tools
- ipv6 disabled
- Prepare the node
- Load the image:
omf load -t srv2-lg1.sb1.cosmos-lab.org -i baseline_1804.ndz -r 60
- Turn the node on:
omf tell -a on -t srv3-lg1.sb1.cosmos-lab.org
- Log in as root:
ssh native@srv3-lg1.sb1.cosmos-lab.org
- set up non-root user
echo native:native | chpasswd
- Add user to groups:
sudo groupadd lxd && sudo groupadd docker && sudo usermod -a -G lxd,docker native
- logout:
exit
- Log in as the user "native":
ssh native@srv3-lg1.sb1.cosmos-lab.org
- Load the image:
- Set up OSM
- Install "net-tools"
sudo apt install net-tools
- Download script:
wget https://osm-download.etsi.org/ftp/osm-6.0-six/install_osm.sh
- Make it executable:
chmod +x install_osm.sh
- Run it:
./install_osm.sh 2>&1 | tee osm_install_log.txt
- enter "y"
- if it crashes, run
lxd init
- if it crashes, run
- choose all defaults, except
none
for ipv6 - if failed, rerun install_osm.sh
- Install "net-tools"
- Connect browser
- Via ssh tunnel
- via VPN TODO
- navigate browser to node control ip, enter admin/admin as credentials
Run these commands to clean up the old configuration:
docker stack rm osm && sleep 60 # The sleep is for making sure the stack removal finishes before redeploying docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm
Save image
VIM Node
OSM must have a Virtual Infrastructure Manager (VIM) to control. We will use openstack on single node devstack for this tutorial, following: https://docs.openstack.org/devstack/latest/guides/single-machine.html
Pre-Set up:
omf load -t srv2-lg1.sb1.cosmos-lab.org -i devstack_1804.ndz -r 60
omf tell -a on -t srv2-lg1.sb1.cosmos-lab.org
ssh root@srv2-lg1.sb1.cosmos-lab.org
su stack
cd ~/devstack
./stack.sh
Commands will run for a while (minutes). If successful, it will output the credentials and address to login via the webui, and will look like the following:
========================= DevStack Component Timing (times are in seconds) ========================= run_process 25 test_with_retry 2 apt-get-update 2 osc 140 wait_for_service 11 dbsync 24 pip_install 100 apt-get 15 ------------------------- Unaccounted time 336 ========================= Total runtime 655 This is your host IP address: 10.10.21.21 This is your host IPv6 address: ::1 Horizon is now available at http://10.10.21.21/dashboard Keystone is serving at http://10.10.21.21/identity/ The default users are: admin and demo The password: nomoresecret
From Scratch
Follow https://docs.openstack.org/devstack/latest/guides/single-machine.html
https://docs.openstack.org/devstack/latest/networking.html
If you don’t specify any configuration you will get the following:
neutron (including l3 with openvswitch)
private project networks for each openstack project
a floating ip range of 172.24.4.0/24 with the gateway of 172.24.4.1
the demo project configured with fixed ips on a subnet allocated from the 10.0.0.0/22 range
a br-ex interface controlled by neutron for all its networking (this is not connected to any physical interfaces).
DNS resolution for guests based on the resolv.conf for your host
an ip masq rule that allows created guests to route out
PUBLIC_INTERFACE=eth1 (this connects to the br-ex bridge)
https://docs.openstack.org/devstack/latest/_sources/guides/neutron.rst.txt
- Change IP without running stack.sh:
- Run unstack.sh
- In keystone database "update endpoint set url = REPLACE(url, '[old IP address]', '[new IP address]')";
- Update all Ips in /etc folder "grep -rl '[old IP address]' /etc | xargs sed -i 's/[old IP address]/[new IP address]/g'"
- Update all Ips in /opt/stack folder "grep -rl '[old IP address]' /opt/stack | xargs sed -i 's/[old IP address]/[new IP address]/g'"
- Restart apache2 server
- Run rejoin-stack.sh
- Restart Keystone "keystone-all"
Connecting OSM to the VIM
- URL
http://openstackip/identity/v3
- User
admin
- password
nomoresecret
- tenant
admin
- name
openstack-site
Creating a VNF
- upload vnf description
- upload nf descrtiption
- instantiate nf
- use openstack ui to load console and ping
Attachments (3)
-
cirros_vnf.tar.gz
(5.1 KB
) - added by 5 years ago.
cirros_vnf
-
cirros_2vnf_ns.tar.gz
(18.4 KB
) - added by 5 years ago.
cirros_2vnf_ns
-
cirros-0.3.4-x86_64-disk.img
(12.7 MB
) - added by 5 years ago.
cirros034