diff options
-rw-r--r-- | .gitreview | 4 | ||||
-rw-r--r-- | docs/index.rst | 39 | ||||
-rw-r--r-- | nokiav2/docs/index.rst | 4 | ||||
-rw-r--r-- | nokiav2/docs/integration.rst | 134 | ||||
-rw-r--r-- | nokiav2/docs/samplevnf.rst | 3 | ||||
-rw-r--r-- | nokiav2/docs/so.rst | 4 | ||||
-rw-r--r-- | nokiav2/docs/vnfintegration.rst | 2 |
7 files changed, 146 insertions, 44 deletions
diff --git a/.gitreview b/.gitreview new file mode 100644 index 00000000..d42292aa --- /dev/null +++ b/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=gerrit.onap.org +port=29418 +project=vfc/nfvo/driver/vnfm/svnfm.git diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..57c8a493 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,39 @@ + +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 + +:tocdepth: 2 + +VNFM Drivers +============ + +Huawei +------ + +README.txt +++++++++++ + +.. code-block:: none +.. literalinclude:: ../huawei/vnfmadapter/VnfmadapterService/deployment/src/main/release/README.txt + + +Nokia +----- + +.. toctree:: + :maxdepth: 2 + + ../nokiav2/docs/index.rst + +Zte +--- + +MME Inputs +++++++++++ +.. code-block:: json +.. literalinclude:: ../zte/vmanager/driver/interfaces/data/MME_inputs.json + +SPGW Inputs ++++++++++++ +.. code-block:: json +.. literalinclude:: ../zte/vmanager/driver/interfaces/data/SPGW_inputs.json diff --git a/nokiav2/docs/index.rst b/nokiav2/docs/index.rst index fabd0d6a..05b10ff1 100644 --- a/nokiav2/docs/index.rst +++ b/nokiav2/docs/index.rst @@ -9,11 +9,15 @@ Welcome to Nokia SVNFM documentation! :maxdepth: 1 :caption: Contents: + intro.rst integration.rst fix.rst samplevnf.rst vnfintegration.rst onboarding.rst + development.rst + so.rst + vnflcm.rst Indices and tables ================== diff --git a/nokiav2/docs/integration.rst b/nokiav2/docs/integration.rst index df366bf6..32bae801 100644 --- a/nokiav2/docs/integration.rst +++ b/nokiav2/docs/integration.rst @@ -1,30 +1,44 @@ Integrate ONAP with Nokia VNFM ============================== -The following section describes how to integrate the Nokia Virtualized Network Function Manager (VNFM) into ONAP. +The following section describes how to integrate the Nokia +Virtualized Network Function Manager (VNFM) into ONAP. Prepare the VNFM ---------------- * Start the VNFM. - - The VNFM must be able to communicate with the ONAP VF-C interface, the virtualized infrastructure manager (VIM) and the virtualized network function (VNF), so the VNFM must - have the correct network setup. The VNFM uses lifecycle notifications (LCNs) to notify the VF-C about the executed changes, therefore, the LCN zone of the - VNFM must be configured so that the VNFM is able to reach the VF-C LCN interface. + - The VNFM must be able to communicate with the ONAP VF-C interface, the + virtualized infrastructure manager (VIM) and the virtualized network + function (VNF), so the VNFM must have the correct network setup. The + VNFM uses lifecycle notifications (LCNs) to notify the VF-C about the + executed changes, therefore, the LCN zone of the VNFM must be configured + so that the VNFM is able to reach the VF-C LCN interface. * Register driver in CBAM - - Using SSH, log in to the CloudBand Application Manager (CBAM) virtual machine as cbam user and determine the Keycloak - auto-generated admin password with the following command: ectl get /cbam/cluster/components/keycloak/admin_credentials/password + - Using SSH, log in to the CloudBand Application Manager (CBAM) virtual + machine as cbam user and determine the Keycloak auto-generated admin + password with the following + command: + +.. code-block:: bash + + ectl get /cbam/cluster/components/keycloak/admin_credentials/password - Copy the printout of the command. - - Access the Keycloak login page with the following URL: https://<cbamIp>/auth/admin where <cbamIp> is the FQDN or IP - address assigned to CBAM node during instantiation. Optionally, it may contain a port, for example, cbam.mycompany.com:port or 1.2.3.4:port. + - Access the Keycloak login page with the following + URL: https://<cbamIp>/auth/admin where <cbamIp> is the FQDN or IP + address assigned to CBAM node during instantiation. Optionally, it may + contain a port, for example, cbam.mycompany.com:port or 1.2.3.4:port. Result: The Keycloak Administration Console login page loads up. - - Log in to Keycloak with the 'admin' username and the auto-generated admin password you copied to clipboard, then change the auto-generated password and note the new password. + - Log in to Keycloak with the 'admin' username and the auto-generated admin + password you copied to clipboard, then change the auto-generated password + and note the new password. Result: You are logged in to the Keycloak Administration Console. @@ -38,27 +52,34 @@ Prepare the VNFM - Result: The Add Client pane appears. - - Set the Client ID to onapClientId and click Save. Note the Client ID which will be referred to as <clientId>. + - Set the Client ID to onapClientId and click Save. Note the Client ID + which will be referred to as <clientId>. - - Result: The following notification appears: Success! The client has been created. The new client's profile page appears. + - Result: The following notification appears: Success! + The client has been created. The new client's profile page appears. - Customize the following settings for the newly created client: - - Access Type: select confidential. Keycloak will generate a client secret that serves as a type of password for your client. + - Access Type: select confidential. Keycloak will generate a client + secret that serves as a type of password for your client. - - Make sure the following settings are ON: Standard Flow Enabled, Direct Access Grants Enabled, Service Accounts Enabled, Authorization Enabled + - Make sure the following settings are ON: Standard Flow Enabled, + Direct Access Grants Enabled, Service Accounts Enabled, + Authorization Enabled - Type * in the Valid Redirect URIs field. - Click Save. - - Result: The following notification appears: Success! Your changes have been saved to the client. + - Result: The following notification appears: Success! + Your changes have been saved to the client. - Note the Client Secret which will be referred to as <clientSecret>: - Select the Credentials tab. - - From the Client Authenticator drop-down list, select the Client ID and Secret and check the value of Secret. + - From the Client Authenticator drop-down list, select the + Client ID and Secret and check the value of Secret. - Add a new user on Keycloak: @@ -76,25 +97,33 @@ Prepare the VNFM - Click Save. - - Result: The following notification appears: Success! The user has been created. The new user's profile page appears. + - Result: The following notification appears: Success! The user + has been created. The new user's profile page appears. - - Create a password for the user: select the Credentials tab on the user profile and set the password. + - Create a password for the user: select the Credentials tab + on the user profile and set the password. - - Note: The user is prompted to change this password when logging in to CBAM for the first time. + - Note: The user is prompted to change this password when + logging in to CBAM for the first time. - Assign the "user" role to the created user: - Select the Role Mappings tab on the user profile. - - Select the "user" role from the Available Roles box, then click Add selected. + - Select the "user" role from the Available Roles box, + then click Add selected. - - Access the CBAM GUI login page with the following URL: https://<cbamIp> where <cbamIp> is the FQDN or IP address assigned to CBAM node during instantiation. Optionally, it may contain a port, for example, cbam.mycompany.com:port or 1.2.3.4:port. + - Access the CBAM GUI login page with the following + URL: https://<cbamIp> where <cbamIp> is the FQDN or IP address + assigned to CBAM node during instantiation. Optionally, it may + contain a port, for example, cbam.mycompany.com:port or 1.2.3.4:port. - Log in to CBAM GUI using the created user. - Change and note the password which will be referred to as <onapPassword>. - - Using SSH, add SSL certificates for all VIM connections or disable certificate verification as follows: + - Using SSH, add SSL certificates for all VIM connections or disable + certificate verification as follows: - For insecure connection (all certificates are automatically trusted) @@ -116,9 +145,12 @@ Prepare /ets/hosts file on your laptop Note: This is an optional step with which it is easier to copy paste URLs -* Using the OpenStack Horizon Dashboard, find the ONAP servers you have deployed and note their IP addresses. +* Using the OpenStack Horizon Dashboard, find the ONAP servers you have + deployed and note their IP addresses. -* Depending on your operating system, use the respective method to prepare an /ets/hosts file to link the DNS servers to the corresponding IP addresses, see the table below: +* Depending on your operating system, use the respective method to prepare + an /ets/hosts file to link the DNS servers to the corresponding + IP addresses, see the table below: +-------------------+---------------------------------+ | IP address | DNS entry | @@ -141,7 +173,9 @@ Note: This is an optional step with which it is easier to copy paste URLs Add the VNFM driver to ONAP --------------------------- -- Locate and note the IP address of the MSB (MSB_IP) on the OpenStack Horizon Dashboard. Look at the VM instances of ONAP and find one with vm1-multi-service name. This is where the MSB is located. +- Locate and note the IP address of the MSB (MSB_IP) on the OpenStack Horizon + Dashboard. Look at the VM instances of ONAP and find one with + vm1-multi-service name. This is where the MSB is located. - Create VIM in A&AI Note: @@ -161,9 +195,11 @@ Add the VNFM driver to ONAP - Note: Cloud credentials are supplied by the VNF integrator. - - To obtain the value of the Auth URL field and the tenant id (which will be required later), follow these steps: + - To obtain the value of the Auth URL field and the tenant + id (which will be required later), follow these steps: - - Note: The actual steps depend on the OpenStack Dashboard version and vendor. + - Note: The actual steps depend on the OpenStack Dashboard + version and vendor. - Go to OpenStack Horizon Dashboard. @@ -175,7 +211,9 @@ Add the VNFM driver to ONAP - Copy the value of Authentication URL and paste it in the Auth URL field. - - Note the value of Project ID: this is the <tenantId> which will be required later (Repeat this step for all tenants planned to be used within the VIM.) + - Note the value of Project ID: this is the <tenantId> which will be + required later (Repeat this step for all tenants planned to be used + within the VIM.) - Click Save. @@ -189,11 +227,15 @@ Add the VNFM driver to ONAP - Repeat this step for all tenants planned to be used within the VIM. - - Using a REST client of your choice, send a request to the following URL: https://aai.api.simpledemo.onap.org:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/<cloudOwner>/<cloudRegion>/tenants/tenant/<tenantId> + - Using a REST client of your choice, send a request to the following + URL: https://aai.api.simpledemo.onap.org:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/<cloudOwner>/<cloudRegion>/tenants/tenant/<tenantId> - - download the content of the request: `aai.create.tenant.request.json <sample/aai.create.tenant.request.json>` + - download the content of the request: + `aai.create.tenant.request.json <sample/aai.create.tenant.request.json>` - - In the request URL and in the content of the request, substitute <tenantId>, <cloudRegion> and <cloudOwner> with the respective values. + - In the request URL and in the content of the request, + substitute <tenantId>, <cloudRegion> + and <cloudOwner> with the respective values. - HTTP method: PUT @@ -217,9 +259,12 @@ Add the VNFM driver to ONAP - Using a REST client of your choice, send a request to the following URL: https://aai.api.simpledemo.onap.org:8443/aai/v11/business/customers/customer/123456 - - download the content of the request: `aai.create.customer.request.json <sample/aai.create.customer.request.json>` + - download the content of the request: + `aai.create.customer.request.json <sample/aai.create.customer.request.json>` - - In the downloaded content of the request, substitute <tenantName>, <tenantId>, <cloudRegion> and <cloudOwner> with the respective values. + - In the downloaded content of the request, + substitute <tenantName>, <tenantId>, <cloudRegion> + and <cloudOwner> with the respective values. - HTTP method: PUT @@ -241,7 +286,8 @@ Add the VNFM driver to ONAP - Result: The ONAP platform opens - - The VNFM has four end points. These end points must be configured in the external system configuration of the VNFM. + - The VNFM has four end points. These end points must be + configured in the external system configuration of the VNFM. - Authentication endpoint: https://$CBAM_IP:443/auth/ @@ -303,7 +349,8 @@ Add the VNFM driver to ONAP - Accept: application/json - - Look for the previously registered VNFM and note the value of (vnfm-id) <vnfmId>. + - Look for the previously registered VNFM and + note the value of (vnfm-id) <vnfmId>. Configure the SVNFM driver (generic) @@ -333,9 +380,11 @@ Configure the SVNFM driver (generic) - Execute the following command: docker ps - - Find the required container and note the CONTAINER ID (first column/first row on the list). + - Find the required container and note the + CONTAINER ID (first column/first row on the list). -- Verify if the VNFM driver has been successfully started by executing the following commands: +- Verify if the VNFM driver has been successfully + started by executing the following commands: .. code-block:: console @@ -353,16 +402,21 @@ Configure the SVNFM driver (generic) Configure the SVNFM driver (ONAP demo environment) -------------------------------------------------- -This step is executed instead of the "Configure the SVNFM driver (generic)" in case of an ONAP demo environment. +This step is executed instead of +the "Configure the SVNFM driver (generic)" in case of +an ONAP demo environment. - Configure the already running instance: - - Execute the following command: docker exec -it `docker ps | grep nokiav2 | awk '{print $1}'` /bin/bash + - Execute the following command: + docker exec -it `docker ps | grep nokiav2 | awk '{print $1}'` /bin/bash - Edit /service/application.properties: - - In this file, change the default values of the following keys to the correct values: vnfmId + - In this file, change the default values of the following + keys to the correct values: vnfmId - Restart the VNFM service - - Execute the following command: kill -9 `ps -ef | grep java | grep -v grep | awk '{print $2}'`
\ No newline at end of file + - Execute the following command: + kill -9 `ps -ef | grep java | grep -v grep | awk '{print $2}'` diff --git a/nokiav2/docs/samplevnf.rst b/nokiav2/docs/samplevnf.rst index 3228786d..e188228c 100644 --- a/nokiav2/docs/samplevnf.rst +++ b/nokiav2/docs/samplevnf.rst @@ -71,4 +71,5 @@ Simple Dual - NS heal request on VF-C API: :download:`heal.json <sampleVnfs/simpleDual/vfc.ns.heal.request.json>` (several fields must be changed to fit actual environment) -- VNF scale request on VF-C API: :download:`scale.json <sampleVnfs/simpleDual/vfc.vnf.scale.request.json>` (several fields must be changed to fit actual environment)
\ No newline at end of file +- VNF scale request on VF-C API: :download:`scale.json <sampleVnfs/simpleDual/vfc.vnf.scale.request.json>` (several fields must be changed to fit actual environment) + diff --git a/nokiav2/docs/so.rst b/nokiav2/docs/so.rst index bd7c521d..7ecf4520 100644 --- a/nokiav2/docs/so.rst +++ b/nokiav2/docs/so.rst @@ -10,7 +10,7 @@ Requirements on the VNF package - each VDU must have a corresponding software image named <vduname>_image - the VNF integrator must use the availability zones to specify the location of the VNFCs. One availability zone -will be defined for each VDU + will be defined for each VDU Limitations of the current release ---------------------------------- @@ -23,4 +23,4 @@ Open questions - What is the vnfVersion in Mso - What is the requestType in vnfCreate -- What is the meaning of the tenantCreated field in rollback
\ No newline at end of file +- What is the meaning of the tenantCreated field in rollback diff --git a/nokiav2/docs/vnfintegration.rst b/nokiav2/docs/vnfintegration.rst index 02282685..d4e3d04d 100644 --- a/nokiav2/docs/vnfintegration.rst +++ b/nokiav2/docs/vnfintegration.rst @@ -13,7 +13,7 @@ Manual ------ - the VNF must declare the externalVnfmId and onapCsarId as modifyable attribute in CBAM package. Each should have -a default value. (The concrete value will be filled out by CBAM) + a default value. (The concrete value will be filled out by CBAM) - each operation must declare a jobId additional parameter in CBAM package (value will be filled out by CBAM) - the heal operation must declare the jobId, vmName, vnfcId and action parameters in CBAM package (values will be filled out by CBAM) - each operation (including built-in) must include the following section as the last pre_action (all JS are provided by CBAM) |