Commit dbbfaac5 authored by garciadeblas's avatar garciadeblas
Browse files

Merge branch 'installation' into 'master'

Install OSM diataxis review

See merge request !121
parents 7e1592c8 015d1d51
Loading
Loading
Loading
Loading
Loading
+19 −17
Original line number Diff line number Diff line
# Installing OSM
# How to install OSM

## Pre-requirements

@@ -23,7 +23,7 @@ Hence, it is assumed that:
- Each VIM has a so-called management network, which provides IP addresses to VNFs.
- That management network is reachable from OSM.

## Installation procedure
## How to install OSM (standard installation)

Once you have one host available with the characteristics above, you just need to trigger the OSM installation by:

@@ -51,7 +51,7 @@ Optionally, you can use the option `--k8s_monitor` to install an add-on to monit
./install_osm.sh --k8s_monitor
 ```

### Other installer options
### How to install optional components

You can include optional components in your installation by adding the following flags:

@@ -64,6 +64,8 @@ Example:
./install_osm.sh --k8s_monitor --pla
```

### Reference: Other installer options

OSM installer includes a larger number of install options. The general usage is the following:

```bash
@@ -91,7 +93,7 @@ With no options, it will install OSM from binaries.

## Other installation methods

### Remote installation to an OpenStack infrastructure
### How to install OSM in a remote OpenStack infrastructure

OSM could be installed to a remote OpenStack infrastructure from the OSM standard installer. It is based on Ansible and it takes care of configuring the OpenStack infrastructure before deploying a VM with OSM. The Ansible playbook performs the following steps:

@@ -119,7 +121,7 @@ The `--volume` option is used to instruct OpenStack to create an external volume

Some OSM installer options are supported, in particular the following: `-r -k -u -R -t`. Other options will be supported in the future.

### Charmed Installation
### How to install Charmed OSM

Some cases where the Charmed installer might be more suitable:

@@ -140,7 +142,7 @@ chmod +x install_osm.sh

This will install OSM on [microk8s](https://microk8s.io/) using Charms. 

#### External
#### How to install Charmed OSM using external infraestructure

For the installation using external components the following parameters can be added:

@@ -159,9 +161,9 @@ The values for the parameters are the following:

For more information on the LXD `cloud.yaml` and `credential.yaml` files consult [here](16-lxd-cluster.md)

#### OSM client in Charmed installations
#### How to configure needed environment variables in Charmed OSM

Once the installation is over, follow these instructions to use the osmclient:
Once the installation is over, follow these instructions to configure the environments variables needed by the osmclient:

```bash
NBI_IP=$(microk8s.kubectl describe -n osm ingress | grep -E "nbi.*\.io" | xargs)
@@ -178,7 +180,7 @@ NBI_PASSWORD=$(juju config -m osm keystone admin-password)
echo "export OSM_PASSWORD=$NBI_PASSWORD" >> ~/.bashrc
```

#### How to retrieve login usernames and passwords in OSM Charmed installations
#### How to retrieve login usernames and passwords in Charmed OSM

The following instructions show how to retrieve usernames and passwords of OSM modules in Charmed installations.

@@ -229,7 +231,7 @@ juju config -m osm mariadb password

#### Scaling OSM Components

##### Scaling OSM Charms
##### How to scale Charmed OSM components

Scaling or replicating the amount of containers each OSM component has can help both with distributing the workloads (in the case of some components) and also with high availability in case of one of the replicas failing. 

@@ -243,7 +245,7 @@ juju scale-application lcm-k8s 3 # 3 being the amount of replicas

If the application is already scaled to the number stated in the scale-application command nothing will change. If the number is lower, the application will scale down.

##### Scaling OSM VCA
##### How to scale Charmed OSM VCA

For more detailed information about setting up a highly available controller please consult the official [documentation](https://juju.is/docs/controller-high-availability).

@@ -277,7 +279,7 @@ To install Charmed OSM with the HA controller the following argument will be pas
./install_osm.sh --charmed --vca manual-controller
```

#### Using external DBs
#### How to use external DBs with Charmed OSM

Charmed OSM supports the usage of external DBs. For this purpose, relations to the DBs should be removed:

@@ -309,7 +311,7 @@ juju config keystone mysql_port="<MySQL Port>"
juju config keystone mysql_root_password="<MySQL Root Password>"
```

### How to upgrade components from daily images
### How to upgrade components from daily images in standard deployment

**Upgrading a specific OSM component without upgrading the others accordingly may lead to potential inconsistencies.** Unless you are really sure about what you are doing, please use this procedure with caution.

@@ -413,7 +415,7 @@ kubectl -n osm scale deployment ng-ui --replicas=1
# kubectl -n osm apply -f /etc/osm/docker/osm_pods/ng-ui.yaml
```

## Checking your installation
## How to check OSM installation (standard installation)

After some time, you will get a fresh OSM installation with its latest, pre-built docker images which are built daily. You can access to the UI in the following URL (user:`admin`, password: `admin`): [http://1.2.3.4](http://1.2.3.4/), replacing 1.2.3.4 by the IP address of your host.

@@ -457,7 +459,7 @@ OSM client, a python-based CLI for OSM, will be available as well in the host ma
osm --help
```

## Installing standalone OSM Client
## Explanation: What the OSM client is

The **OSM Client** is a client library and a command-line tool (based on Python) to operate OSM, which accesses OSM's Northbound Interface (NBI) and lets you manage descriptors, VIMs, Network Services, Slices, etc. along with their whole lifecycle. In other words, the OSM Client is a sort of Swiss knife that provides a convenient access to all the functionality that OSM's NBI offers.

@@ -465,7 +467,7 @@ Although the OSM Client is always available in the host machine after installati

There are two methods of installing the OSM client: via a Snap, or a Debian Package.

### Snap Installation
### How to install standalone OSM Client using snaps

On systems that support snaps, you can install the OSM client with the following command:

@@ -475,7 +477,7 @@ sudo snap install osmclient --channel 11.0/stable

There are tracks available for all releases.  Omitting the channel will use the latest stable release version.

### Debian Package Installation
### How to install standalone OSM Client using debian packages

In order to install the OSM Client in your local Linux machine, you should follow this procedure: