Commit 2616afe7 authored by garciadeblas's avatar garciadeblas
Browse files

Update all docs for Release SEVENTEEN



This change updates all references of the installer, IM, figures,
etc. to point to release SEVENTEEN links.

In addition, the change includes a summary of the release.

Signed-off-by: default avatargarciadeblas <gerardo.garciadeblas@telefonica.com>
parent d625b2a0
Loading
Loading
Loading
Loading
Loading
+11 −14
Original line number Diff line number Diff line
@@ -4,24 +4,21 @@ Open Source MANO (OSM) is an ETSI-hosted open source community delivering a prod

OSM follows a regular cadence of two releases per year, alternating between Long Term Support (LTS) releases such as Release SIXTEEN or Release FOURTEEN (2 years support) and Standard releases (6 months support).

This release, **Release SIXTEEN**, brings a revolution in OSM’s functionality, positioning OSM as a generalized cloud-native orchestrator for infrastructure, platforms and services, which extends significantly its former scope. Full cloud-native management of Kubernetes clusters in public clouds, together with the applications or software units running on them, is now possible with Release SIXTEEN. Every operation related to the cluster management (creation, upgrading, scaling, deletion) or the applications running on them is reflected in Git repositories, following the GitOps model. This has been possible thanks to a major change in the internal architecture of OSM.
This release, **Release SEVENTEEN**, which will be a Standard release with support for 6 months, means the consolidation of the new architecture and scope introduced in the previous release, positioning OSM as a generalized cloud-native orchestrator for infrastructure, platforms and services. The full cloud-native management of Kubernetes clusters introduced in Release SIXTEEN for public clouds has been extended to private clouds based on Openstack, following the same intent-based GitOps model where every operation related to the clusters or the applications running on them is done through Git repositories.

OSM Release SIXTEEN includes significant improvements in the following key areas:
OSM Release SEVENTEEN includes significant improvements in the following key areas:

- __Cloud-native operations in OSM__. Release SIXTEEN incorporates the provision of a management cluster for remote cloud-native management of infrastructure and applications. In addition, ad-hoc Git repositories are automatically created during OSM installation to support Continuous Deployment operations. Release SIXTEEN has added the logic to define and execute workflows in a declarative way for all the new operations. These workflows are responsible for committing the appropriate intents into the Git repositories, and the OSM management cluster is in charge of synchronizing this state into different target clouds, thanks to new capabilities added to VIM/Cloud account registration.
- __Management of Kubernetes clusters__. This release includes the full life-cycle management of Kubernetes clusters from OSM. Azure, AWS and GCP PaaS-based clusters can be created, upgraded, scaled and deleted from OSM. In addition, applications can be deployed and fully managed (upgraded, deleted) in those clusters. Finally, Rel SIXTEEN incorporates the concept of “profiles” as a way of grouping sets of software units to be deployed to a distributed fleet of Kubernetes clusters, such as Edge scenarios.
- __Enhanced operational capabilities__. Release SIXTEEN incorporates a whole new set of operational capabilities for Network Services (NS), including the following: NS config templates as first-class citizens in OSM, support for deletion of multiple NS instances, new options to reset or reuse values when upgrading CNFs, the addition of labels to Kubernetes objects created by OSM, and improved integration of the vertical scaling and KPI-based scaling of VNFs introduced in previous releases.
- __Security enhancements__. Release SIXTEEN incorporates important enhancements such as the password recovery based on One-Time Password (OTP) and improved audit logs for password-related and NS life-cycle operations.
- __OSM installation__. This release introduces relevant changes in the Kubernetes cluster where OSM is installed, such as the support of K3s as default Kubernetes distro for OSM installation, and the inclusion of an ingress controller to expose more conveniently all web services in OSM, including the Graphical User Interface and the North-Bound Interface. In addition, the OSM helm chart introduced in previous releases continues evolving in Release SIXTEEN to include upstream helm charts for Prometheus and Grafana. By using upstream helm charts, those components become much easier to maintain and upgrade, while benefiting from upstream built-in features such as replication and persistent storage. In addition, OSM helm chart has been adapted to be able to work with pre-existing Mongo DB deployments, instead of using the default one coming with OSM, which enables alternative deployments in production. Finally, other dependencies such as Zookeeper have been removed, making use of the built-in replication mechanism in Kafka.
- __Management of Kubernetes clusters__. This release includes the full life-cycle management of Kubernetes clusters on Openstack-based private clouds using Cluster API. The capabilities of declarative management of Kubernetes clusters and their workloads introduced in Release SIXTEEN have been leveraged and extended to support clusters based on Cluster API in private clouds based on OpenStack, which paves the way of supporting additional types of private infrastructure in next releases. 
- __OSM NF catalogue and testing__. Release SEVENTEEN sets the foundation of an OSM catalogue of NF and NS packages, that will become the foundation to promote OSM use cases during 2025. Existing NF and NS packages in OSM repos have been published in a public NF catalogue. In addition, new tools have been developed to simplify the creation of new OSM blueprints for Kubernetes applications (OSM Kubernetes Applications, OKA), suitable for the new intent-based framework of OSM. In addition, the automatic generation of E2E Robot tests from a set of NF and NS packages is now possible, which enables the incorporation of relevant NF packages and use cases to OSM’s recurring validation tests at ETSI’s environment.
- __Enhanced capabilities for Network Services__. This release allows to specify, as part of the instantiation parameters, the security groups or VIM flavours to be used by the different Virtualized Deployment Units (VDU) that are part of a VNF.
- __Improvements in CNF operation__. Release SEVENTEEN supports the relocation of the different Kubernetes Deployment Units (KDU) of a CNF between Kubernetes nodes in a cluster. This would allow the migration of KDU instances between locations in Kubernetes clusters such as the ones used in Edge scenarios, with a centralized control plane and distributed workers.
- __OSM installation__. This release introduces performance optimizations in Kafka, MongoDB and Airflow components, that are part of OSM installation, reducing the footprint of the OSM community installation.
- __OSM client improvements__. Release SEVENTEEN incorporates support of Jsonpath output format for the new commands related to intent-based operations (clusters, profiles, OKA, KSU). This format allows to filter the fields in the objects, following the common practices in other CLI tools such as kubectl.

