.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright 2019 ONAP Contributors. All rights reserved.

.. _doc_guide_user_des_res-onb:

Resource Onboarding
===================
**Goal:** Add models and other artifacts required to create, configure,
          instantiate, and manage a VF and, optionally, a VFC.

**Tool:** SDC

**SDC user role:** Designer

|image0|

**Steps**
    * `Create a License Model`_
    * `Create a License Key Group [Optional]`_
    * `Create an Entitlement Pool`_
    * `Create a Feature Group`_
    * `Create a License Agreement`_
    * `Create a Vendor Software Product`_
    * `Update VFCs in a VSP [optional]`_
    * `Update a VSP [optional]`_

After updating the artifacts in a VSP, also update:
    * the VF created from the VSP
    * any services that include the VF

|image1|

.. _doc_guide_user_des_res-onb_cre-lic:

Create a License Model
----------------------

VSPs optionally require a license and entitlements to enable the service
provider to track the usage.

Note: For interim saving while creating the license model and its components,
click |image2|

**Prerequisites:** To obtain license information, contact the service
                   provider's Supply Chain Management (SCM) group.

|image3|

#. From the SDC HOME page, click *ONBOARD*.
#. Hover over Add and select New License Model.
#. Complete all fields.
#. Click *Save*.
#. In the ONBOARD header, hover over the arrow after License Agreements to
   reveal a menu.
   Select the following options in order:

   #. Create 0 or more license key groups (see
      `Create a License Key Group [Optional]`_).
   #. Create 1 or more entitlement pools (see `Create an Entitlement Pool`_).
   #. Create 1 or more feature groups (see `Create a Feature Group`_).
   #. Create 1 or more license agreements (see `Create a License Agreement`_).

      Note: Perform all steps above before submitting the license model to
      the SDC catalog.

#. In the header, click the license model created in steps 1 to 4.
#. Click *Check In* to save changes.
#. Click *Submit* to add the license model to the catalog. A success message
   displays.
#. After creating a license, complete `Create a Vendor Software Product`_ to
   add the VSP required for the associated VF.

Create a License Key Group [Optional]
-------------------------------------

If required by the resource model, create one or more license key groups;
otherwise the license key group is optional.

**Prerequisites:** `Create a License Model`_

|image4|

1. From the drop-down menu, select License Key Groups.
2. Click *Add License Key Group*.
    The Create New License Key Group box displays.
3. Complete all fields.
    Note: Enter the manufacturer reference number in the Name field.
4. Click *Save*.

Create an Entitlement Pool
--------------------------

**Prerequisites:** If required by the resource model, create one or more
                   license key groups (see
                   `Create a License Key Group [Optional]`_).

|image5|

1. From the drop-down menu, select Entitlement Pools.
2. Click *Add Entitlement Pool*.
    The Create New Entitlement Pool box displays.
3. Complete required fields (mandatory fields are marked by a red asterisk).
4. Click *Save*.

Create a Feature Group
----------------------

**Prerequisites:** Create one or more:

* license key groups if required by the resource model
  (see `Create a License Key Group [optional]`_)
* entitlement pools (see `Create an Entitlement Pool`_)

|image6|

1. From the drop-down menu, select Feature Groups.
2. Click *Add Feature Group*.
    The Create New Feature Group box displays.
3. On the General tab, complete all fields.
4. Click *Entitlement Pools*.
5. Click *Available Entitlement Pools*.
6. Select one or more entitlement pools and click the right arrow.
7. Click *License Key Groups*.
8. Click *Available License Key Groups*.
9. Select one or more license key groups and click the right arrow.
10. Click *Save*.

Create a License Agreement
--------------------------

**Prerequisites:** Create one or more feature groups
                   (see `Create a Feature Group`_).

|image7|

1. From the drop-down menu, select License Agreements.
2. Click *Add License Agreement*.
    The Create New License Agreement box displays.
3. On the General tab, complete required fields (mandatory fields are marked
   by a red asterisk).
4. Click *Feature Groups*.
5. If not selected, click *Available Feature Groups*.
6. Select one or more groups and click the right arrow.
7. Click *Save*.
8. Return to step 5 of `Create a License Model`_ to complete the license model.

.. _doc_guide_user_des_res-onb_cre-vsp:

Create a Vendor Software Product
--------------------------------

Create one or more Vendor Software Products (VSPs) as the building blocks
for VFs.

.. note::
   For interim saving while creating a VSP, click |image2|

**Prerequisites:**

* `Create a License Model`_
* Existing VNF HEAT package or VNF/PNF CSAR/Zip package

#. From the SDC HOME page, click *ONBOARD*.
#. Hover over Add and select New Vendor Software Product.
#. The New Software Product box is displayed.
    Complete all fields.
#. Click *Save*.
    The Overview section is displayed.

   .. note::
     A warning is displayed under License Agreement if the VSP does not have
     an associated license.

#. Click *Software Product Details* (left pane).

   |image8|

