Commit 2bad8437 authored by Francisco-Javier Ramon Salguero's avatar Francisco-Javier Ramon Salguero
Browse files

1st phase of restructuring:

- New ToC
- Chapters 1, 2, 3, 11, 12
- Removal of some old chapters or no longer needed after this phase
parent cfd843ae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# OSM Release SIX
# OSM Quickstart

[![8th OSM Hack.png](assets/350px-8th_OSM_Hack.png)](https://osm.etsi.org/wikipub/index.php/8th_OSM_Hackfest)

+30 −0
Original line number Diff line number Diff line
# OSM Architecture and Functions

[OSM-IM-PAGE]: 11-osm-im.md
[OSM-NBI-PAGE]: 12-osm-nbi.md

The goal of ETSI OSM (Open Source MANO) is the development of a community-driven production-quality **E2E Network Service Orchestrator (E2E NSO)** for telco services, capable of modelling and automating real telco-grade services, with all the intrinsic complexity of production environments. OSM provides a way to accelerate maturation of NFV technologies and standards, enable a broad ecosystem of VNF vendors, and test and validate the joint interaction of the orchestrator with the other components it has to interact with: commercial NFV infrastructures (NFVI+VIM) and Network Functions (either VNFs, PNFs or Hybrid ones).

OSM's approach aims to minimize integration efforts thanks to four key aspects:

1. **A well-known [Information Model (IM)][OSM-IM-PAGE]**, aligned with ETSI NFV, that is capable of modelling and automating the full lifecycle of Network Functions (virtual, physical or hybrid), Network Services (NS), and Network Slices (NSI), from their initial deployment (instantiation, Day-0, and Day-1) to their daily operation and monitoring (Day-2).

   - Actually, OSM's IM is completely infrastructure-agnostic, so that the same model can be used to instantiate a given element (e.g. VNF) in a large variety of VIM types and transport technologies, enabling an ecosystem of VNF models ready for their deployment everywhere.

2. OSM provides a **unified [northbound interface (NBI)][OSM-NBI-PAGE]**, based on NFV SOL005, which enables the full operation of system and the Network Services and Network Slices under its control. In fact, OSM's NBI offers the service of managing the lifecycle of Network Services (NS) and Network Slices Instances (NSI), providing as a service all the necessary abstractions to allow the complete control, operation and supervision of the NS/NSI lifecycle by client systems, avoiding the exposure of unnecessary details of its constituent elements.

3. The **extended concept of "Network Service" in OSM**, so that an NS can span across the different domains identified —virtual, physical and transport—, and therefore control the full lifecycle of an NS interacting with VNFs, PNFs and HNFs in an undistinguishable manner along with on demand transport connections among different sites.

4. In addition, **OSM can also manage the lifecycle of Network Slices**, assuming when required the role of Slice Manager, extending it also to support an integrated operation.

## Service Platform view

OSM provides the capability of realising one of the main promises derived from NFV and the dynamic capabilities that it brings: creating networks on demand (“Network as a Service” or NaaS) for either their direct exploitation by the service provider or for their potential commercialization to third parties.

In that sense, OSM works as a **Network Service Orchestrator** intended to provide the capability of creating network services on demand and returning a _service object_ ID that can be used later as a handler to control the whole lifecycle and operations of the network service via subsequent calls to OSM's northbound API and monitor its global state in a convenient fashion.

In the case of OSM, there are two types of _NaaS service objects_ that OSM is able to provide on demand to support the NaaS capability: the **Network Service (NS)** and the **Network Slice Instance (NSI)**, being the latter a composition of several Network Services that can be treated as a single entity (particularities of both types of _NaaS service objects_ will be described in the next sections).

OSM, as _manager function_ of a _service platform_, consumes services from other _service platforms_ and controls a number of _managed functions_ in order to create its own composite higher-level _service objects_. Thus, OSM consumes services provided by the platform(s) in charge of the Virtual Infrastructure (to obtain VMs, etc.) and the platform(s) in charge of the SW-Defined Network (to obtain all the required kinds of inter-DC connections), and, once assembled, configures and monitors the constituent network functions (VNFs, PNFs, HNFs) in order to control the LCM of the entire NS/NSI to be offered on demand.

To learn more about OSM scope, functionality and operation, your can refer to [this white paper](https://osm-download.etsi.org/ftp/Documentation/201902-osm-scope-white-paper), which describes those subjects in detail.
+498 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

04-01-running-on-vagrant.md

deleted100644 → 0
+0 −108
Original line number Diff line number Diff line
# How to run OSM on Vagrant

### 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](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 |
+------------------+--------------------------------------+--------------------+---------------+---------------------------------------------------------------------------------------------+
```
+0 −17
Original line number Diff line number Diff line
# OSM client standalone installation

In those cases where you have an OSM already installed in a remote server, you might still want to operate it from your local computer using the OSM client. The OSM client provides you a client library and a command-line tool to operate OSM..

## Installation

OSM client comes bundled with OSM installation, so if you successfully installed OSM, you already have it.

In addition, you can also install it in a different computer. In order to install OSM client, you will need a Linux machine and follow this procedure.

```bash
wget -qO - https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX/OSM%20ETSI%20Release%20Key.gpg | sudo apt-key add –
sudo add-apt-repository -y "deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable devops osmclient"
sudo apt-get update
sudo -H pip install python-magic
sudo apt-get install python-osmclient
```
Loading