2 ##############################################################################
3 # Copyright (c) 2017 Huawei and others.
4 # ulrich.kleber@huawei.com
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
11 ##############################################################################
13 # This is the template for all scenario descriptor files (sdf)
14 # Every OPNFV scenario is described in an sdf.yaml located in the
15 # scenarios folder in Octopus repo.
16 # The sdf is provided by the scenario owner and consumed by CI, deployment
17 # tools and test frameworks.
21 # metadata (owner, history, description)
22 # list of components (names, versions, submodules)
23 # deployment options (HA/NOHA, hardware&virtualization, installers,
25 # other prerequisites (e.g. memory requirement more than pharos spec)
27 # More details can be found in the scenario lifecycle document.
28 ##############################################################################
30 ##############################################################################
31 # scenario meta-data # Metadata describing this sdf.yaml file and the
32 # scenario history and purpose.
34 name: SDF-Template # mandatory
35 # This is a free name.
36 # For Generic scenarios, the main distiguishing components can be included in
37 # the name. The name will be approved by TSC when the generic scenario is
38 # established. Examples: OS-ODL-OVSNSH, OS-ONOS, OS-ODL-FDIO,
39 # OS-OVSBasic, OS-FDIOBasic, ...
40 # For specific scenarios, the name should characterize the main
41 # feature that is implemented here. Examples: Bgpvpn, Netvirt-gbp-vpp,
42 # Dpdk-bar, Onos-sfc, ...
43 # Final rules for naming will be set by the lifecycle document and TSC
45 title: "SDF template" # mandatory
46 # descriptive text title maximum 10-12 words telling the main purpose
47 generic-scenario: false # optional, default = false
48 version: 1.0.6 # mandatory
49 # version number of the sdf, three digits separated with dots
50 creation-date: 2017-05-09 # mandatory
51 # creation of this sdf file version
52 # Please add a clear description of the purpose of the scenario, including
53 # the main benefits and major features (mandatory).
54 # If applicable, the parent scenario should be mentioned.
55 opnfv-release: euphrates # mandatory
56 # the first opnfv release, the scenario was introduced
58 - begins: 5.1.0 # mandatory
59 # the first opnfv version, the scenario was released with
60 - ends: 7.3.0 # optional
61 # the last opnfv version that supports this scenario. Typically the features
62 # of the scenario should have been merged to generic scenarios then
63 owner: Ulrich Kleber, ulrich.kleber@huawei.com # mandatory
64 # author of this file and thus owner of the scenario
65 # Add additional contact persons e.g. from installers or major components
67 ##############################################################################
69 ##############################################################################
71 # All components/submodules/features in the list shall be deployed
72 components: # mandatory section
73 # In this section all components are listed together with their version.
74 # For some components in addtion submodules or optional features can
76 - sdn-controller: # optional, default = no sdn controller
77 # most important categories here are: sdn-controller, cloud-controller,
78 # storage, virtual-switching, dataplane, nfvo, vnfm, but new categories
79 # can be introduced any time.
80 # Every component to be deployed should be listed with such a section.
81 # If the component has submodules or optional features, they also need
83 type: opendaylight # mandatory, other options e.g.onos, ocl, ovn
84 release: boron # either release or version or both must be given
85 # upstream version, human readable release name
87 # exact semantic version including patch level
88 # Normally installers will not be able to pick exact semantic versions, but
89 # if the scenario requires specific versions, this can be checked offline.
90 # Following syntax variants can be allowed as well:
94 # additional feature configurations as recognized by the installers.
102 - cloud-controller: # seems to me mandatory
103 type: openstack # other option could be kubernetes
104 release: ocata # either release or version or both must be given
106 # An OPNFV version can go only with one openstack version.
107 # Typically installers cannot pick different openstack version,
108 # but this can be checked offline.
110 # Installers have a basic set of modules that are deployed by
111 # default. Those can be listed optional. Scenario owners can
112 # list additional optional modules with their name as on
113 # https://wiki.openstack.org/software/project-navigator, but
114 # with lower case and dashes, Examples: tacker, kuryr, horizon,
115 # vitrage, chef-openstack, openstack-charms, etc.
116 # Independent of big tent, modules can be used if installers
117 # support their deployment.
124 features: # In some cases features need to be listed specifically
125 - bgpvpn # listing service plugins as neutron features makes
126 # it easier for installers, they don't need to take this
127 # information from the features field in the sdn-controller.
132 - virtual-switching: # optional
133 # showing with this example how to include a separate
134 # configuration file for this
136 release: xx # either release or version or both must be given
140 file: scenarios/ovs-config.yaml
141 # this file then should contain additional configurations to use like
142 # hugepage-size, iommu, ...
143 # it will be treated like a C #include statement.
144 # Please note, the template cannot show all possible options here. There will be
145 # more in an additional document.
146 # Correct usage of the keywords/options will be enforced by a schema.
147 # Also note that some component related deployment information will be
148 # in the options section.
149 ##############################################################################
151 ##############################################################################
153 # In this section, CI will select one of the listed options and needs to pass
154 # the information to the installer via a parameter or environment.
155 deployment-options: # mandatory
156 deployment-types: # at least one section must be provided
162 # $$$$ Discussion open whether we need features here after adding
163 # them in roles section
167 # $$$$ Discussion open whether this is necessary here.
172 # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
173 # Discussion open how to specify the distribution of components on nodes.
175 # 1. specify availability options ha, noha by placing functions on nodes
176 # 2. specify roles like compute-node, controller-node and only their number,
177 # thus avoid coupling with hostnames and more flexible mapping to different
179 # 3. Leave it to installers and just specify whether ha or noha are supported
180 # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
182 availability: # mandatory
183 # here the configuration for a HA and NONHA deployment is described.
184 # It is similar to what compass has in host section (minus the POD info),
185 # or fuel in the dea-override-config or dha-override-config
186 - ha: # minimum one of ha or noha must be specified
187 nodes: # a description like this is mandatory
188 - name: [host1, host2, host3] # avoid to list the same multiple times
190 # took this from compass. Is it sufficient?
191 - openstack-controller
195 - name: [host4, host 5]
203 - openstack-controller
216 # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
220 components: # list all components that are deployed here.
223 - ceph: [ceph-adm, ceph-mon]
232 - jump-host: # some scenarios, e.g. MANO might deploy components here
234 role-distribution: # mandatory
244 # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
246 # no specification of nodes/roles here. ha, noha are defined by installers
248 deployment-tools: # mandatory
249 # In the section for each deployment tool, the combinations of the
250 # first three options have to be listed. CI can pick any of the sections.
251 - fuel: # at least one section
252 cpu: intel # optional, default = intel
276 ##############################################################################
278 ##############################################################################
280 # This section will list additional prerequisites. Currently there is only
281 # one case where a scenario has additional prerequisites to the Pharos spec.
282 # Open-O deployment requires 64GB of memory while Pharos spec requires 32GB.
283 # In general it should be preferred to issue such requirements to pharos
284 # using the pharos change request process, but in some cases in might be
285 # better to specify additional prerequisites.
286 # Another use case for these prerequisites will be usage of specilized
287 # hardware, e.g. for acceleration. This needs further study.
289 prerequisites: # The section can be empty or omitted.
290 - controller-node: # Prerequisites might be different
291 RAM: 128GB # optional, just to give examples
293 features: # optional, see example below
299 - jumphost: # Prerequisites can be given also for jumphost
303 ##############################################################################