7a09f0db533688025ce71ff0cd026e485f027601
[doc.git] / docs / guides / onap-user / design / pre-onboarding / index.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2019 ONAP Contributors. All rights reserved.
4
5 .. _doc_guide_user_des_pre-onb:
6
7 Pre-Onboarding
8 ==============
9
10     * `Create a Tenant`_
11     * `Validate VFs (Virtual Functions)`_
12     * `Generate Manifest and Package Artifacts`_
13
14 Create a Tenant
15 ---------------
16
17 Each service requires a tenant_ (a group of users who share a common access)
18 in which resources are stored in the cloud. This process is performed using
19 facilities of the network cloud, outside of ONAP. Confirm that the tenant is
20 created and note the tenant ID.
21
22 ONAP admin users can configure a cloud-owner to add new cloud resources.
23 These are the computing and networking resources, that will support
24 running VNFs. A cloud-owner holds a keystone URL, login, region and
25 password, in the case of an Openstack cluster. A cloud-owner also
26 belongs to a region. The region name should be the same as the Openstack
27 region. Prior to creation of a cloud-owner, its region must be created
28 first. Multiple tenants can share the same cloud-owner. Note that these
29 tenants are ONAP tenants, not Openstack tenants. Tenant register
30 services that customers are allowed to deploy. Finally, the customer is
31 like an instance of the tenant.
32
33 Note: there is no GUI (yet) to configure these objects. REST requests
34 are sent to AAI to achieve the configuration. For a detailed list of
35 required REST commands see:
36
37 https://wiki.onap.org/display/DW/running+vFW+Demo+on+ONAP+Amsterdam+Release
38
39 The overall process is as follows:
40
41  #. Create a region and a cloud-owner. This steps registers Openstack
42     credentials. This is the only step requiring entering Openstack specific
43     parameters.
44
45  #. Create a complex. The complex describes the coverage of the region with
46     a street address etc.
47
48  #. Create a service. The service name should match the name of the service
49     onboarded in SDC.
50
51  #. Create a tenant. Tenant in ONAP stores a design for a generic customer.
52
53  #. Associate tenants with their allowed services.
54
55  #. Create an instance of the tenant or customer. The customer is visible in
56     VID. A VID user can deploy allowed services on this new customer.
57
58    |image1|
59
60
61 Validate VFs (Virtual Functions)
62 --------------------------------
63
64 Prior to resource onboarding, the Certification Group does the following:
65
66  - onboards the Heat template(s) and metadata to the SDC catalog
67  - creates a test VF
68  - runs the Heat scanning tools
69  - shares the results with any group that approves Virtual Functions
70
71 In parallel, the Certification Group onboards the VF Image and OS to a
72 standalone ONAP instance (the "sandbox") and performs the following:
73
74  - security scan
75  - compatibility test for the OS and vendor binary
76  - malware scan
77
78 The Certification group then instantiates the VF image using the vendor
79 Heat (if provided) in order to validate that the VM can run on the Network
80 Cloud.
81
82 No VF functionality testing is performed at this stage.
83
84
85 Generate Manifest and Package Artifacts
86 ---------------------------------------
87
88 Before onboarding resources, run generate-manifest.py to generate a
89 MANIFEST file. These steps are performed outside SDC.
90
91 OBSOLETE: **Prerequisites:** Obtain Heat/ENV files and other files required for
92 onboarding. See the reference document `VNF Heat Template Requirements
93 for OpenECOMP <https://wiki.onap.org/download/attachments/1015849/VNF%20Heat%20Template%20Requirements%20for%20OpenECOMP.pdf?version=2&modificationDate=1487262292000&api=v2>`__ for details.
94
95 UPDATE: see VNF Modeling Requirements / HEAT: https://onap.readthedocs.io/en/casablanca/submodules/vnfrqts/requirements.git/docs/Chapter5/Heat/index.html
96
97 #. Put the Heat, ENV, nested Heat, and other files used by get-file in templates
98    in a directory.
99
100    Naming guidelines:
101
102     - The base Heat should include "base" in the name.
103     - The ENV file name should match the name of the Heat file with which it
104       is associated.
105     - All get-file file names need to be unique.
106
107 #. Put the python script in a directory one level above the directory that
108    contains the Heat/ENV and other files.
109
110    For example, [dir x]/[dir y]
111
112     - [dir y] contains the Heat/ENV files and other files
113     - [dir x] contains the python script
114
115 #. Run the script on the Windows command line:
116
117    .. code-block::
118
119     python generate-manifest.py -f "dir y"
120
121 #. Examine the manifest file and confirm that is correct.
122
123 #. Package all Heat/ENV files, all other files, and the MANIFEST.json
124    into one .zip file.
125
126
127 .. |image1| image:: media/tenant.png
128 .. _tenant: https://wiki.onap.org/display/DW/Glossary#Glossary-tenant