#. In order, select a licensing version, a license agreement, and one or more
   feature groups.
#. [Optional] Complete other fields, such as Availability (high-availability
   zones) and Storage Data Replication (requirement for storage replication),
   as required.
#. In Software Product Attachments (right pane), click *Select file*.
#. In case of a VNF HEAT file: Locate the Heat .zip package and click *Open*.
   In case of a VNF or PNF CSAR file: Locate the VNF or PNF csar/.zip package
   and click *Open*.
#. SDC validates the files in the package. After successful validation, SDC
   displays the files and a success message. If validation fails, SDC displays
   the errors in the files.

   Example Heat errors:

   |image9|

#. Click *Check In* to save the changes.
#. Click *Submit* to add the VSP to the catalog.
#. A success message is displayed. If the VSP attachments contain errors, an
   error message is displayed instead. Fix the issue(s) and re-submit.
#. To configure VFCs associated with the VSP, see
   `Update VFCs in a VSP [optional]`_, below.


.. _doc_guide_user_des_res-onb_upd-vfc:

Update VFCs in a VSP [optional]
-------------------------------

If required, configure Virtual Function Components (VFCs) associated with a
VSP, such as the Hypervisor, VM recovery details, and cloning. VFCs are listed
on the Components tab.

.. note::
  All fields are optional. Answers to questionnaires are stored as metadata
  only on the SDC platform.

**Prerequisites:** Add one or more VSPs
                   (see `Create a Vendor Software Product`_).

#. From the SDC HOME page, click *ONBOARD* and search for a VSP.
#. In the Overview section, click *Check Out*.
#. In Components (bottom pane), click a VFC (VSP component).
    The component links display in the left pane.
#. Click *General* to view and edit general parameters such as hypervisor,
   image format, VM recovery details, and DNS configuration.
#. Click *Compute* to view and edit VM parameters such as the number of VMs
   required for a VFC instance and persistent storage/volume size.
#. Click *High Availability & Load Balancing* to answer questions related
   to VM availability and load balancing.
#. Click *Networks* to view or edit parameters related to network capacity
   and interfaces.

   .. note::
     Click an interface to view or edit it. A dialog box displays similar
     to the figure below.

   |image10|

#. Click *Storage* to configure storage information, such as backup type,
   storage size, and logging.
#. Click *Process Details*, click *Add Component Process Details*, and complete
   the Create New Process Details dialog box. Use Process Details to identify
   the processes and configuration associated with VFCs.
#. Click *Monitoring* to upload MIB or JSON files for SNMP traps and polling.
#. Click *Overview* and click *Check In* to save changes.
#. If updating a VSP, click *Submit*. If this procedure is performed during the
   workflow to create a VSP, there is no need to click *Submit* now.

.. _doc_guide_user_des_res-onb_upd-vsp:

Update a VSP [optional]
-----------------------

Upload a new Heat package to a VSP. Afterward, update the VF and service.

**Prerequisites:** Add one or more VSPs
                   (see `Create a Vendor Software Product`_).

#. From the SDC HOME page, click *ONBOARD* and search for a VSP.
#. In the Overview section, click *Check Out*.
#. In Software Product Attachments (right pane), click *Select file*.
#. In case of a VNF HEAT file: Locate the Heat .zip package and click *Open*.

   In case of a VNF or PNF CSAR file: Locate the VNF or PNF csar/.zip package
   and click *Open*.

    SDC warns that uploading a new package erases existing data.
#. Click *Continue* to upload the new package.
    SDC validates the files in the package. After successful validation, SDC
    displays the files and a success message. If validation fails, SDC displays
    the errors in the files.

   .. note::
     If the Heat template contains errors, contact the Certification Group for
     guidance on how to proceed.

#. Click *Check In* to save changes.
#. Click *Submit* to add the VSP to the catalog.
    A success message is displayed. If the VSP attachments contain errors, an
    error message is displayed instead. Fix the issue(s) and re-submit.
#. After updating the VSP:
    #. Upload the VSP to the VF
       (see steps 3 to 5 in :ref:`doc_guide_user_des_vf-cre`).
    #. Update the VF version in services that include the VF (see step 4
       in :ref:`doc_guide_user_des_ser-des`).


.. |image0| image:: media/sdro-resource-onboarding-workflow.png

.. |image1| image:: media/sdro-vsp-service-workflow.png

.. |image2| image:: media/sdro-sdc_vsp_save.png

.. |image3| image:: media/sdro-license-creation.png

.. |image4| image:: media/sdro-license-keygroup.png

.. |image5| image:: media/sdro-entitlement-pool.png

.. |image6| image:: media/sdro-feature-group.png

.. |image7| image:: media/sdro-license-agreement.png

.. |image8| image:: media/sdro-software-product.png

.. |image9| image:: media/sdro-design_onboardvsp_heaterrors.png

.. |image10| image:: media/sdro-edit-nic.png