1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) 2017 OPNFV Ulrich Kleber (Huawei)
6 Scenario Descriptor Files
7 ----------------------------
9 What are Scenario Descriptor Files?
10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 Every scenario is described in its own descriptor file.
13 The scenario descriptor file will be used by several parties:
15 * Installer tools will read from it the list of components to be installed
16 and the configuration (e.g. deployment options and necessary details) to use.
17 * The dynamic CI process will read from it the prerequisites of the scenario
18 to select the resource that has the needed capabilities for the deployment.
19 It will also select the installer
20 from the list of supported installers and the other deployment options as
21 supported in their combination.
23 The dynamic CI process will provide the installers with the deployment option
24 to use for a particular deployment.
26 * The scenario owner needs to provide the descriptor file.
28 When compiling it the scenario owner typically needs to work together with
29 the installers, so the installers will support the required components and
31 * The testing framework can read from the scenario descriptor file necessary
32 information to know which features can be tested on the scenario.
33 * The scenario descriptor file will also contain some maintenance information
37 ^^^^^^^^^^^^^^^^^^^^^^^^^^
39 The scenario descriptor file is a yaml file. The syntax will allow to specify
40 additional descriptor files, to make it better readable or structure common
41 configurations across multiple scenarios.
43 The file has following main sections:
45 * metadata (owner, history, description)
46 * list of components (names, versions, submodules)
47 * deployment options (HA/NOHA, hardware&virtualization, installers, including
48 possible combinations and necessary details)
49 * other prerequisites (e.g. memory requirement more than pharos spec)
50 * list of features to be tested
52 More information to be provided in next version of this document. The file will
53 be defined based on the installer-specific files for scenario specification
54 used by the 4 installers in Danube release. Thus it will be made sure that the
55 information needed by the installers will be covered.
57 All scenario files will be stored in a central repo, e.g. Octopus. There will
58 also be a commented template to help create scenario descriptor files.
62 ^^^^^^^^^^^^^^^^^^^^^^^^^^
64 In Danube timeframe only Fuel installer has some metadata in the descriptor file.
65 The new template contains:
69 This is a free name, there is a recommendation to take fish for names, matching
70 OPNFV release naming with rivers.
74 This should be a short descriptive text telling the main purpose
76 * A version number for the descriptor file
78 Three digits, separated with dots, as used by Fuel in Danube
83 The file should contain a clear description of the purpose of the scenario,
84 including the main benefits and major features.
85 If applicable, the parent scenario should be mentioned.
87 * First OPNFV version to use the scenario
90 * A list of additional contact persons, e.g. from installers or major components
95 In this section all components are listed together with their version.
96 For some components in addtion submodules can be listed.
98 More details will be added.
102 ^^^^^^^^^^^^^^^^^^^^^^^^^^
104 This section will list the supported deployment options. In each category at least
105 one option must be supported.
107 * hardware (cpu) types (intel or ARM)
108 * Virtualization (bare-metal or vPOD)
109 * availability (HA or NOHA)
111 This subsection needs to specify also what does an HA deployment need, e.g.:
121 - openstack-controller
127 - openstack-controller
133 - openstack-controller
147 - openstack-controller
160 * deployment tool (apex, compass, fuel, daisy, joid)
162 In the section for each deployment tool, the combinations of the first three
163 options have to be listed, e.g.:
182 Please note that this allows easy definition of other availability options
183 including scaling and redundant configuration of SDN controllers.
187 ^^^^^^^^^^^^^^^^^^^^^^^^^^
189 This section will list additional prerequisites. Currently there is only
190 one case where a scenario has additional prerequisites to the Pharos spec.
191 E.g. a component could requires more RAM on the nodes than defined in
193 In general it should be preferred to issue such requirements to pharos
194 using the pharos change request process, but in some cases in might be
195 better to specify additional prerequisites.
197 Another use case for these prerequisites will be usage of specilized
198 hardware, e.g. for acceleration. This needs further study.
200 The section can be empty or omitted.
206 This section will provide information for functest and yardstick to decide
207 on the proper test cases for the scenario.
209 More details will be added.
215 This descriptor file might get quite long and complex. Also some of the settings
216 will be shared between several scenarios, e.g. a long OpenStack module list.
218 Therefore it shall be possible to reference another file like a macro.
219 In that case all the file content is included in that place, e.g.:
226 file: odl-ha-configuration.yaml