summaryrefslogtreecommitdiffstats
path: root/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst
blob: ddfb3516953ba6c554a98ea9f4771c63e570dcfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
.. Licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 AT&T Intellectual Property.  All rights reserved.


{vm-type}
---------


.. req::
    :id: R-01455
    :target: VNF
    :keyword: MUST
    :updated: dublin
    :validation_mode: static

    When a VNF's Heat Orchestration Template creates a Virtual Machine
    (i.e., ``OS::Nova::Server``),
    each "class" of VMs **MUST** be assigned a VNF unique
    ``{vm-type}``; where "class" defines VMs that
    **MUST** have the following identical characteristics:

      1.) ``OS::Nova::Server`` resource property ``flavor`` value

      2.) ``OS::Nova::Server`` resource property ``image`` value

      3.) Cinder Volume attachments

        - Each VM in the "class" **MUST** have the identical Cinder Volume
          configuration

      4.) Network attachments and IP address requirements

        - Each VM in the "class" **MUST** have the identical number of
          ports connecting to the identical networks and requiring the identical
          IP address configuration.

The ``{vm-type}`` will be used in a VNF's Heat Orchestration Template's

* Resource IDs
* Resource property parameter names

A VNF's Heat Orchestration Template's Resource property parameter that is
associated with a unique Virtual Machine type **MUST** include
``{vm-type}`` as part of the parameter name with two exceptions:

1.) The Resource ``OS::Nova::Server`` property ``availability_zone``
parameter **MUST NOT** be prefixed with a common ``{vm-type}`` identifier,

2.) The Resource ``OS::Nova::Server`` mandatory and optional
``metadata`` parameters

 * ``vnf_name``
 * ``vnf_id``
 * ``vf_module_id``
 * ``vf_module_name``
 * ``vf_module_index``
 * ``environment_context``
 * ``workload_context``

**MUST NOT** be prefixed with a common ``{vm-type}`` identifier.

Requirements for specific resource property parameter names can be
found in later sections of this document.


.. req::
    :id: R-98407
    :target: VNF
    :keyword: MUST NOT
    :updated: casablanca
    :validation_mode: static

    A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST** contain only
    alphanumeric characters and/or underscores '_' and **MUST NOT**
    contain any of the following strings:
    ``_int`` or ``int_`` or ``_int_``.

.. req::
    :id: R-48067
    :target: VNF
    :keyword: MUST NOT
    :updated: casablanca
    :validation_mode: static

    A VNF's Heat Orchestration Template's ``{vm-type}`` **MUST NOT** be a
    substring
    of ``{network-role}``.

It may cause the VNF Validation Program validation-scripts project
to produce erroneous error messages.


.. req::
    :id: R-32394
    :target: VNF
    :keyword: MUST
    :updated: casablanca
    :validation_mode: static

    A VNF's Heat Orchestration Template's use of ``{vm-type}`` in all Resource
    property parameter names **MUST** be the same case.

.. req::
    :id: R-46839
    :target: VNF
    :keyword: MUST
    :updated: casablanca
    :validation_mode: static

    A VNF's Heat Orchestration Template's use of ``{vm-type}``
    in all Resource IDs **MUST** be the same case.

.. req::
    :id: R-36687
    :target: VNF
    :keyword: SHOULD
    :updated: casablanca

    A VNF's Heat Orchestration Template's  ``{vm-type}`` case in Resource
    property parameter names **SHOULD** match the case of ``{vm-type}``
    in Resource IDs and vice versa.