![Release SIXTEEN - Feature summary](assets/rel16-features.png)
![Release SEVENTEEN - Feature summary](assets/rel17-features.png)

For a comprehensive overview of OSM functionalities, you can also refer to the [OSM White Papers and Release Notes of previous releases](https://osm.etsi.org/wikipub/index.php/Release_notes_and_whitepapers).

<!--
For the full list of new features, please refer to the [Release Notes](https://osm-download.etsi.org/ftp/osm-15.0-fifteen/OSM_Release_SIXTEEN_Release_Notes.pdf).
-->

**OSM in Practice**:

<iframe src="https://www.youtube.com/embed/kCFxPV67Adw?" width="640" height="360" frameborder="0" allowfullscreen="true" style="box-sizing: border-box;"></iframe>
@@ -55,7 +52,7 @@ All you need to run OSM is a single server or VM with the following requirements
Once you have prepared the host with the previous requirements, all you need to do is:

```bash
wget https://osm-download.etsi.org/ftp/osm-16.0-sixteen/install_osm.sh
wget https://osm-download.etsi.org/ftp/osm-17.0-seventeen/install_osm.sh
chmod +x install_osm.sh
./install_osm.sh
```
@@ -65,7 +62,7 @@ This will install a standalone Kubernetes on a single host, and OSM on top of it
**TIP:** In order to facilitate potential trobleshooting later, it is recommended to save the full log of your installation process:

```bash
wget https://osm-download.etsi.org/ftp/osm-16.0-sixteen/install_osm.sh
wget https://osm-download.etsi.org/ftp/osm-17.0-seventeen/install_osm.sh
chmod +x install_osm.sh
./install_osm.sh 2>&1 | tee osm_install_log.txt
```
+7 −7
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ Hence, it is assumed that:
Once you have one host available with the characteristics above, you just need to trigger the OSM installation by:

```bash
wget https://osm-download.etsi.org/ftp/osm-16.0-sixteen/install_osm.sh
wget https://osm-download.etsi.org/ftp/osm-17.0-seventeen/install_osm.sh
chmod +x install_osm.sh
./install_osm.sh
```
@@ -39,7 +39,7 @@ This will install a standalone Kubernetes on a single host, and OSM on top of it
**TIP:** In order to facilitate potential troubleshooting later, it is recommended to save the full log of your installation process:

```bash
wget https://osm-download.etsi.org/ftp/osm-16.0-sixteen/install_osm.sh
wget https://osm-download.etsi.org/ftp/osm-17.0-seventeen/install_osm.sh
chmod +x install_osm.sh
./install_osm.sh 2>&1 | tee osm_install_log.txt
```
@@ -48,9 +48,9 @@ You will be asked if you want to proceed with the installation and configuration

### How to control installation of management and auxiliary cluster

Release SIXTEEN includes new operations and workflows for cluster management (creation, upgrading, scaling, deletion). Every operation related to the cluster or the applications running on them is reflected in Git repositories, following the GitOps model.
From Release SIXTEEN, OSM includes new operations and workflows for cluster management (creation, upgrading, scaling, deletion). Every operation related to the cluster or the applications running on them is reflected in Git repositories, following the GitOps model.

For that reason, Release SIXTEEN incorporates the provision of a management cluster for remote cloud-native management of infrastructure and applications. In addition, ad-hoc Git repositories are automatically created during OSM installation to support Continuous Deployment operations.
For that reason, OSM incorporates the provision of a management cluster for remote cloud-native management of infrastructure and applications. In addition, ad-hoc Git repositories are automatically created during OSM installation to support Continuous Deployment operations.

By default, the management and auxiliary cluster are provisioned in the same Kubernetes cluster where OSM is deployed. However, it is possible to control the provision of those clusters with the following options in the installer:

@@ -260,8 +260,8 @@ In order to install the OSM Client in your local Linux machine, you should follo
```bash
# Clean the previous repos that might exist
sudo sed -i "/osm-download.etsi.org/d" /etc/apt/sources.list
wget -qO - https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/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/ReleaseSIXTEEN stable devops IM osmclient"
wget -qO - https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/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/ReleaseSEVENTEEN stable devops IM osmclient"
sudo apt-get update
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-osm-im python3-osmclient
@@ -724,7 +724,7 @@ OSM could be installed to a remote OpenStack infrastructure from the OSM standar
The installation can be performed with the following command:

```bash
wget https://osm-download.etsi.org/ftp/osm-16.0-sixteen/install_osm.sh
wget https://osm-download.etsi.org/ftp/osm-17.0-seventeen/install_osm.sh
chmod +x install_osm.sh
./install_osm.sh -O <openrc file/cloud name> -N <OpenStack public network name/ID> [--volume] [OSM installer options]
```
+5 −5
Original line number Diff line number Diff line
@@ -359,7 +359,7 @@ osm ns-create --ns_name hf-basic --nsd_name hackfest_basic-ns --vim_account open

### Specify IP profile information and IP for a NS VLD <a name="specify-ip-profile-information-and-ip-for-a-ns-vld">

In a generic way, the mapping can be specified in the following way, where `datanet` is the name of the network in the NS descriptor, ip-profile is where you have to fill the associated parameters from the data model ( [NS data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/docs/osm-im/osm_im_trees/etsi-nfv-nsd.html) ), and vnfd-connection-point-ref is the reference to the connection point:
In a generic way, the mapping can be specified in the following way, where `datanet` is the name of the network in the NS descriptor, ip-profile is where you have to fill the associated parameters from the data model ( [NS data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/docs/osm-im/osm_im_trees/etsi-nfv-nsd.html) ), and vnfd-connection-point-ref is the reference to the connection point:

```yaml
--config '{vld: [ {name: datanet, ip-profile: {...}, vnfd-connection-point-ref: {...} } ] }'
@@ -373,7 +373,7 @@ osm ns-create --ns_name hf-multivdu --nsd_name hackfest_multivdu-ns --vim_accoun

### Specify IP profile information for an internal VLD of a VNF

In this scenario, the mapping can be specified in the following way, where `vnf1` is the member vnf index of the constituent vnf in the NS descriptor, `internal` is the name of internal-vld in the VNF descriptor and ip-profile is where you have to fill the associated parameters from the data model ([VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html)):
In this scenario, the mapping can be specified in the following way, where `vnf1` is the member vnf index of the constituent vnf in the NS descriptor, `internal` is the name of internal-vld in the VNF descriptor and ip-profile is where you have to fill the associated parameters from the data model ([VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html)):

```yaml
--config '{vnf: [ {member-vnf-index: vnf1, internal-vld: [ {name: internal, ip-profile: {...} ] } ] }'
@@ -390,7 +390,7 @@ osm ns-create --ns_name hf-multivdu --nsd_name hackfest_multivdu-ns --vim_accoun

#### Specify IP address for an interface

In this scenario, the mapping can be specified in the following way, where `vnf1` is the member vnf index of the constituent vnf in the NS descriptor, 'internal' is the name of internal-vld in the VNF descriptor, ip-profile is where you have to fill the associated parameters from the data model ([VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html)), `id1` is the internal-connection-point id and `a.b.c.d` is the IP that you have to specify for this scenario:
In this scenario, the mapping can be specified in the following way, where `vnf1` is the member vnf index of the constituent vnf in the NS descriptor, 'internal' is the name of internal-vld in the VNF descriptor, ip-profile is where you have to fill the associated parameters from the data model ([VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html)), `id1` is the internal-connection-point id and `a.b.c.d` is the IP that you have to specify for this scenario:

```yaml
--config '{vnf: [ {member-vnf-index: vnf1, internal-vld: [ {name: internal, ip-profile: {...}, internal-connection-point: [{id-ref: id1, ip-address: "a.b.c.d"}] ] } ] }'
@@ -471,7 +471,7 @@ You can try it using one of the examples of the hackfest (**packages: [hackfest_
```bash
osm ns-create --ns_name hf-basic --nsd_name hackfest_basic-ns

With the previous hackfest example, according to [VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html) you will add in VNF Descriptor:
With the previous hackfest example, according to [VNF data model](https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/docs/osm-im/osm_im_trees/etsi-nfv-vnfd.html) you will add in VNF Descriptor:

```yaml
     volumes:
@@ -1388,7 +1388,7 @@ The diagram below shows the `slice_basic_ns` and `slice_basic_middle_ns`, its co

### Creating a Network Slice Template (NST)

Based on the OSM information model for Network slice templates [here](http://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/docs/osm-im/osm_im_trees/nst.html) it is possible to start writing the YAML descriptor for the NST.
Based on the OSM information model for Network slice templates [here](http://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/docs/osm-im/osm_im_trees/nst.html) it is possible to start writing the YAML descriptor for the NST.

```yaml
nst:
+1 −1
Original line number Diff line number Diff line
@@ -1059,7 +1059,7 @@ CEF:Version|Device Vendor|Device Product|Device Version|Name|Severity|Extension
A sample CEF log for User login would be as below:

```text
CEF:0|OSM|OSM|16.0.0|User Login|1|msg=User Logged In, Project\=admin Outcome\=Success suser=admin
CEF:0|OSM|OSM|17.0.0|User Login|1|msg=User Logged In, Project\=admin Outcome\=Success suser=admin
```

### Audit Logs Prefixes
+6 −6
Original line number Diff line number Diff line
@@ -158,9 +158,9 @@ sudo apt-get update
sudo apt-get install -y python3 python3-dev python3-pip

# Add OSM debian repo
curl -q -o OSM-ETSI-Release-key.gpg https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN/OSM%20ETSI%20Release%20Key.gpg
curl -q -o OSM-ETSI-Release-key.gpg https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN/OSM%20ETSI%20Release%20Key.gpg
sudo apt-key add OSM-ETSI-Release-key.gpg
sudo add-apt-repository -y "deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIXTEEN stable devops IM osmclient"
sudo add-apt-repository -y "deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSEVENTEEN stable devops IM osmclient"
sudo apt-get update

# Install OSM IM and osmclient packages from deb repo
@@ -185,7 +185,7 @@ sudo apt-get install -y python3 python3-dev python3-pip
sudo -H python3 -m pip install -U pip

# Decide which version to use
export OSM_CLIENT_VERSION=v16.0
export OSM_CLIENT_VERSION=v17.0

# Install OSM IM and its dependencies via pip (installed with sudo, to install it globally for all users)
sudo -H python3 -m pip install -r "https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=${OSM_CLIENT_VERSION}"
@@ -216,7 +216,7 @@ sudo dnf install -y python310 python310-devel
sudo -H python3 -m pip install -U pip

# Decide which version to use
export OSM_CLIENT_VERSION=v16.0
export OSM_CLIENT_VERSION=v17.0

# Install OSM IM and its dependencies via pip (installed with sudo, to install it globally for all users)
sudo -H python3 -m pip install -r "https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=${OSM_CLIENT_VERSION}"
@@ -249,7 +249,7 @@ sudo apt-get install -y python3 python3-setuptools python3-dev python3-pip
sudo -H python3 -m pip install -U pip

# Decide which version to use
export OSM_CLIENT_VERSION=v16.0
export OSM_CLIENT_VERSION=v17.0

# Install OSM IM and its dependencies via pip (installed with sudo, to install it globally for all users)
sudo -H python3 -m pip install -r "https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=${OSM_CLIENT_VERSION}"
@@ -313,7 +313,7 @@ conda activate osm-env
python -m pip install -U pip

# Decide which version to use
export OSM_CLIENT_VERSION=v16.0
export OSM_CLIENT_VERSION=v17.0

# Clone IM repo and checkut the desired version
git clone https://osm.etsi.org/gerrit/osm/IM
Loading