summaryrefslogtreecommitdiffstats
path: root/docs/Chapter5/Heat/ONAP Heat Resource ID and Parameter Naming Convention/{vm-type}.rst
blob: 272a61894b2486869b0bbae9c4eb688c1c73c7f4 (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
123
124
125
126
127
.. 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
    :validation_mode: static
    :updated: casablanca

    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

Requirements in this document will explain it in further detail.

.. req::
    :id: R-82481
    :target: VNF
    :keyword: MUST
    :validation_mode: none
    :updated: dublin

    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.

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

    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
    :validation_mode: static
    :updated: casablanca

    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
    :validation_mode: static
    :updated: casablanca

    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
    :validation_mode: static
    :updated: casablanca

    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.