diff --git a/doc/deployment.md b/doc/deployment.md index 9738d23ab5a412e79b7b17088d32d58b2aa290d5..add7b1d12918562d30f319817c7a2e3ea7dbfad2 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 91efd366f981905fa7cd16fdf3838b2c6954c4ed..2247a7c66ac0c05be49924d83b456fd76ec62805 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