From 82e5c05cf4fe6c19abab5bbf19168f5df33960be Mon Sep 17 00:00:00 2001
From: Kostis Trantzas <ktrantzas@ece.upatras.gr>
Date: Wed, 26 Jun 2024 15:12:33 +0300
Subject: [PATCH] fix for #2

---
 doc/deployment.md | 70 ++++++++++++++++-------------------------------
 doc/nfvoconfig.md | 19 +++++++------
 2 files changed, 34 insertions(+), 55 deletions(-)

diff --git a/doc/deployment.md b/doc/deployment.md
index 9738d23a..add7b1d1 100644
--- a/doc/deployment.md
+++ b/doc/deployment.md
@@ -7,7 +7,7 @@
 | --------------------------------- | ------------------------------------ |
 | 4 CPU cores                       | 8 CPU cores                          |
 | 8 GB RAM                          | 16 GB RAM                            |
-| 20 GB storage                     | 40 GB storage                        |
+| 30 GB storage                     | 50 GB storage                        |
 
 ### Software Requirements:
 
@@ -17,7 +17,7 @@
 
 ## Preparing the environment
 
-> See the [Kubernetes section](#Kubernetes-installation), if you would like to deploy OpenSlice in a Kubernetes cluster.
+> See the [Kubernetes section](#kubernetes-installation), if you would like to deploy OpenSlice in a Kubernetes cluster.
 
 
 ### 1. Backup your previous database if necessary:
@@ -239,16 +239,15 @@ cd org.etsi.osl.portal.web/src/js
 sudo cp config.js.default config.js
 ```
 
-Edit the `config.js` file with the information of your domain
+Edit the `config.js` file with the information of your domain. `ROOTURL` will automatically extract the the Origin (Protocol://Domain:Port) of the deployment, but you must change `APIURL` property, if you are not aiming for a localhost installation, e.g. "https://portal.openslice.io".
 
+Example file:
 
 ```
 {	  
-  TITLE: "OpenSlice by ETSI",
-  WIKI: "https://openslice.readthedocs.io/en/stable/",
   BUGZILLA: "ROOTURL/bugzilla/",
   STATUS: "ROOTURL/status/",
-  APIURL: "http://localost:13000",
+  APIURL: "http://localhost",
   WEBURL: "ROOTURL/nfvportal",
   APIOAUTHURL: "ROOTURL/auth/realms/openslice",
   APITMFURL: "ROOTURL/tmf-api/serviceCatalogManagement/v4"
@@ -273,15 +272,17 @@ Ensure that you check the `config.prod.json` and `theming.scss` files and readju
 cd org.etsi.osl.tmf.web/src/assets/config
 ```
 
-E.g. Edit "TITLE", "WIKI", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.
+E.g. You may edit "TITLE", "WIKI", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.
+
+Example file:
 
 ```
 {	      
     "TITLE": "OpenSlice by ETSI",
-    "PORTALVERSION":"2024-Q2 1.0.0-SNAPSHOT",
+    "PORTALVERSION":"2024Q2",
     "WIKI": "https://osl.etsi.org/documentation",
     "BUGZILLA": "{BASEURL}/bugzilla/",
-    "STATUS": "http://status.localhost/",
+    "STATUS": "{BASEURL}/status/",
     "WEBURL": "{BASEURL}",
     "PORTAL_REPO_APIURL": "{BASEURL}/osapi",
     "ASSURANCE_SERVICE_MGMT_APIURL": "{BASEURL}/oas-api",
@@ -309,7 +310,7 @@ E.g. Edit "TITLE", "WIKI", etc properties with your domain title. Also configure
 }
 ```
 
-> The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of Openslice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io".
+> The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of OpenSlice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io".
 
 If further customization, apart from the default provided, is needed for branding (Logo, Footer) then `config.theming.json` needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows:
 
@@ -364,7 +365,7 @@ The Keycloack server is managing authentication and running on a container at po
 
 - Login with the credentials from section [Configure keycloak container](#3-configure-keycloak-container-optional). Default values are:
     - user: admin and 
-    - password: KEYCLOAK_PASSWORD
+    - password: Pa55w0rd
 
 > if you are running in HTTP you will get a message: HTTPS required.
 
@@ -379,7 +380,7 @@ To resolve this issue <u>when running in HTTP</u>:
 
 #### 1. Configure redirects
 
-Navigate to realm Openslice > client > osapiWebClientId and change the Root URL to your domain. 
+Navigate to realm Openslice > Clients > osapiWebClientId and change the Root URL to your domain. 
 
 Also, insert your domain, e.g. http://example.org/*, at:
 * Valid Redirect URIs
@@ -389,18 +390,22 @@ Also, insert your domain, e.g. http://example.org/*, at:
 
 Keycloak allows new users to register. Subsequently, this will also allow new users to register to the OpenSlice portal.
 
-On Tab Login > check User registration, Verify email, Forgot password etc.
+Navigate to realm Openslice > Realm Settings > Login Tab > check User registration, Verify email, Forgot password etc.
+
+Finally, enter the details of the mail server at the Email Tab.
+
+> Email configuration is optional for test runs, but if not provided the above functionalities (e.g. external user registration) will not be possible.
 
-Also, enter the details on Realm > Email > Enable Authentication.
 
 #### 3. Add an OpenSlice admin user
 
 This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice admin user you must:
-- Navigate to manage/users and add an OpenSlice admin user, e.g. username=admin. 
+
+- Navigate to realm Openslice > Users > Add user
 - Set a password
-- Navigate to Role Mappings and add ADMIN and MENTOR to Assigned Roles.
+- Upon creation, navigate to Role Mappings and add ADMIN to Assigned Roles list
 
-> That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Roles ADMIN and MENTOR guarantee full access through the Openslice UI, thus such a user is always required.
+> That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Role ADMIN guarantee full access through the OpenSlice UI, thus such a user is always required.
 
 ### Keycloak at localhost
 
@@ -438,19 +443,10 @@ cd org.etsi.osl.tmf.web/src/assets/config
 nano config.prod.json
 ```
 
-After editing it should look like the example bellow:
+After editing, the displayed properties should look like the example below:
 
 ```yaml
 {	      
-  "TITLE": "OpenSlice by ETSI",
-  "PORTALVERSION":"2023-Q3 1.2.0-SNAPSHOT",
-  "WIKI": "https://openslice.readthedocs.io/en/stable/",
-  "BUGZILLA": "{BASEURL}/bugzilla/",
-  "STATUS": "http://status.localhost/",
-  "WEBURL": "{BASEURL}",
-  "PORTAL_REPO_APIURL": "{BASEURL}/osapi",
-  "ASSURANCE_SERVICE_MGMT_APIURL": "{BASEURL}/oas-api",
-  "APITMFURL": "{BASEURL}/tmf-api",
   "OAUTH_CONFIG" : {
       "issuer": "http://keycloak:8080/auth/realms/openslice",
       "loginUrl": "http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth",
@@ -459,17 +455,6 @@ After editing it should look like the example bellow:
       "redirectUri": "{BASEURL}/redirect",
       "logoutUrl": "http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/logout", 
       "postLogoutRedirectUri": "{BASEURL}",
-         
-      "responseType": "code",
-      "oidc": false,
-      "clientId": "osapiWebClientId",
-      "dummyClientSecret": "secret",
-               
-      "requireHttps": false,
-      "useHttpBasicAuth": true,
-      "clearHashAfterLogin": false,
-         
-      "showDebugInformation": true
   }
 }
 ```
@@ -489,7 +474,7 @@ cd org.etsi.osl.portal.web/src/js
 nano config.js
 ```
    
-after editing it should look like the example bellow:
+After editing, the displayed properties should look like the example below:
 
 ```
 var appConfig = angular.module('portalwebapp.config',[]);
@@ -497,14 +482,7 @@ var appConfig = angular.module('portalwebapp.config',[]);
 
 appConfig.factory('APIEndPointService', function() {
    return {	      
-      TITLE: "OpenSlice by ETSI",
-      WIKI: "https://openslice.readthedocs.io/en/stable/",
-      BUGZILLA: "ROOTURL/bugzilla/",
-      STATUS: "ROOTURL/status/",
-      APIURL: "http://localost:13000",
-      WEBURL: "ROOTURL/nfvportal",
       APIOAUTHURL: "http://keycloak:8080/auth/realms/openslice",
-      APITMFURL: "ROOTURL/tmf-api/serviceCatalogManagement/v4"
    };
 });
 ```
diff --git a/doc/nfvoconfig.md b/doc/nfvoconfig.md
index 91efd366..2247a7c6 100644
--- a/doc/nfvoconfig.md
+++ b/doc/nfvoconfig.md
@@ -1,19 +1,20 @@
 # NFV Orchestrator configuration
 
-NOTE: Currently we support Open Source MANO version SEVEN/EIGHT/TEN/ELEVEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NSD packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.
+> Currently we support Open Source MANO version EIGHT/NINE/TEN/ELEVEN/THIRTEEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NS packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.
 
 Configuration of your target(s) NFVOs/MANO services with Openslice is performed through the NFV portal.
 
-Login to http://yourdomain/nfvportal/
+1. Login to {{yourdomain}}/nfvportal/
 
-Navigate to Admin->Manage MANO Platforms and pick one of the supported MANO platform(s), e.g. Name=OSMvTEN, Version=OSMvTEN and save
+2. Navigate to Admin > Manage MANO Platforms > Add New MANO Platform, pick one of the supported MANO platform(s), e.g. Name=OSMvTHIRTEEN, Version=OSMvTHIRTEEN and save. You may edit the saved MANO platforms after this.
 
-Navigate to Admin->Manage MANO providers and enter a New MANO Provider:
+3. Navigate to Admin > Manage MANO providers > Add New MANO Provider and enter its details:
 
-* Name whatever you wish
-* API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint)
-* Username, password and Project of your OSM tenant.
+* Name and description of your choice. The selected name will supplement the NFV artifacts of this provider.
+* One of the already defined MANO platforms
+* API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint - *Note the port 9999*)
+* Username, Password and Project of your OSM tenant.
 
-Check EnabledForONBOARDING, so when users onboard VNFs/NSDs they will be automatically ONBOARDED to this MANO. If left unchecked, the onboarding must be performed manually after the VNF/NSD is uploaded to the portal.
+Check EnabledForONBOARDING, if you want VNF/NS packages uploaded through the UI by the user, to also be automatically ONBOARDED to this MANO (1 step process). If left unchecked, the onboarding process must be performed manually after the VNF/NS package is uploaded to the portal, by the designated UI (2 step process).
 
-Check EnabledForSYNC, if you want to support MANO->Openslice auto synchronization. When enabled, the existing VNFs/NSDs and VIMs (and any updates on them) of the registered MANO are also reflected to the portal.
\ No newline at end of file
+Check EnabledForSYNC, if you want to support the automatic synchronization of this MANO with OpenSlice. When enabled, the existing VNF/NS packages and VIMs (and any updates on them) of the registered MANO are also reflected to the portal to the respective UIs (Registered VNFs/NSDs and Manage Infrastructures). The synchronization is a continuous process that will confirm that the artifacts are still present in the MANO, updating the status field of the respective artifacts to `OSM_PRESENT`. If during this process, an artifact is deleted from the MANO, the respective status field will be updated to `OSM_MISSING`.
\ No newline at end of file
-- 
GitLab