How to run OSM on Vagrant: Difference between revisions
From OSM Public Wiki
Marchettim (talk | contribs) No edit summary |
Ramonsalguer (talk | contribs) No edit summary |
||
(16 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
'''THIS PAGE IS DEPRECATED'''. OSM User Guide has been moved to a new location: '''https://osm.etsi.org/docs/user-guide/''' | |||
--- | |||
__TOC__ | __TOC__ | ||
Line 11: | Line 15: | ||
2) Create the initial Vagrantfile in a predefined directory of your choice: | 2) Create the initial Vagrantfile in a predefined directory of your choice: | ||
vagrant init osm/ | vagrant init osm/releasesix | ||
* Note: to ensure the latest version is downloaded, destroy any previous existing OSM boxes (vagrant box list / vagrant box remove) | |||
3) Edit the generated Vagrantfile if you need to customize, for example, opened ports and assigned memory: | 3) Edit the generated Vagrantfile if you need to customize, for example, opened ports and assigned memory: | ||
Line 21: | Line 27: | ||
vagrant up | vagrant up | ||
* Note: warnings related to "Vagrant unable to mount VirtualBox shared folders" can be safely ignored. | |||
5) ssh to OSM: | 5) ssh to OSM: | ||
vagrant ssh | vagrant ssh | ||
You are ready to use OSM ! | You are ready to use OSM ! | ||
=== Additional notes === | === Additional notes === | ||
* If at any time you need to change something from the Vagrantfile, you can apply the changes by reloading the VM: | * If at any time you need to change something from the Vagrantfile, you can apply the changes by reloading the VM: | ||
vagrant reload | vagrant reload | ||
Line 40: | Line 42: | ||
* If you need to copy a file to your vagrant machine, just run 'vagrant ssh-config' and copy the private key path, then: | * If you need to copy a file to your vagrant machine, just run 'vagrant ssh-config' and copy the private key path, then: | ||
scp -P 2222 -i /path/to/private_key someFileName.txt vagrant@127.0.0.1: | scp -P 2222 -i /path/to/private_key someFileName.txt vagrant@127.0.0.1: | ||
* To use a manually downloaded image, add the box to Vagrant and create a matching Vagrantfile: | * To use a manually downloaded image, add the box to Vagrant and create a matching Vagrantfile: | ||
vagrant box add osm/ | vagrant box add osm/releasesix /path/to/vagrant.box | ||
vagrant init osm/ | vagrant init osm/releasesix | ||
* If at any point you need to add the optional components (elk_stack, pm_stack...) you can do so by downloading the installer from inside your VM and executing it with the -o option, for example: | * If at any point you need to add the optional components (elk_stack, pm_stack...) you can do so by downloading the installer from inside your VM and executing it with the -o option, for example: | ||
wget https://osm-download.etsi.org/ftp/osm- | wget https://osm-download.etsi.org/ftp/osm-6.0-six/install_osm.sh | ||
chmod +x install_osm.sh | chmod +x install_osm.sh | ||
./install_osm.sh -o pm_stack | ./install_osm.sh -o pm_stack | ||
Line 58: | Line 57: | ||
=== Vagrant + VIM Emulator Quickstart === | === Vagrant + VIM Emulator Quickstart === | ||
vagrant init osm/ | vagrant init osm/releasesix | ||
vagrant up | vagrant up | ||
vagrant ssh | vagrant ssh | ||
Line 64: | Line 63: | ||
# startup VIM-EMU | # startup VIM-EMU | ||
# new version of installer will have the vim-emu start by default | # new version of installer will have the vim-emu start by default | ||
sudo docker run --name vim-emu -t -d --restart always --privileged --pid='host' --network=netOSM -v | sudo docker run --name vim-emu -t -d --restart always --privileged --pid='host' --network=netOSM -v /var/run/docker.sock:/var/run/docker.sock vim-emu-img python examples/osm_default_daemon_topology_2_pop.py | ||
export OSM_HOSTNAME=127.0.0.1 | export OSM_HOSTNAME=127.0.0.1 | ||
export OSM_SOL005=True | export OSM_SOL005=True | ||
export VIMEMU_HOSTNAME=$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vim-emu) | export VIMEMU_HOSTNAME=$(sudo docker inspect -f '<nowiki>{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}</nowiki>' vim-emu) | ||
osm vim-create --name emu-vim1 --user username --password password --auth_url | osm vim-create --name emu-vim1 --user username --password password --auth_url http://$VIMEMU_HOSTNAME:6001/v2.0 --tenant tenantName --account_type openstack | ||
git clone https://osm.etsi.org/gerrit/osm/vim-emu.git | git clone https://osm.etsi.org/gerrit/osm/vim-emu.git | ||
Line 79: | Line 76: | ||
osm vnfd-create vim-emu/examples/vnfs/pong.tar.gz | osm vnfd-create vim-emu/examples/vnfs/pong.tar.gz | ||
osm nsd-create vim-emu/examples/services/pingpong_nsd.tar.gz | osm nsd-create vim-emu/examples/services/pingpong_nsd.tar.gz | ||
osm ns-create --nsd_name pingpong --ns_name test --vim_account emu-vim1 | osm ns-create --nsd_name pingpong --ns_name test --vim_account emu-vim1 | ||
Latest revision as of 16:54, 17 February 2021
THIS PAGE IS DEPRECATED. OSM User Guide has been moved to a new location: https://osm.etsi.org/docs/user-guide/
---
Basic instructions
Pre-built OSM vagrant images are available here: https://app.vagrantup.com/osm
The pre-built image requires 4GB of memory and 2 VCPUs.
1) Install vagrant (https://www.vagrantup.com) and virtualbox (https://www.virtualbox.org/)
2) Create the initial Vagrantfile in a predefined directory of your choice:
vagrant init osm/releasesix
- Note: to ensure the latest version is downloaded, destroy any previous existing OSM boxes (vagrant box list / vagrant box remove)
3) Edit the generated Vagrantfile if you need to customize, for example, opened ports and assigned memory:
- If you would like to access the OSM Web client externally from the virtualbox VM, you can open up port 80 (mapped to 8080 at your host) by uncommenting this line:
# config.vm.network "forwarded_port", guest: 80, host: 8080
4) Start OSM:
vagrant up
- Note: warnings related to "Vagrant unable to mount VirtualBox shared folders" can be safely ignored.
5) ssh to OSM:
vagrant ssh
You are ready to use OSM !
Additional notes
- If at any time you need to change something from the Vagrantfile, you can apply the changes by reloading the VM:
vagrant reload
- If you need to copy a file to your vagrant machine, just run 'vagrant ssh-config' and copy the private key path, then:
scp -P 2222 -i /path/to/private_key someFileName.txt vagrant@127.0.0.1:
- To use a manually downloaded image, add the box to Vagrant and create a matching Vagrantfile:
vagrant box add osm/releasesix /path/to/vagrant.box vagrant init osm/releasesix
- If at any point you need to add the optional components (elk_stack, pm_stack...) you can do so by downloading the installer from inside your VM and executing it with the -o option, for example:
wget https://osm-download.etsi.org/ftp/osm-6.0-six/install_osm.sh chmod +x install_osm.sh ./install_osm.sh -o pm_stack
- Please note that you may need to add more forwarded ports, for example, to access Grafana after adding the pm_stack, you would need to add a line like this one to your Vagrantfile, then run 'vagrant reload':
config.vm.network "forwarded_port", guest: 3000, host: 3000
Vagrant + VIM Emulator Quickstart
vagrant init osm/releasesix vagrant up vagrant ssh
# startup VIM-EMU # new version of installer will have the vim-emu start by default sudo docker run --name vim-emu -t -d --restart always --privileged --pid='host' --network=netOSM -v /var/run/docker.sock:/var/run/docker.sock vim-emu-img python examples/osm_default_daemon_topology_2_pop.py
export OSM_HOSTNAME=127.0.0.1 export OSM_SOL005=True
export VIMEMU_HOSTNAME=$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vim-emu)
osm vim-create --name emu-vim1 --user username --password password --auth_url http://$VIMEMU_HOSTNAME:6001/v2.0 --tenant tenantName --account_type openstack
git clone https://osm.etsi.org/gerrit/osm/vim-emu.git osm vnfd-create vim-emu/examples/vnfs/ping.tar.gz osm vnfd-create vim-emu/examples/vnfs/pong.tar.gz osm nsd-create vim-emu/examples/services/pingpong_nsd.tar.gz osm ns-create --nsd_name pingpong --ns_name test --vim_account emu-vim1
vagrant@vagrant:~$ osm ns-list +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+ | ns instance name | id | operational status | config status | detailed status | +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+ | test | 05a363b0-4ac1-49a1-a4b1-9680e39b1ade | init | init | Waiting ns ready at RO. RO_id=2c569b2a-b21f-495b-9837-6a469f565044; VMs: 0/2, networks: 0/1 | +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+ vagrant@vagrant:~$ osm ns-list +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+ | ns instance name | id | operational status | config status | detailed status | +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+ | test | 05a363b0-4ac1-49a1-a4b1-9680e39b1ade | init | init | Waiting ns ready at RO. RO_id=2c569b2a-b21f-495b-9837-6a469f565044; VMs: 0/2, networks: 0/1 | +------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+