Merge "Use odl v1 mechanism driver of L2 scenario" into stable/colorado
[fuel.git] / deploy / scenario / README
1 ##############################################################################
2 # Copyright (c) 2015 Ericsson AB and others.
3 # jonas.bjurel@ericsson.com
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 Abstract:
11 ---------
12 The directory contains configuration files for different OPNFV deployment
13 feature scenarios used by Fuel@OPNFV, eg.:
14 - High availability configuration
15 - Type of SDN controller to be deployed
16 - OPNFV collaboration project features to be deployed.
17 - Provisioning of any other sevices
18
19 Creating a new plugin
20 ---------------------
21 Creating a new plugin involves creating a plugin config yaml file in
22 /deploy/config/plugins. The filename should comply to following structure:
23 fuel-<plugin_name>.yaml.
24 The plugin configuration must include plugin configuration metadata as below:
25
26 plugin-config-metadata:
27   title:
28   version:
29   created:
30   comment:
31
32 Moreover, naturaly the plugin configuration must include the plugin yaml
33 fragment, eg:
34
35 opendaylight:
36   metadata:
37     enabled: true
38     label: OpenDaylight Lithium plugin
39 .......
40
41 Creating a new deployment scenario
42 ----------------------------------
43 Creating a new deployment scenario involve creating a deployment scenario
44 yaml file under deploy/scenario/. The filename should comply to following
45 format: <ha | no-ha>_<SDN Controller>_<feature-1>_..._<feature-n>.yaml
46
47 The deployment configuration file must contain configuration metadata as stated
48 below:
49
50 deployment-scenario-metadata:
51    title:
52    version:
53    created:
54    comment:
55
56 To include fuel plugins, use the stack-extentions key:
57 stack-extensions, eg:
58
59 stack-extensions:
60    - module: opendaylight
61      module-config-name: fuel-odl
62      module-config-version: 0.0.1
63      module-config-override:
64        # Module config overrides
65        rest_api_port:
66          value: '8282'
67        enable_gbp:
68          value: false
69        enable_l3_odl:
70          value: true
71        enable_sfc:
72          value: false
73
74 "module-config-name" and "module-config-version" must correspond to how
75 the plugin configuration yaml was named.
76 Everything under the "module-config-override" overrides the corresponding
77 keys in the plugin config yaml file, this can for instance be used to configure
78 the plugin.
79
80 Everything under the "dea-override-config" overrides corresponding keys in the dea_base.yaml and dea_pod_override.yaml.
81 You must at least provide {environment:{mode:'value},{net_segment_type:'value'}
82 and {nodes:....} in order to configure the HA mode, network segmentation types
83 and role to node assignments.
84 Other ovverides may also be used to enable stack features such as ceph, heat,
85 etc.
86 Example:
87
88 dea-override-config:
89   environment:
90     mode: ha
91     net_segment_type: tun
92   nodes:
93   - id: 1
94     interfaces: interfaces_1
95     role: mongo,controller,opendaylight
96   - id: 2
97     interfaces: interfaces_1
98     role: mongo,controller
99   - id: 3
100     interfaces: interfaces_1
101     role: mongo,controller
102   - id: 4
103     interfaces: interfaces_1
104     role: ceph-osd,compute
105   - id: 5
106     interfaces: interfaces_1
107     role: ceph-osd,compute
108
109   settings:
110     editable:
111       additional_components:
112         ceilometer:
113           description: If selected, Ceilometer component will be installed
114           label: Install Ceilometer
115           type: checkbox
116           value: true
117           weight: 40
118         heat:
119           description: ''
120           label: ''
121           type: hidden
122           value: true
123           weight: 30
124         metadata:
125           label: Additional Components
126           weight: 20
127       storage:
128         ephemeral_ceph:
129           description: Configures Nova to store ephemeral volumes in RBD. This works
130             best if Ceph is enabled for volumes and images, too. Enables live migration
131             of all types of Ceph backed VMs (without this option, live migration will
132             only work with VMs launched from Cinder volumes).
133           label: Ceph RBD for ephemeral volumes (Nova)
134           type: checkbox
135           value: true
136           weight: 75
137         images_ceph:
138           description: Configures Glance to use the Ceph RBD backend to store images.
139             If enabled, this option will prevent Swift from installing.
140           label: Ceph RBD for images (Glance)
141           restrictions:
142           - settings:storage.images_vcenter.value == true: Only one Glance backend could
143               be selected.
144           type: checkbox
145           value: true
146           weight: 30
147
148 Optionally you may override the pod dha defenition under the
149 "dha-override-config" key.
150
151 Short names
152 -----------
153 scenario.yaml provides a mapping between a deployment scenario short-name
154 and one or several deployment scenario configuration yaml files.
155
156 Other
157 -----
158 These configuration files are used by deploy.sh provided by Fuel@OPNFV, e.g.
159 deploy.sh will clone this repo when deploying.