Merge lp:~zulcss/openstack-charm-testing/lxd-refactor into lp:openstack-charm-testing
- lxd-refactor
- Merge into trunk
Proposed by
Chuck Short
Status: | Merged |
---|---|
Merged at revision: | 123 |
Proposed branch: | lp:~zulcss/openstack-charm-testing/lxd-refactor |
Merge into: | lp:openstack-charm-testing |
Diff against target: |
1333 lines (+1062/-200) 13 files modified
bundles/dev/nc-lxd-3host.yaml (+0/-199) bundles/lxd/lxd.yaml (+310/-0) bundles/lxd/source/cinder-master.yaml (+10/-0) bundles/lxd/source/glance-master.yaml (+10/-0) bundles/lxd/source/horizon-master.yaml (+10/-0) bundles/lxd/source/keystone-master.yaml (+10/-0) bundles/lxd/source/lxd.yaml (+367/-0) bundles/lxd/source/neutron-master.yaml (+19/-0) bundles/lxd/source/nova-master.yaml (+19/-0) configure (+1/-1) profiles/lxd (+69/-0) tools/images-lxd-convert.sh (+221/-0) tools/images_lxd.sh (+16/-0) |
To merge this branch: | bzr merge lp:~zulcss/openstack-charm-testing/lxd-refactor |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ryan Beisner | Approve | ||
Review via email: mp+265980@code.launchpad.net |
Commit message
Description of the change
LXD refactor.
To post a comment you must log in.
Revision history for this message
Ryan Beisner (1chb1n) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === removed file 'bundles/dev/nc-lxd-3host.yaml' | |||
2 | --- bundles/dev/nc-lxd-3host.yaml 2015-07-21 13:28:13 +0000 | |||
3 | +++ bundles/dev/nc-lxd-3host.yaml 1970-01-01 00:00:00 +0000 | |||
4 | @@ -1,199 +0,0 @@ | |||
5 | 1 | # An experimental bare metal bundle to test nc-lxd. Recommend vivid-kilo | ||
6 | 2 | # for lxd testing. A three-machine smoosh. Temporarily uses kilo-support | ||
7 | 3 | # branches. | ||
8 | 4 | # | ||
9 | 5 | # NOTES(beisner) Feb 23, 2015: | ||
10 | 6 | # /!\ Beware, YMMV. This might be crazy, ill-advised for production use. | ||
11 | 7 | # Ceph is excluded, as it would need 3 units for quorum. | ||
12 | 8 | # | ||
13 | 9 | # USAGE EXAMPLE: | ||
14 | 10 | # Ensure default-series: vivid is defined in environments.yaml. | ||
15 | 11 | # juju switch maas | ||
16 | 12 | # juju bootstrap --series=vivid --upload-tools --constraints arch=amd64 | ||
17 | 13 | # juju-deployer -v -c <this_file>.yaml -d three-smoosh | ||
18 | 14 | #============================================================================= | ||
19 | 15 | three-smoosh: | ||
20 | 16 | series: vivid | ||
21 | 17 | services: | ||
22 | 18 | "juju-gui": | ||
23 | 19 | charm: "cs:trusty/juju-gui" | ||
24 | 20 | num_units: 1 | ||
25 | 21 | annotations: | ||
26 | 22 | "gui-x": "500" | ||
27 | 23 | "gui-y": "1000" | ||
28 | 24 | to: | ||
29 | 25 | - "lxc:0" | ||
30 | 26 | keystone: | ||
31 | 27 | branch: lp:~openstack-charmers/charms/trusty/keystone/next | ||
32 | 28 | num_units: 1 | ||
33 | 29 | options: | ||
34 | 30 | "admin-password": openstack | ||
35 | 31 | annotations: | ||
36 | 32 | "gui-x": "500" | ||
37 | 33 | "gui-y": "0" | ||
38 | 34 | to: | ||
39 | 35 | - "lxc:0" | ||
40 | 36 | neutron-gateway: | ||
41 | 37 | branch: lp:~openstack-charmers/charms/trusty/neutron-gateway/next | ||
42 | 38 | num_units: 1 | ||
43 | 39 | options: | ||
44 | 40 | "ext-port": eth1 | ||
45 | 41 | annotations: | ||
46 | 42 | "gui-x": "0" | ||
47 | 43 | "gui-y": "0" | ||
48 | 44 | to: | ||
49 | 45 | - "0" | ||
50 | 46 | neutron-api: | ||
51 | 47 | branch: lp:~openstack-charmers/charms/trusty/neutron-api/next | ||
52 | 48 | num_units: 1 | ||
53 | 49 | options: | ||
54 | 50 | "neutron-security-groups": true | ||
55 | 51 | annotations: | ||
56 | 52 | "gui-x": "500" | ||
57 | 53 | "gui-y": "500" | ||
58 | 54 | to: | ||
59 | 55 | - "lxc:nova-compute=0" | ||
60 | 56 | neutron-openvswitch: | ||
61 | 57 | branch: lp:~openstack-charmers/charms/trusty/neutron-openvswitch/next | ||
62 | 58 | num_units: 0 | ||
63 | 59 | annotations: | ||
64 | 60 | "gui-x": "250" | ||
65 | 61 | "gui-y": "500" | ||
66 | 62 | mysql: | ||
67 | 63 | branch: lp:~openstack-charmers/charms/trusty/percona-cluster/next | ||
68 | 64 | num_units: 1 | ||
69 | 65 | options: | ||
70 | 66 | "max-connections": 20000 | ||
71 | 67 | annotations: | ||
72 | 68 | "gui-x": "0" | ||
73 | 69 | "gui-y": "250" | ||
74 | 70 | to: | ||
75 | 71 | - "lxc:0" | ||
76 | 72 | nova-compute: | ||
77 | 73 | branch: lp:~zulcss/charms/trusty/nova-compute/nova-compute-lxd | ||
78 | 74 | num_units: 2 | ||
79 | 75 | constraints: mem=8G | ||
80 | 76 | options: | ||
81 | 77 | openstack-origin: "ppa:zulcss/lxd-testing-vivid" | ||
82 | 78 | virt-type: lxd | ||
83 | 79 | # lxd-block-device: /mnt/disk.img|100G | ||
84 | 80 | lxd-block-device: /dev/sdb /dev/vdb | ||
85 | 81 | enable-live-migration: True | ||
86 | 82 | enable-resize: True | ||
87 | 83 | "enable-live-migration": true | ||
88 | 84 | "enable-resize": true | ||
89 | 85 | "migration-auth-type": ssh | ||
90 | 86 | annotations: | ||
91 | 87 | "gui-x": "250" | ||
92 | 88 | "gui-y": "250" | ||
93 | 89 | glance: | ||
94 | 90 | branch: lp:~openstack-charmers/charms/trusty/glance/next | ||
95 | 91 | num_units: 1 | ||
96 | 92 | annotations: | ||
97 | 93 | "gui-x": "250" | ||
98 | 94 | "gui-y": "0" | ||
99 | 95 | to: | ||
100 | 96 | - "lxc:nova-compute=1" | ||
101 | 97 | nova-cloud-controller: | ||
102 | 98 | branch: lp:~openstack-charmers/charms/trusty/nova-cloud-controller/next | ||
103 | 99 | num_units: 1 | ||
104 | 100 | options: | ||
105 | 101 | "network-manager": Neutron | ||
106 | 102 | "quantum-security-groups": "yes" | ||
107 | 103 | annotations: | ||
108 | 104 | "gui-x": "0" | ||
109 | 105 | "gui-y": "500" | ||
110 | 106 | to: | ||
111 | 107 | - "lxc:nova-compute=0" | ||
112 | 108 | openstack-dashboard: | ||
113 | 109 | branch: lp:~openstack-charmers/charms/trusty/openstack-dashboard/next | ||
114 | 110 | num_units: 1 | ||
115 | 111 | annotations: | ||
116 | 112 | "gui-x": "500" | ||
117 | 113 | "gui-y": "-250" | ||
118 | 114 | to: | ||
119 | 115 | - "lxc:0" | ||
120 | 116 | rabbitmq-server: | ||
121 | 117 | branch: lp:~openstack-charmers/charms/trusty/rabbitmq-server/next | ||
122 | 118 | num_units: 1 | ||
123 | 119 | annotations: | ||
124 | 120 | "gui-x": "500" | ||
125 | 121 | "gui-y": "250" | ||
126 | 122 | to: | ||
127 | 123 | - "lxc:0" | ||
128 | 124 | cinder: | ||
129 | 125 | branch: lp:~openstack-charmers/charms/trusty/cinder/next | ||
130 | 126 | num_units: 1 | ||
131 | 127 | options: | ||
132 | 128 | "block-device": /dev/sdb /dev/vdb | ||
133 | 129 | "glance-api-version": 2 | ||
134 | 130 | annotations: | ||
135 | 131 | "gui-x": "750" | ||
136 | 132 | "gui-y": "0" | ||
137 | 133 | to: | ||
138 | 134 | - "lxc:0" | ||
139 | 135 | ntp: | ||
140 | 136 | charm: "cs:trusty/ntp-6" | ||
141 | 137 | num_units: 0 | ||
142 | 138 | annotations: | ||
143 | 139 | "gui-x": "1000" | ||
144 | 140 | "gui-y": "0" | ||
145 | 141 | relations: | ||
146 | 142 | - - "nova-compute:amqp" | ||
147 | 143 | - "rabbitmq-server:amqp" | ||
148 | 144 | - - "neutron-gateway:amqp" | ||
149 | 145 | - "rabbitmq-server:amqp" | ||
150 | 146 | - - "keystone:shared-db" | ||
151 | 147 | - "mysql:shared-db" | ||
152 | 148 | - - "nova-cloud-controller:identity-service" | ||
153 | 149 | - "keystone:identity-service" | ||
154 | 150 | - - "glance:identity-service" | ||
155 | 151 | - "keystone:identity-service" | ||
156 | 152 | - - "neutron-api:identity-service" | ||
157 | 153 | - "keystone:identity-service" | ||
158 | 154 | - - "neutron-openvswitch:neutron-plugin-api" | ||
159 | 155 | - "neutron-api:neutron-plugin-api" | ||
160 | 156 | - - "neutron-api:shared-db" | ||
161 | 157 | - "mysql:shared-db" | ||
162 | 158 | - - "neutron-api:amqp" | ||
163 | 159 | - "rabbitmq-server:amqp" | ||
164 | 160 | - - "neutron-gateway:neutron-plugin-api" | ||
165 | 161 | - "neutron-api:neutron-plugin-api" | ||
166 | 162 | - - "glance:shared-db" | ||
167 | 163 | - "mysql:shared-db" | ||
168 | 164 | - - "glance:amqp" | ||
169 | 165 | - "rabbitmq-server:amqp" | ||
170 | 166 | - - "nova-cloud-controller:image-service" | ||
171 | 167 | - "glance:image-service" | ||
172 | 168 | - - "nova-compute:image-service" | ||
173 | 169 | - "glance:image-service" | ||
174 | 170 | - - "nova-cloud-controller:cloud-compute" | ||
175 | 171 | - "nova-compute:cloud-compute" | ||
176 | 172 | - - "nova-cloud-controller:amqp" | ||
177 | 173 | - "rabbitmq-server:amqp" | ||
178 | 174 | - - "nova-cloud-controller:quantum-network-service" | ||
179 | 175 | - "neutron-gateway:quantum-network-service" | ||
180 | 176 | - - "nova-compute:neutron-plugin" | ||
181 | 177 | - "neutron-openvswitch:neutron-plugin" | ||
182 | 178 | - - "neutron-openvswitch:amqp" | ||
183 | 179 | - "rabbitmq-server:amqp" | ||
184 | 180 | - - "openstack-dashboard:identity-service" | ||
185 | 181 | - "keystone:identity-service" | ||
186 | 182 | - - "nova-cloud-controller:shared-db" | ||
187 | 183 | - "mysql:shared-db" | ||
188 | 184 | - - "nova-cloud-controller:neutron-api" | ||
189 | 185 | - "neutron-api:neutron-api" | ||
190 | 186 | - - "cinder:image-service" | ||
191 | 187 | - "glance:image-service" | ||
192 | 188 | - - "cinder:amqp" | ||
193 | 189 | - "rabbitmq-server:amqp" | ||
194 | 190 | - - "cinder:identity-service" | ||
195 | 191 | - "keystone:identity-service" | ||
196 | 192 | - - "cinder:cinder-volume-service" | ||
197 | 193 | - "nova-cloud-controller:cinder-volume-service" | ||
198 | 194 | - - "cinder:shared-db" | ||
199 | 195 | - "mysql:shared-db" | ||
200 | 196 | - - "ntp:juju-info" | ||
201 | 197 | - "nova-compute:juju-info" | ||
202 | 198 | - - "ntp:juju-info" | ||
203 | 199 | - "neutron-gateway:juju-info" | ||
204 | 200 | 0 | ||
205 | === added directory 'bundles/lxd' | |||
206 | === added file 'bundles/lxd/lxd.yaml' | |||
207 | --- bundles/lxd/lxd.yaml 1970-01-01 00:00:00 +0000 | |||
208 | +++ bundles/lxd/lxd.yaml 2015-07-27 14:48:51 +0000 | |||
209 | @@ -0,0 +1,310 @@ | |||
210 | 1 | # vim: set ts=2 et: | ||
211 | 2 | # deployer bundle for development ('next') charms | ||
212 | 3 | # UOSCI relies on this for OS-on-OS deployment testing | ||
213 | 4 | openstack-services: | ||
214 | 5 | services: | ||
215 | 6 | mysql: | ||
216 | 7 | branch: lp:~openstack-charmers/charms/trusty/percona-cluster/next | ||
217 | 8 | constraints: mem=1G | ||
218 | 9 | options: | ||
219 | 10 | dataset-size: 50% | ||
220 | 11 | rabbitmq-server: | ||
221 | 12 | branch: lp:~openstack-charmers/charms/trusty/rabbitmq-server/next | ||
222 | 13 | constraints: mem=1G | ||
223 | 14 | ceph: | ||
224 | 15 | branch: lp:~openstack-charmers/charms/trusty/ceph/next | ||
225 | 16 | num_units: 3 | ||
226 | 17 | constraints: mem=1G | ||
227 | 18 | options: | ||
228 | 19 | monitor-count: 3 | ||
229 | 20 | fsid: 6547bd3e-1397-11e2-82e5-53567c8d32dc | ||
230 | 21 | monitor-secret: AQCXrnZQwI7KGBAAiPofmKEXKxu5bUzoYLVkbQ== | ||
231 | 22 | osd-devices: /dev/vdb | ||
232 | 23 | osd-reformat: "yes" | ||
233 | 24 | ephemeral-unmount: /mnt | ||
234 | 25 | keystone: | ||
235 | 26 | branch: lp:~openstack-charmers/charms/trusty/keystone/next | ||
236 | 27 | constraints: mem=1G | ||
237 | 28 | options: | ||
238 | 29 | admin-password: openstack | ||
239 | 30 | admin-token: ubuntutesting | ||
240 | 31 | openstack-dashboard: | ||
241 | 32 | branch: lp:~openstack-charmers/charms/trusty/openstack-dashboard/next | ||
242 | 33 | constraints: mem=1G | ||
243 | 34 | nova-compute: | ||
244 | 35 | branch: lp:~zulcss/charms/trusty/nova-compute/nova-compute-lxd | ||
245 | 36 | num_units: 3 | ||
246 | 37 | constraints: mem=4G | ||
247 | 38 | options: | ||
248 | 39 | enable-live-migration: True | ||
249 | 40 | enable-resize: True | ||
250 | 41 | migration-auth-type: ssh | ||
251 | 42 | virt-type: lxd | ||
252 | 43 | nova-cloud-controller: | ||
253 | 44 | branch: lp:~openstack-charmers/charms/trusty/nova-cloud-controller/next | ||
254 | 45 | constraints: mem=1G | ||
255 | 46 | options: | ||
256 | 47 | network-manager: Neutron | ||
257 | 48 | quantum-security-groups: "yes" | ||
258 | 49 | neutron-gateway: | ||
259 | 50 | branch: lp:~openstack-charmers/charms/trusty/neutron-gateway/next | ||
260 | 51 | constraints: mem=1G | ||
261 | 52 | options: | ||
262 | 53 | instance-mtu: 1300 | ||
263 | 54 | cinder: | ||
264 | 55 | branch: lp:~openstack-charmers/charms/trusty/cinder/next | ||
265 | 56 | options: | ||
266 | 57 | block-device: "None" | ||
267 | 58 | glance-api-version: 2 | ||
268 | 59 | constraints: mem=1G | ||
269 | 60 | cinder-ceph: | ||
270 | 61 | branch: lp:~openstack-charmers/charms/trusty/cinder-ceph/next | ||
271 | 62 | glance: | ||
272 | 63 | branch: lp:~openstack-charmers/charms/trusty/glance/next | ||
273 | 64 | constraints: mem=1G | ||
274 | 65 | swift-proxy: | ||
275 | 66 | branch: lp:~openstack-charmers/charms/trusty/swift-proxy/next | ||
276 | 67 | constraints: mem=1G | ||
277 | 68 | options: | ||
278 | 69 | zone-assignment: manual | ||
279 | 70 | replicas: 3 | ||
280 | 71 | swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae | ||
281 | 72 | swift-storage-z1: | ||
282 | 73 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
283 | 74 | constraints: mem=1G | ||
284 | 75 | options: | ||
285 | 76 | zone: 1 | ||
286 | 77 | block-device: vdb | ||
287 | 78 | overwrite: "true" | ||
288 | 79 | swift-storage-z2: | ||
289 | 80 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
290 | 81 | constraints: mem=1G | ||
291 | 82 | options: | ||
292 | 83 | zone: 2 | ||
293 | 84 | block-device: vdb | ||
294 | 85 | overwrite: "true" | ||
295 | 86 | swift-storage-z3: | ||
296 | 87 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
297 | 88 | constraints: mem=1G | ||
298 | 89 | options: | ||
299 | 90 | zone: 3 | ||
300 | 91 | block-device: vdb | ||
301 | 92 | overwrite: "true" | ||
302 | 93 | ceilometer: | ||
303 | 94 | branch: lp:~openstack-charmers/charms/trusty/ceilometer/next | ||
304 | 95 | constraints: mem=1G | ||
305 | 96 | ceilometer-agent: | ||
306 | 97 | branch: lp:~openstack-charmers/charms/trusty/ceilometer-agent/next | ||
307 | 98 | heat: | ||
308 | 99 | branch: lp:~openstack-charmers/charms/trusty/heat/next | ||
309 | 100 | mongodb: | ||
310 | 101 | branch: lp:charms/trusty/mongodb | ||
311 | 102 | constraints: mem=1G | ||
312 | 103 | lxd: | ||
313 | 104 | branch: lp:~zulcss/+junk/lxd-container | ||
314 | 105 | options: | ||
315 | 106 | lxd-block-device: /mnt/disk.img|20G | ||
316 | 107 | lxd-origin: ppa:ubuntu-lxc/lxd-git-master | ||
317 | 108 | lxd-use-source: True | ||
318 | 109 | lxd-trust-password: blah | ||
319 | 110 | relations: | ||
320 | 111 | - [ keystone, mysql ] | ||
321 | 112 | - [ nova-cloud-controller, mysql ] | ||
322 | 113 | - [ nova-cloud-controller, rabbitmq-server ] | ||
323 | 114 | - [ nova-cloud-controller, glance ] | ||
324 | 115 | - [ nova-cloud-controller, keystone ] | ||
325 | 116 | - [ nova-compute, nova-cloud-controller ] | ||
326 | 117 | - [ nova-compute, lxd ] | ||
327 | 118 | - [ nova-compute, mysql ] | ||
328 | 119 | - - nova-compute | ||
329 | 120 | - rabbitmq-server:amqp | ||
330 | 121 | - [ nova-compute, glance ] | ||
331 | 122 | - [ nova-compute, ceph ] | ||
332 | 123 | - [ glance, mysql ] | ||
333 | 124 | - [ glance, keystone ] | ||
334 | 125 | - [ glance, ceph ] | ||
335 | 126 | - [ glance, cinder ] | ||
336 | 127 | - [ cinder, mysql ] | ||
337 | 128 | - [ cinder, rabbitmq-server ] | ||
338 | 129 | - [ cinder, nova-cloud-controller ] | ||
339 | 130 | - [ cinder, keystone ] | ||
340 | 131 | - [ cinder, cinder-ceph ] | ||
341 | 132 | - [ cinder-ceph, ceph ] | ||
342 | 133 | - [ neutron-gateway, mysql ] | ||
343 | 134 | - [ neutron-gateway, nova-cloud-controller ] | ||
344 | 135 | - [ openstack-dashboard, keystone ] | ||
345 | 136 | - [ swift-proxy, keystone ] | ||
346 | 137 | - [ swift-proxy, swift-storage-z1 ] | ||
347 | 138 | - [ swift-proxy, swift-storage-z2 ] | ||
348 | 139 | - [ swift-proxy, swift-storage-z3 ] | ||
349 | 140 | - - ceilometer | ||
350 | 141 | - keystone:identity-service | ||
351 | 142 | - [ ceilometer, rabbitmq-server ] | ||
352 | 143 | - [ ceilometer, mongodb ] | ||
353 | 144 | - [ ceilometer-agent, nova-compute ] | ||
354 | 145 | - [ ceilometer-agent, ceilometer ] | ||
355 | 146 | - [ heat, mysql ] | ||
356 | 147 | - [ heat, keystone ] | ||
357 | 148 | - [ heat, rabbitmq-server ] | ||
358 | 149 | openstack-singlerabbit: | ||
359 | 150 | inherits: openstack-services | ||
360 | 151 | relations: | ||
361 | 152 | - [ "neutron-gateway:amqp", rabbitmq-server ] | ||
362 | 153 | openstack-icehouse: | ||
363 | 154 | inherits: openstack-singlerabbit | ||
364 | 155 | services: | ||
365 | 156 | neutron-api: | ||
366 | 157 | branch: lp:~openstack-charmers/charms/trusty/neutron-api/next | ||
367 | 158 | constraints: mem=1G | ||
368 | 159 | options: | ||
369 | 160 | neutron-security-groups: True | ||
370 | 161 | neutron-openvswitch: | ||
371 | 162 | branch: lp:~openstack-charmers/charms/trusty/neutron-openvswitch/next | ||
372 | 163 | relations: | ||
373 | 164 | - [ neutron-api, mysql ] | ||
374 | 165 | - [ neutron-api, rabbitmq-server ] | ||
375 | 166 | - [ neutron-api, nova-cloud-controller ] | ||
376 | 167 | - [ neutron-api, neutron-openvswitch ] | ||
377 | 168 | - [ neutron-api, keystone ] | ||
378 | 169 | - [ neutron-api, neutron-gateway ] | ||
379 | 170 | - [ neutron-openvswitch, nova-compute ] | ||
380 | 171 | - [ neutron-openvswitch, rabbitmq-server ] | ||
381 | 172 | openstack-icehouse-msg-split: | ||
382 | 173 | inherits: openstack-services | ||
383 | 174 | services: | ||
384 | 175 | neutron-api: | ||
385 | 176 | branch: lp:~openstack-charmers/charms/trusty/neutron-api/next | ||
386 | 177 | constraints: mem=1G | ||
387 | 178 | options: | ||
388 | 179 | neutron-security-groups: True | ||
389 | 180 | neutron-openvswitch: | ||
390 | 181 | branch: lp:~openstack-charmers/charms/trusty/neutron-openvswitch/next | ||
391 | 182 | rabbitmq-server-neutron: | ||
392 | 183 | branch: lp:charms/trusty/rabbitmq-server | ||
393 | 184 | constraints: mem=1G | ||
394 | 185 | relations: | ||
395 | 186 | - [ neutron-api, mysql ] | ||
396 | 187 | - [ neutron-api, rabbitmq-server-neutron ] | ||
397 | 188 | - [ neutron-api, nova-cloud-controller ] | ||
398 | 189 | - [ neutron-api, neutron-openvswitch ] | ||
399 | 190 | - [ neutron-api, keystone ] | ||
400 | 191 | - [ neutron-api, neutron-gateway ] | ||
401 | 192 | - [ neutron-openvswitch, nova-compute ] | ||
402 | 193 | - [ neutron-openvswitch, rabbitmq-server-neutron ] | ||
403 | 194 | - [ "neutron-gateway:amqp-nova", rabbitmq-server ] | ||
404 | 195 | - [ "neutron-gateway:amqp", rabbitmq-server-neutron ] | ||
405 | 196 | # icehouse | ||
406 | 197 | precise-icehouse: | ||
407 | 198 | inherits: openstack-singlerabbit | ||
408 | 199 | series: precise | ||
409 | 200 | overrides: | ||
410 | 201 | openstack-origin: cloud:precise-icehouse | ||
411 | 202 | source: cloud:precise-icehouse | ||
412 | 203 | precise-icehouse-proposed: | ||
413 | 204 | inherits: precise-icehouse | ||
414 | 205 | overrides: | ||
415 | 206 | openstack-origin: cloud:precise-icehouse/proposed | ||
416 | 207 | source: cloud:precise-updates/icehouse | ||
417 | 208 | precise-icehouse-staging: | ||
418 | 209 | inherits: precise-icehouse | ||
419 | 210 | overrides: | ||
420 | 211 | openstack-origin: ppa:ubuntu-cloud-archive/icehouse-staging | ||
421 | 212 | source: ppa:ubuntu-cloud-archive/icehouse-staging | ||
422 | 213 | precise-icehouse-trunk: | ||
423 | 214 | inherits: precise-icehouse | ||
424 | 215 | overrides: | ||
425 | 216 | openstack-origin: ppa:openstack-ubuntu-testing/icehouse | ||
426 | 217 | source: ppa:openstack-ubuntu-testing/icehouse | ||
427 | 218 | trusty-icehouse: | ||
428 | 219 | inherits: openstack-icehouse | ||
429 | 220 | series: trusty | ||
430 | 221 | trusty-icehouse-msg-split: | ||
431 | 222 | inherits: openstack-icehouse-msg-split | ||
432 | 223 | series: trusty | ||
433 | 224 | trusty-icehouse-proposed: | ||
434 | 225 | inherits: trusty-icehouse | ||
435 | 226 | overrides: | ||
436 | 227 | source: proposed | ||
437 | 228 | openstack-origin: distro-proposed | ||
438 | 229 | trusty-icehouse-trunk: | ||
439 | 230 | inherits: trusty-icehouse | ||
440 | 231 | overrides: | ||
441 | 232 | openstack-origin: ppa:openstack-ubuntu-testing/icehouse | ||
442 | 233 | source: ppa:openstack-ubuntu-testing/icehouse | ||
443 | 234 | offline-compression: "no" | ||
444 | 235 | # juno | ||
445 | 236 | trusty-juno: | ||
446 | 237 | inherits: openstack-icehouse | ||
447 | 238 | series: trusty | ||
448 | 239 | overrides: | ||
449 | 240 | openstack-origin: cloud:trusty-juno | ||
450 | 241 | source: cloud:trusty-juno | ||
451 | 242 | trusty-juno-proposed: | ||
452 | 243 | inherits: trusty-juno | ||
453 | 244 | overrides: | ||
454 | 245 | openstack-origin: cloud:trusty-juno/proposed | ||
455 | 246 | source: cloud:trusty-juno/proposed | ||
456 | 247 | trusty-juno-staging: | ||
457 | 248 | inherits: trusty-juno | ||
458 | 249 | overrides: | ||
459 | 250 | openstack-origin: ppa:ubuntu-cloud-archive/juno-staging | ||
460 | 251 | source: ppa:ubuntu-cloud-archive/juno-staging | ||
461 | 252 | utopic-juno: | ||
462 | 253 | inherits: openstack-icehouse | ||
463 | 254 | series: utopic | ||
464 | 255 | utopic-juno-proposed: | ||
465 | 256 | inherits: utopic-juno | ||
466 | 257 | overrides: | ||
467 | 258 | source: proposed | ||
468 | 259 | openstack-origin: distro-proposed | ||
469 | 260 | # kilo | ||
470 | 261 | trusty-kilo: | ||
471 | 262 | inherits: openstack-icehouse | ||
472 | 263 | series: trusty | ||
473 | 264 | overrides: | ||
474 | 265 | openstack-origin: cloud:trusty-kilo | ||
475 | 266 | source: cloud:trusty-kilo | ||
476 | 267 | trusty-kilo-proposed: | ||
477 | 268 | inherits: trusty-kilo | ||
478 | 269 | overrides: | ||
479 | 270 | openstack-origin: cloud:trusty-kilo/proposed | ||
480 | 271 | source: cloud:trusty-kilo/proposed | ||
481 | 272 | trusty-kilo-staging: | ||
482 | 273 | inherits: trusty-kilo | ||
483 | 274 | overrides: | ||
484 | 275 | openstack-origin: ppa:ubuntu-cloud-archive/kilo-staging | ||
485 | 276 | source: ppa:ubuntu-cloud-archive/kilo-staging | ||
486 | 277 | vivid-kilo: | ||
487 | 278 | inherits: openstack-icehouse | ||
488 | 279 | series: vivid | ||
489 | 280 | vivid-kilo-proposed: | ||
490 | 281 | inherits: vivid-kilo | ||
491 | 282 | overrides: | ||
492 | 283 | source: proposed | ||
493 | 284 | openstack-origin: distro-proposed | ||
494 | 285 | # liberty | ||
495 | 286 | trusty-liberty: | ||
496 | 287 | inherits: openstack-icehouse | ||
497 | 288 | series: trusty | ||
498 | 289 | overrides: | ||
499 | 290 | openstack-origin: cloud:trusty-liberty | ||
500 | 291 | source: cloud:trusty-liberty | ||
501 | 292 | trusty-liberty-proposed: | ||
502 | 293 | inherits: trusty-liberty | ||
503 | 294 | overrides: | ||
504 | 295 | openstack-origin: cloud:trusty-liberty/proposed | ||
505 | 296 | source: cloud:trusty-liberty/proposed | ||
506 | 297 | trusty-liberty-staging: | ||
507 | 298 | inherits: trusty-liberty | ||
508 | 299 | overrides: | ||
509 | 300 | openstack-origin: ppa:ubuntu-cloud-archive/liberty-staging | ||
510 | 301 | source: ppa:ubuntu-cloud-archive/liberty-staging | ||
511 | 302 | wily-liberty: | ||
512 | 303 | inherits: openstack-icehouse | ||
513 | 304 | series: wily | ||
514 | 305 | wily-liberty-proposed: | ||
515 | 306 | inherits: wily-liberty | ||
516 | 307 | overrides: | ||
517 | 308 | source: proposed | ||
518 | 309 | openstack-origin: distro-proposed | ||
519 | 310 | |||
520 | 0 | 311 | ||
521 | === added directory 'bundles/lxd/source' | |||
522 | === added file 'bundles/lxd/source/cinder-master.yaml' | |||
523 | --- bundles/lxd/source/cinder-master.yaml 1970-01-01 00:00:00 +0000 | |||
524 | +++ bundles/lxd/source/cinder-master.yaml 2015-07-27 14:48:51 +0000 | |||
525 | @@ -0,0 +1,10 @@ | |||
526 | 1 | repositories: | ||
527 | 2 | - {name: requirements, | ||
528 | 3 | repository: 'git://github.com/openstack/requirements', | ||
529 | 4 | branch: master} | ||
530 | 5 | - {name: cinder, | ||
531 | 6 | repository: 'git://github.com/openstack/cinder', | ||
532 | 7 | branch: master} | ||
533 | 8 | directory: /mnt/openstack-git | ||
534 | 9 | http_proxy: http://squid.internal:3128 | ||
535 | 10 | https_proxy: http://squid.internal:3128 | ||
536 | 0 | 11 | ||
537 | === added file 'bundles/lxd/source/glance-master.yaml' | |||
538 | --- bundles/lxd/source/glance-master.yaml 1970-01-01 00:00:00 +0000 | |||
539 | +++ bundles/lxd/source/glance-master.yaml 2015-07-27 14:48:51 +0000 | |||
540 | @@ -0,0 +1,10 @@ | |||
541 | 1 | repositories: | ||
542 | 2 | - {name: requirements, | ||
543 | 3 | repository: 'git://github.com/openstack/requirements', | ||
544 | 4 | branch: master} | ||
545 | 5 | - {name: glance, | ||
546 | 6 | repository: 'git://github.com/openstack/glance', | ||
547 | 7 | branch: master} | ||
548 | 8 | directory: /mnt/openstack-git | ||
549 | 9 | http_proxy: http://squid.internal:3128 | ||
550 | 10 | https_proxy: http://squid.internal:3128 | ||
551 | 0 | 11 | ||
552 | === added file 'bundles/lxd/source/horizon-master.yaml' | |||
553 | --- bundles/lxd/source/horizon-master.yaml 1970-01-01 00:00:00 +0000 | |||
554 | +++ bundles/lxd/source/horizon-master.yaml 2015-07-27 14:48:51 +0000 | |||
555 | @@ -0,0 +1,10 @@ | |||
556 | 1 | repositories: | ||
557 | 2 | - {name: requirements, | ||
558 | 3 | repository: 'git://github.com/openstack/requirements', | ||
559 | 4 | branch: master} | ||
560 | 5 | - {name: horizon, | ||
561 | 6 | repository: 'git://github.com/openstack/horizon', | ||
562 | 7 | branch: master} | ||
563 | 8 | directory: /mnt/openstack-git | ||
564 | 9 | http_proxy: http://squid.internal:3128 | ||
565 | 10 | https_proxy: http://squid.internal:3128 | ||
566 | 0 | 11 | ||
567 | === added file 'bundles/lxd/source/keystone-master.yaml' | |||
568 | --- bundles/lxd/source/keystone-master.yaml 1970-01-01 00:00:00 +0000 | |||
569 | +++ bundles/lxd/source/keystone-master.yaml 2015-07-27 14:48:51 +0000 | |||
570 | @@ -0,0 +1,10 @@ | |||
571 | 1 | repositories: | ||
572 | 2 | - {name: requirements, | ||
573 | 3 | repository: 'git://github.com/openstack/requirements', | ||
574 | 4 | branch: master} | ||
575 | 5 | - {name: keystone, | ||
576 | 6 | repository: 'git://github.com/openstack/keystone', | ||
577 | 7 | branch: master} | ||
578 | 8 | directory: /mnt/openstack-git | ||
579 | 9 | http_proxy: http://squid.internal:3128 | ||
580 | 10 | https_proxy: http://squid.internal:3128 | ||
581 | 0 | 11 | ||
582 | === added file 'bundles/lxd/source/lxd.yaml' | |||
583 | --- bundles/lxd/source/lxd.yaml 1970-01-01 00:00:00 +0000 | |||
584 | +++ bundles/lxd/source/lxd.yaml 2015-07-27 14:48:51 +0000 | |||
585 | @@ -0,0 +1,367 @@ | |||
586 | 1 | # vim: set ts=2 et: | ||
587 | 2 | # deployer bundle for development ('lxd') charms | ||
588 | 3 | # UOSCI relies on this for OS-on-OS deployment testing | ||
589 | 4 | openstack-services: | ||
590 | 5 | services: | ||
591 | 6 | mysql: | ||
592 | 7 | branch: lp:~openstack-charmers/charms/trusty/percona-cluster/next | ||
593 | 8 | constraints: mem=1G | ||
594 | 9 | options: | ||
595 | 10 | dataset-size: 50% | ||
596 | 11 | rabbitmq-server: | ||
597 | 12 | branch: lp:~openstack-charmers/charms/trusty/rabbitmq-server/next | ||
598 | 13 | constraints: mem=1G | ||
599 | 14 | ceph: | ||
600 | 15 | branch: lp:~openstack-charmers/charms/trusty/ceph/next | ||
601 | 16 | num_units: 3 | ||
602 | 17 | constraints: mem=1G | ||
603 | 18 | options: | ||
604 | 19 | monitor-count: 3 | ||
605 | 20 | fsid: 6547bd3e-1397-11e2-82e5-53567c8d32dc | ||
606 | 21 | monitor-secret: AQCXrnZQwI7KGBAAiPofmKEXKxu5bUzoYLVkbQ== | ||
607 | 22 | osd-devices: /dev/vdb | ||
608 | 23 | osd-reformat: "yes" | ||
609 | 24 | ephemeral-unmount: /mnt | ||
610 | 25 | keystone: | ||
611 | 26 | branch: lp:~openstack-charmers/charms/trusty/keystone/next | ||
612 | 27 | constraints: mem=1G | ||
613 | 28 | options: | ||
614 | 29 | admin-password: openstack | ||
615 | 30 | admin-token: ubuntutesting | ||
616 | 31 | openstack-dashboard: | ||
617 | 32 | branch: lp:~openstack-charmers/charms/trusty/openstack-dashboard/next | ||
618 | 33 | constraints: mem=1G | ||
619 | 34 | nova-compute: | ||
620 | 35 | branch: lp:~zulcss/charms/trusty/nova-compute/nova-compute-lxd | ||
621 | 36 | num_units: 3 | ||
622 | 37 | constraints: mem=4G | ||
623 | 38 | options: | ||
624 | 39 | enable-live-migration: True | ||
625 | 40 | enable-resize: True | ||
626 | 41 | virt-type: lxd | ||
627 | 42 | nova-cloud-controller: | ||
628 | 43 | branch: lp:~openstack-charmers/charms/trusty/nova-cloud-controller/next | ||
629 | 44 | constraints: mem=1G | ||
630 | 45 | options: | ||
631 | 46 | network-manager: Neutron | ||
632 | 47 | quantum-security-groups: "yes" | ||
633 | 48 | neutron-gateway: | ||
634 | 49 | branch: lp:~openstack-charmers/charms/trusty/neutron-gateway/next | ||
635 | 50 | constraints: mem=1G | ||
636 | 51 | options: | ||
637 | 52 | instance-mtu: 1300 | ||
638 | 53 | cinder: | ||
639 | 54 | branch: lp:~openstack-charmers/charms/trusty/cinder/next | ||
640 | 55 | options: | ||
641 | 56 | block-device: "None" | ||
642 | 57 | glance-api-version: 2 | ||
643 | 58 | constraints: mem=1G | ||
644 | 59 | # cinder-ceph: | ||
645 | 60 | # branch: lp:~openstack-charmers/charms/trusty/cinder-ceph/next | ||
646 | 61 | glance: | ||
647 | 62 | branch: lp:~openstack-charmers/charms/trusty/glance/next | ||
648 | 63 | constraints: mem=1G | ||
649 | 64 | swift-proxy: | ||
650 | 65 | branch: lp:~openstack-charmers/charms/trusty/swift-proxy/next | ||
651 | 66 | constraints: mem=1G | ||
652 | 67 | options: | ||
653 | 68 | zone-assignment: manual | ||
654 | 69 | replicas: 3 | ||
655 | 70 | swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae | ||
656 | 71 | swift-storage-z1: | ||
657 | 72 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
658 | 73 | constraints: mem=1G | ||
659 | 74 | options: | ||
660 | 75 | zone: 1 | ||
661 | 76 | block-device: vdb | ||
662 | 77 | overwrite: "true" | ||
663 | 78 | swift-storage-z2: | ||
664 | 79 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
665 | 80 | constraints: mem=1G | ||
666 | 81 | options: | ||
667 | 82 | zone: 2 | ||
668 | 83 | block-device: vdb | ||
669 | 84 | overwrite: "true" | ||
670 | 85 | swift-storage-z3: | ||
671 | 86 | branch: lp:~openstack-charmers/charms/trusty/swift-storage/next | ||
672 | 87 | constraints: mem=1G | ||
673 | 88 | options: | ||
674 | 89 | zone: 3 | ||
675 | 90 | block-device: vdb | ||
676 | 91 | overwrite: "true" | ||
677 | 92 | ceilometer: | ||
678 | 93 | branch: lp:~openstack-charmers/charms/trusty/ceilometer/next | ||
679 | 94 | constraints: mem=1G | ||
680 | 95 | ceilometer-agent: | ||
681 | 96 | branch: lp:~openstack-charmers/charms/trusty/ceilometer-agent/next | ||
682 | 97 | heat: | ||
683 | 98 | branch: lp:~openstack-charmers/charms/trusty/heat/next | ||
684 | 99 | mongodb: | ||
685 | 100 | branch: lp:charms/trusty/mongodb | ||
686 | 101 | constraints: mem=1G | ||
687 | 102 | lxd: | ||
688 | 103 | branch: lp:~zulcss/+junk/lxd-container | ||
689 | 104 | options: | ||
690 | 105 | lxd-block-device: /mnt/disk.img|20G | ||
691 | 106 | lxd-origin: ppa:ubuntu-lxc/lxd-git-master | ||
692 | 107 | lxd-use-source: True | ||
693 | 108 | lxd-trust-password: blah | ||
694 | 109 | relations: | ||
695 | 110 | - [ keystone, mysql ] | ||
696 | 111 | - [ nova-cloud-controller, mysql ] | ||
697 | 112 | - [ nova-cloud-controller, rabbitmq-server ] | ||
698 | 113 | - [ nova-cloud-controller, glance ] | ||
699 | 114 | - [ nova-cloud-controller, keystone ] | ||
700 | 115 | - [ nova-compute, nova-cloud-controller ] | ||
701 | 116 | - [ nova-compute, mysql ] | ||
702 | 117 | - [ nova-compute, lxd ] | ||
703 | 118 | - - nova-compute | ||
704 | 119 | - rabbitmq-server:amqp | ||
705 | 120 | - [ nova-compute, glance ] | ||
706 | 121 | - [ nova-compute, ceph ] | ||
707 | 122 | - [ glance, mysql ] | ||
708 | 123 | - [ glance, keystone ] | ||
709 | 124 | - [ glance, ceph ] | ||
710 | 125 | - [ glance, cinder ] | ||
711 | 126 | - [ cinder, mysql ] | ||
712 | 127 | - [ cinder, rabbitmq-server ] | ||
713 | 128 | - [ cinder, nova-cloud-controller ] | ||
714 | 129 | - [ cinder, keystone ] | ||
715 | 130 | - [ cinder, ceph ] | ||
716 | 131 | # - [ cinder, cinder-ceph ] | ||
717 | 132 | # - [ cinder-ceph, ceph ] | ||
718 | 133 | - [ neutron-gateway, mysql ] | ||
719 | 134 | - [ neutron-gateway, nova-cloud-controller ] | ||
720 | 135 | - [ openstack-dashboard, keystone ] | ||
721 | 136 | - [ swift-proxy, keystone ] | ||
722 | 137 | - [ swift-proxy, swift-storage-z1 ] | ||
723 | 138 | - [ swift-proxy, swift-storage-z2 ] | ||
724 | 139 | - [ swift-proxy, swift-storage-z3 ] | ||
725 | 140 | - - ceilometer | ||
726 | 141 | - keystone:identity-service | ||
727 | 142 | - [ ceilometer, rabbitmq-server ] | ||
728 | 143 | - [ ceilometer, mongodb ] | ||
729 | 144 | - [ ceilometer-agent, nova-compute ] | ||
730 | 145 | - [ ceilometer-agent, ceilometer ] | ||
731 | 146 | - [ heat, mysql ] | ||
732 | 147 | - [ heat, keystone ] | ||
733 | 148 | - [ heat, rabbitmq-server ] | ||
734 | 149 | openstack-singlerabbit: | ||
735 | 150 | inherits: openstack-services | ||
736 | 151 | relations: | ||
737 | 152 | - [ "neutron-gateway:amqp", rabbitmq-server ] | ||
738 | 153 | openstack-icehouse: | ||
739 | 154 | inherits: openstack-singlerabbit | ||
740 | 155 | services: | ||
741 | 156 | neutron-api: | ||
742 | 157 | branch: lp:~openstack-charmers/charms/trusty/neutron-api/next | ||
743 | 158 | constraints: mem=1G | ||
744 | 159 | options: | ||
745 | 160 | neutron-security-groups: True | ||
746 | 161 | neutron-openvswitch: | ||
747 | 162 | branch: lp:~openstack-charmers/charms/trusty/neutron-openvswitch/next | ||
748 | 163 | relations: | ||
749 | 164 | - [ neutron-api, mysql ] | ||
750 | 165 | - [ neutron-api, rabbitmq-server ] | ||
751 | 166 | - [ neutron-api, nova-cloud-controller ] | ||
752 | 167 | - [ neutron-api, neutron-openvswitch ] | ||
753 | 168 | - [ neutron-api, keystone ] | ||
754 | 169 | - [ neutron-api, neutron-gateway ] | ||
755 | 170 | - [ neutron-openvswitch, nova-compute ] | ||
756 | 171 | - [ neutron-openvswitch, rabbitmq-server ] | ||
757 | 172 | openstack-icehouse-msg-split: | ||
758 | 173 | inherits: openstack-services | ||
759 | 174 | services: | ||
760 | 175 | neutron-api: | ||
761 | 176 | branch: lp:~openstack-charmers/charms/trusty/neutron-api/next | ||
762 | 177 | constraints: mem=1G | ||
763 | 178 | options: | ||
764 | 179 | neutron-security-groups: True | ||
765 | 180 | neutron-openvswitch: | ||
766 | 181 | branch: lp:~openstack-charmers/charms/trusty/neutron-openvswitch/next | ||
767 | 182 | rabbitmq-server-neutron: | ||
768 | 183 | branch: lp:charms/trusty/rabbitmq-server | ||
769 | 184 | constraints: mem=1G | ||
770 | 185 | relations: | ||
771 | 186 | - [ neutron-api, mysql ] | ||
772 | 187 | - [ neutron-api, rabbitmq-server-neutron ] | ||
773 | 188 | - [ neutron-api, nova-cloud-controller ] | ||
774 | 189 | - [ neutron-api, neutron-openvswitch ] | ||
775 | 190 | - [ neutron-api, keystone ] | ||
776 | 191 | - [ neutron-api, neutron-gateway ] | ||
777 | 192 | - [ neutron-openvswitch, nova-compute ] | ||
778 | 193 | - [ neutron-openvswitch, rabbitmq-server-neutron ] | ||
779 | 194 | - [ "neutron-gateway:amqp-nova", rabbitmq-server ] | ||
780 | 195 | - [ "neutron-gateway:amqp", rabbitmq-server-neutron ] | ||
781 | 196 | # icehouse | ||
782 | 197 | openstack-icehouse-git: | ||
783 | 198 | inherits: openstack-icehouse | ||
784 | 199 | services: | ||
785 | 200 | keystone: | ||
786 | 201 | options: | ||
787 | 202 | openstack-origin-git: include-file://keystone-icehouse.yaml | ||
788 | 203 | glance: | ||
789 | 204 | options: | ||
790 | 205 | openstack-origin-git: include-file://glance-icehouse.yaml | ||
791 | 206 | cinder: | ||
792 | 207 | options: | ||
793 | 208 | openstack-origin-git: include-file://cinder-icehouse.yaml | ||
794 | 209 | neutron-api: | ||
795 | 210 | options: | ||
796 | 211 | openstack-origin-git: include-file://neutron-icehouse.yaml | ||
797 | 212 | neutron-gateway: | ||
798 | 213 | options: | ||
799 | 214 | openstack-origin-git: include-file://neutron-icehouse.yaml | ||
800 | 215 | neutron-openvswitch: | ||
801 | 216 | options: | ||
802 | 217 | openstack-origin-git: include-file://neutron-icehouse.yaml | ||
803 | 218 | openstack-dashboard: | ||
804 | 219 | options: | ||
805 | 220 | openstack-origin-git: include-file://horizon-icehouse.yaml | ||
806 | 221 | nova-compute: | ||
807 | 222 | options: | ||
808 | 223 | openstack-origin-git: include-file://nova-icehouse.yaml | ||
809 | 224 | nova-cloud-controller: | ||
810 | 225 | options: | ||
811 | 226 | openstack-origin-git: include-file://nova-icehouse.yaml | ||
812 | 227 | precise-icehouse: | ||
813 | 228 | inherits: openstack-icehouse-git | ||
814 | 229 | series: precise | ||
815 | 230 | overrides: | ||
816 | 231 | openstack-origin: cloud:precise-icehouse | ||
817 | 232 | source: cloud:precise-icehouse | ||
818 | 233 | trusty-icehouse: | ||
819 | 234 | inherits: openstack-icehouse-git | ||
820 | 235 | series: trusty | ||
821 | 236 | # juno | ||
822 | 237 | openstack-juno-git: | ||
823 | 238 | inherits: openstack-icehouse | ||
824 | 239 | services: | ||
825 | 240 | keystone: | ||
826 | 241 | options: | ||
827 | 242 | openstack-origin-git: include-file://keystone-juno.yaml | ||
828 | 243 | glance: | ||
829 | 244 | options: | ||
830 | 245 | openstack-origin-git: include-file://glance-juno.yaml | ||
831 | 246 | cinder: | ||
832 | 247 | options: | ||
833 | 248 | openstack-origin-git: include-file://cinder-juno.yaml | ||
834 | 249 | neutron-api: | ||
835 | 250 | options: | ||
836 | 251 | openstack-origin-git: include-file://neutron-juno.yaml | ||
837 | 252 | neutron-gateway: | ||
838 | 253 | options: | ||
839 | 254 | openstack-origin-git: include-file://neutron-juno.yaml | ||
840 | 255 | neutron-openvswitch: | ||
841 | 256 | options: | ||
842 | 257 | openstack-origin-git: include-file://neutron-juno.yaml | ||
843 | 258 | openstack-dashboard: | ||
844 | 259 | options: | ||
845 | 260 | openstack-origin-git: include-file://horizon-juno.yaml | ||
846 | 261 | nova-compute: | ||
847 | 262 | options: | ||
848 | 263 | openstack-origin-git: include-file://nova-juno.yaml | ||
849 | 264 | nova-cloud-controller: | ||
850 | 265 | options: | ||
851 | 266 | openstack-origin-git: include-file://nova-juno.yaml | ||
852 | 267 | trusty-juno: | ||
853 | 268 | inherits: openstack-juno-git | ||
854 | 269 | series: trusty | ||
855 | 270 | overrides: | ||
856 | 271 | openstack-origin: cloud:trusty-juno | ||
857 | 272 | source: cloud:trusty-juno | ||
858 | 273 | utopic-juno: | ||
859 | 274 | inherits: openstack-juno-git | ||
860 | 275 | series: utopic | ||
861 | 276 | # kilo | ||
862 | 277 | openstack-kilo-git: | ||
863 | 278 | inherits: openstack-icehouse | ||
864 | 279 | services: | ||
865 | 280 | keystone: | ||
866 | 281 | options: | ||
867 | 282 | openstack-origin-git: include-file://keystone-kilo.yaml | ||
868 | 283 | glance: | ||
869 | 284 | options: | ||
870 | 285 | openstack-origin-git: include-file://glance-kilo.yaml | ||
871 | 286 | cinder: | ||
872 | 287 | options: | ||
873 | 288 | openstack-origin-git: include-file://cinder-kilo.yaml | ||
874 | 289 | neutron-api: | ||
875 | 290 | options: | ||
876 | 291 | openstack-origin-git: include-file://neutron-kilo.yaml | ||
877 | 292 | neutron-gateway: | ||
878 | 293 | options: | ||
879 | 294 | openstack-origin-git: include-file://neutron-kilo.yaml | ||
880 | 295 | neutron-openvswitch: | ||
881 | 296 | options: | ||
882 | 297 | openstack-origin-git: include-file://neutron-kilo.yaml | ||
883 | 298 | openstack-dashboard: | ||
884 | 299 | options: | ||
885 | 300 | openstack-origin-git: include-file://horizon-kilo.yaml | ||
886 | 301 | nova-compute: | ||
887 | 302 | options: | ||
888 | 303 | openstack-origin-git: include-file://nova-kilo.yaml | ||
889 | 304 | nova-cloud-controller: | ||
890 | 305 | options: | ||
891 | 306 | openstack-origin-git: include-file://nova-kilo.yaml | ||
892 | 307 | trusty-kilo: | ||
893 | 308 | inherits: openstack-kilo-git | ||
894 | 309 | series: trusty | ||
895 | 310 | overrides: | ||
896 | 311 | openstack-origin: cloud:trusty-kilo | ||
897 | 312 | source: cloud:trusty-kilo | ||
898 | 313 | trusty-kilo-proposed: | ||
899 | 314 | inherits: openstack-kilo-git | ||
900 | 315 | series: trusty | ||
901 | 316 | overrides: | ||
902 | 317 | openstack-origin: cloud:trusty-kilo/proposed | ||
903 | 318 | source: cloud:trusty-kilo/proposed | ||
904 | 319 | vivid-kilo: | ||
905 | 320 | inherits: openstack-kilo-git | ||
906 | 321 | series: vivid | ||
907 | 322 | # master | ||
908 | 323 | openstack-master-git: | ||
909 | 324 | inherits: openstack-icehouse | ||
910 | 325 | services: | ||
911 | 326 | keystone: | ||
912 | 327 | options: | ||
913 | 328 | openstack-origin-git: include-file://keystone-master.yaml | ||
914 | 329 | glance: | ||
915 | 330 | options: | ||
916 | 331 | openstack-origin-git: include-file://glance-master.yaml | ||
917 | 332 | cinder: | ||
918 | 333 | options: | ||
919 | 334 | openstack-origin-git: include-file://cinder-master.yaml | ||
920 | 335 | neutron-api: | ||
921 | 336 | options: | ||
922 | 337 | openstack-origin-git: include-file://neutron-master.yaml | ||
923 | 338 | neutron-gateway: | ||
924 | 339 | options: | ||
925 | 340 | openstack-origin-git: include-file://neutron-master.yaml | ||
926 | 341 | neutron-openvswitch: | ||
927 | 342 | options: | ||
928 | 343 | openstack-origin-git: include-file://neutron-master.yaml | ||
929 | 344 | openstack-dashboard: | ||
930 | 345 | options: | ||
931 | 346 | openstack-origin-git: include-file://horizon-master.yaml | ||
932 | 347 | nova-compute: | ||
933 | 348 | options: | ||
934 | 349 | openstack-origin-git: include-file://nova-master.yaml | ||
935 | 350 | nova-cloud-controller: | ||
936 | 351 | options: | ||
937 | 352 | openstack-origin-git: include-file://nova-master.yaml | ||
938 | 353 | trusty-master: | ||
939 | 354 | inherits: openstack-master-git | ||
940 | 355 | series: trusty | ||
941 | 356 | overrides: | ||
942 | 357 | openstack-origin: cloud:trusty-kilo | ||
943 | 358 | source: cloud:trusty-kilo | ||
944 | 359 | trusty-master-proposed: | ||
945 | 360 | inherits: openstack-master-git | ||
946 | 361 | series: trusty | ||
947 | 362 | overrides: | ||
948 | 363 | openstack-origin: cloud:trusty-kilo/proposed | ||
949 | 364 | source: cloud:trusty-kilo/proposed | ||
950 | 365 | vivid-master: | ||
951 | 366 | inherits: openstack-master-git | ||
952 | 367 | series: vivid | ||
953 | 0 | 368 | ||
954 | === added file 'bundles/lxd/source/neutron-master.yaml' | |||
955 | --- bundles/lxd/source/neutron-master.yaml 1970-01-01 00:00:00 +0000 | |||
956 | +++ bundles/lxd/source/neutron-master.yaml 2015-07-27 14:48:51 +0000 | |||
957 | @@ -0,0 +1,19 @@ | |||
958 | 1 | repositories: | ||
959 | 2 | - {name: requirements, | ||
960 | 3 | repository: 'git://github.com/openstack/requirements', | ||
961 | 4 | branch: master} | ||
962 | 5 | - {name: neutron-fwaas, | ||
963 | 6 | repository: 'git://github.com/openstack/neutron-fwaas', | ||
964 | 7 | branch: master} | ||
965 | 8 | - {name: neutron-lbaas, | ||
966 | 9 | repository: 'git://github.com/openstack/neutron-lbaas', | ||
967 | 10 | branch: master} | ||
968 | 11 | - {name: neutron-vpnaas, | ||
969 | 12 | repository: 'git://github.com/openstack/neutron-vpnaas', | ||
970 | 13 | branch: master} | ||
971 | 14 | - {name: neutron, | ||
972 | 15 | repository: 'git://github.com/openstack/neutron', | ||
973 | 16 | branch: master} | ||
974 | 17 | directory: /mnt/openstack-git | ||
975 | 18 | http_proxy: http://squid.internal:3128 | ||
976 | 19 | https_proxy: http://squid.internal:3128 | ||
977 | 0 | 20 | ||
978 | === added file 'bundles/lxd/source/nova-master.yaml' | |||
979 | --- bundles/lxd/source/nova-master.yaml 1970-01-01 00:00:00 +0000 | |||
980 | +++ bundles/lxd/source/nova-master.yaml 2015-07-27 14:48:51 +0000 | |||
981 | @@ -0,0 +1,19 @@ | |||
982 | 1 | repositories: | ||
983 | 2 | - {name: requirements, | ||
984 | 3 | repository: 'git://github.com/openstack/requirements', | ||
985 | 4 | branch: master} | ||
986 | 5 | - {name: neutron, | ||
987 | 6 | repository: 'git://github.com/openstack/neutron', | ||
988 | 7 | branch: master} | ||
989 | 8 | - {name: pylxd, | ||
990 | 9 | repository: 'https://github.com/lxc/pylxd', | ||
991 | 10 | branch: master} | ||
992 | 11 | - {name: nova-compute-lxd, | ||
993 | 12 | repository: 'https://github.com/lxc/nova-compute-lxd', | ||
994 | 13 | branch: master} | ||
995 | 14 | - {name: nova, | ||
996 | 15 | repository: 'git://github.com/openstack/nova', | ||
997 | 16 | branch: master} | ||
998 | 17 | directory: /mnt/openstack-git | ||
999 | 18 | http_proxy: http://squid.internal:3128 | ||
1000 | 19 | https_proxy: http://squid.internal:3128 | ||
1001 | 0 | 20 | ||
1002 | === modified file 'configure' | |||
1003 | --- configure 2015-07-15 09:26:36 +0000 | |||
1004 | +++ configure 2015-07-27 14:48:51 +0000 | |||
1005 | @@ -1,6 +1,6 @@ | |||
1006 | 1 | #!/bin/sh | 1 | #!/bin/sh |
1007 | 2 | 2 | ||
1009 | 3 | valid="stsstack dellstack kernelstack ppc64el powerkvm" | 3 | valid="stsstack dellstack kernelstack ppc64el powerkvm lxd" |
1010 | 4 | 4 | ||
1011 | 5 | usage() { | 5 | usage() { |
1012 | 6 | echo "$0 <profile>" | 6 | echo "$0 <profile>" |
1013 | 7 | 7 | ||
1014 | === added file 'profiles/lxd' | |||
1015 | --- profiles/lxd 1970-01-01 00:00:00 +0000 | |||
1016 | +++ profiles/lxd 2015-07-27 14:48:51 +0000 | |||
1017 | @@ -0,0 +1,69 @@ | |||
1018 | 1 | #!/bin/bash | ||
1019 | 2 | |||
1020 | 3 | set -ex | ||
1021 | 4 | |||
1022 | 5 | # Set serverstack defaults, if not already set. | ||
1023 | 6 | [[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1" | ||
1024 | 7 | [[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16" | ||
1025 | 8 | [[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254" | ||
1026 | 9 | [[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.160.2" | ||
1027 | 10 | [[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24" | ||
1028 | 11 | [[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.160.50" | ||
1029 | 12 | |||
1030 | 13 | # Accept network type as first parameter, assume gre if unspecified | ||
1031 | 14 | net_type=${1:-"gre"} | ||
1032 | 15 | |||
1033 | 16 | # If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it | ||
1034 | 17 | if [[ "${BARE_METAL^^}" != "TRUE" ]]; then | ||
1035 | 18 | source ~/novarc | ||
1036 | 19 | ./bin/post-deploy-config neutron-gateway | ||
1037 | 20 | fi | ||
1038 | 21 | |||
1039 | 22 | # Configure neutron networking on overcloud | ||
1040 | 23 | source novarc | ||
1041 | 24 | ./bin/quantum-ext-net --network-type $net_type -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net | ||
1042 | 25 | ./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV | ||
1043 | 26 | |||
1044 | 27 | # Create demo/testing users, tenants and flavor | ||
1045 | 28 | keystone tenant-create --name demo | ||
1046 | 29 | keystone user-create --name demo --tenant demo --pass pass --enabled true --email demo@dev.null | ||
1047 | 30 | keystone user-role-add --user demo --role Member --tenant demo || : | ||
1048 | 31 | keystone tenant-create --name alt_demo | ||
1049 | 32 | keystone user-create --name alt_demo --tenant alt_demo --pass secret --enabled true --email alt_demo@dev.null | ||
1050 | 33 | keystone user-role-add --user alt_demo --role Member --tenant alt_demo || : | ||
1051 | 34 | |||
1052 | 35 | nova flavor-create m1.cirros 6 64 1 1 | ||
1053 | 36 | nova flavor-create m1.tempest 7 256 5 1 | ||
1054 | 37 | nova flavor-create m2.tempest 8 512 5 1 | ||
1055 | 38 | |||
1056 | 39 | # Gather vars for tempest template | ||
1057 | 40 | access=$(keystone --os-username demo --os-password pass --os-tenant-name demo ec2-credentials-create | grep access | awk '{ print $4 }') | ||
1058 | 41 | secret=$(keystone ec2-credentials-get --access $access | grep secret | awk '{ print $4 }') | ||
1059 | 42 | image_id=$(glance image-list | grep cirros | awk '{ print $2 }') | ||
1060 | 43 | image_alt_id=$(glance image-list | grep precise | awk '{ print $2 }') | ||
1061 | 44 | ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }') | ||
1062 | 45 | router=$(neutron router-list | grep provider-router | awk '{ print $2}') | ||
1063 | 46 | keystone=$(juju-deployer -f keystone) | ||
1064 | 47 | dashboard=$(juju-deployer -f openstack-dashboard) | ||
1065 | 48 | ncc=$(juju-deployer -f nova-cloud-controller) | ||
1066 | 49 | http=${OS_AUTH_PROTOCOL:-http} | ||
1067 | 50 | |||
1068 | 51 | # Insert vars into tempest conf | ||
1069 | 52 | sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \ | ||
1070 | 53 | -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \ | ||
1071 | 54 | -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \ | ||
1072 | 55 | -e "s/__SWIFT__/$SWIFT_IP/g" \ | ||
1073 | 56 | -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \ | ||
1074 | 57 | templates/tempest/tempest.conf.template > tempest.conf | ||
1075 | 58 | |||
1076 | 59 | # Install dependencies and CLI tools | ||
1077 | 60 | # See also requirements.txt in tempest (probably need to sudo pip install -r requirements.txt) | ||
1078 | 61 | sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \ | ||
1079 | 62 | python-junitxml python-subunit python-testresources python-oslotest python-stevedore \ | ||
1080 | 63 | python-cinderclient python-glanceclient python-heatclient python-keystoneclient \ | ||
1081 | 64 | python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \ | ||
1082 | 65 | openvswitch-test openvswitch-common -y | ||
1083 | 66 | |||
1084 | 67 | # Git tempest, place the rendered tempest template | ||
1085 | 68 | [ -d tempest ] || git clone https://github.com/openstack/tempest | ||
1086 | 69 | cp tempest.conf tempest/etc | ||
1087 | 0 | 70 | ||
1088 | === added file 'tools/images-lxd-convert.sh' | |||
1089 | --- tools/images-lxd-convert.sh 1970-01-01 00:00:00 +0000 | |||
1090 | +++ tools/images-lxd-convert.sh 2015-07-27 14:48:51 +0000 | |||
1091 | @@ -0,0 +1,221 @@ | |||
1092 | 1 | #!/bin/bash | ||
1093 | 2 | |||
1094 | 3 | VERBOSITY=0 | ||
1095 | 4 | TEMP_D="" | ||
1096 | 5 | UC_PREP="/usr/share/lxc/hooks/ubuntu-cloud-prep" | ||
1097 | 6 | |||
1098 | 7 | error() { echo "$@" 1>&2; } | ||
1099 | 8 | fail() { [ $# -eq 0 ] || error "$@"; exit 1; } | ||
1100 | 9 | |||
1101 | 10 | Usage() { | ||
1102 | 11 | cat <<EOF | ||
1103 | 12 | Usage: ${0##*/} [ options ] input-tar output-tarball | ||
1104 | 13 | |||
1105 | 14 | convert cloud-image-root.tar.gz into lxd compatible format, | ||
1106 | 15 | and stuff nocloud seed in on the way. | ||
1107 | 16 | |||
1108 | 17 | options: | ||
1109 | 18 | -h|--help this help | ||
1110 | 19 | -v|--verbose | ||
1111 | 20 | --metadata file to include as metadata.yaml | ||
1112 | 21 | -u|--userdata U user-data for seed. | ||
1113 | 22 | -S|--auth-key P pubkey to insert | ||
1114 | 23 | -C|--cloud C do not seed instance | ||
1115 | 24 | --zip Z compress with tar option Z (default 'J') | ||
1116 | 25 | EOF | ||
1117 | 26 | } | ||
1118 | 27 | |||
1119 | 28 | bad_Usage() { Usage 1>&2; [ $# -eq 0 ] || error "$@"; return 1; } | ||
1120 | 29 | cleanup() { | ||
1121 | 30 | [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}" | ||
1122 | 31 | } | ||
1123 | 32 | |||
1124 | 33 | debug() { | ||
1125 | 34 | local level=${1}; shift; | ||
1126 | 35 | [ "${level}" -gt "${VERBOSITY}" ] && return | ||
1127 | 36 | error "${@}" | ||
1128 | 37 | } | ||
1129 | 38 | |||
1130 | 39 | default_mdyaml() { | ||
1131 | 40 | cat <<EOF | ||
1132 | 41 | architecture: "$(uname -m)" | ||
1133 | 42 | creation_date: $(date "+%s") | ||
1134 | 43 | name: "$1" | ||
1135 | 44 | properties: | ||
1136 | 45 | description: Ubuntu 14.04 LTS Intel 64bit | ||
1137 | 46 | os: Ubuntu | ||
1138 | 47 | EOF | ||
1139 | 48 | } | ||
1140 | 49 | |||
1141 | 50 | default_userdata() { | ||
1142 | 51 | cat <<EOF | ||
1143 | 52 | #cloud-config | ||
1144 | 53 | manage_etc_hosts: localhost | ||
1145 | 54 | password: ubuntu | ||
1146 | 55 | chpasswd: { expire: false; } | ||
1147 | 56 | |||
1148 | 57 | # pollinate hangs without socket timeout if it can't reach network | ||
1149 | 58 | random_seed: | ||
1150 | 59 | command: null | ||
1151 | 60 | |||
1152 | 61 | # growpart and resize_rootfs dont make sense, and should dtrt, but be sure. | ||
1153 | 62 | growpart: | ||
1154 | 63 | mode: off | ||
1155 | 64 | resize_rootfs: null | ||
1156 | 65 | EOF | ||
1157 | 66 | } | ||
1158 | 67 | |||
1159 | 68 | main() { | ||
1160 | 69 | local short_opts="Chu:S:v" | ||
1161 | 70 | local long_opts="auth-key:,cloud,help,metadata:,userdata:,verbose,zip:" | ||
1162 | 71 | local getopt_out="" | ||
1163 | 72 | local pt="" | ||
1164 | 73 | getopt_out=$(getopt --name "${0##*/}" \ | ||
1165 | 74 | --options "${short_opts}" --long "${long_opts}" -- "$@") && | ||
1166 | 75 | eval set -- "${getopt_out}" || | ||
1167 | 76 | { bad_Usage; return; } | ||
1168 | 77 | |||
1169 | 78 | local cur="" next="" input="" output="" authkey="" z_opt="J" vflags="" | ||
1170 | 79 | local ud="" | ||
1171 | 80 | pt=( ) | ||
1172 | 81 | |||
1173 | 82 | while [ $# -ne 0 ]; do | ||
1174 | 83 | cur="$1"; next="$2"; | ||
1175 | 84 | case "$cur" in | ||
1176 | 85 | -h|--help) Usage ; exit 0;; | ||
1177 | 86 | -v|--verbose) VERBOSITY=$((${VERBOSITY}+1)) | ||
1178 | 87 | vflags="${vflags}v";; | ||
1179 | 88 | --metadata) mdyaml="$next";; | ||
1180 | 89 | -u|--userdata) | ||
1181 | 90 | ud="$next"; pt[${#pt[@]}]="--userdata=$next"; shift;; | ||
1182 | 91 | -S|--auth-key) pt[${#pt[@]}]="--auth-key=$next"; shift;; | ||
1183 | 92 | -C|--cloud) pt[${#pt[@]}]="--cloud=$next"; shift;; | ||
1184 | 93 | --zip) z_opt=$next; shift;; | ||
1185 | 94 | --) shift; break;; | ||
1186 | 95 | esac | ||
1187 | 96 | shift; | ||
1188 | 97 | done | ||
1189 | 98 | [ -z "$vflags" ] || vflags="-$vflags" | ||
1190 | 99 | |||
1191 | 100 | [ $# -ne 0 ] || { bad_Usage "must provide arguments"; return; } | ||
1192 | 101 | [ $# -eq 2 ] || | ||
1193 | 102 | { bad_Usage "confused by args. got $# expected 2 [$*]"; return; } | ||
1194 | 103 | |||
1195 | 104 | input=$1 | ||
1196 | 105 | output=$2 | ||
1197 | 106 | |||
1198 | 107 | TEMP_D=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXX") || | ||
1199 | 108 | fail "failed to make tempdir" | ||
1200 | 109 | trap cleanup EXIT | ||
1201 | 110 | |||
1202 | 111 | [ "$(id -u)" = "0" ] || { error "you're not root"; return 1; } | ||
1203 | 112 | command -v "$UC_PREP" >/dev/null 2>&1 || | ||
1204 | 113 | { error "$UC_PREP not available"; return 1; } | ||
1205 | 114 | [ "$input" = "-" -o -f "$input" ] || | ||
1206 | 115 | { error "$input: not a file or -"; return 1; } | ||
1207 | 116 | [ -n "$output" ] || { error "$output: not a file or -"; return 1; } | ||
1208 | 117 | [ -z "$mdyaml" -o -f "$mdyaml" ] || | ||
1209 | 118 | { error "$mdyaml: not a file"; return 1; } | ||
1210 | 119 | |||
1211 | 120 | if [ -z "$ud" ]; then | ||
1212 | 121 | ud="$TEMP_D/user-data" | ||
1213 | 122 | default_userdata > "$ud" | ||
1214 | 123 | pt[${#pt[@]}]="--userdata=$ud" | ||
1215 | 124 | fi | ||
1216 | 125 | |||
1217 | 126 | local extract create ucprep | ||
1218 | 127 | mkdir -p "${TEMP_D}/rootfs" || { error "failed to make rootfs"; return 1; } | ||
1219 | 128 | extract=( | ||
1220 | 129 | tar -C "${TEMP_D}/rootfs" | ||
1221 | 130 | --xattrs "--xattrs-include=*" | ||
1222 | 131 | --anchored "--exclude=dev/*" | ||
1223 | 132 | --numeric-owner -Sxpf "$input" ) | ||
1224 | 133 | |||
1225 | 134 | create=( | ||
1226 | 135 | tar -C "${TEMP_D}/" | ||
1227 | 136 | --xattrs "--xattrs-include=*" | ||
1228 | 137 | -cp${z_opt}f "$output" metadata.yaml rootfs ) | ||
1229 | 138 | create_pxz=( | ||
1230 | 139 | bash -c 'set -o pipefail; | ||
1231 | 140 | tar -C "$1" --xattrs "--xattrs-include=*" \ | ||
1232 | 141 | -cpf - metadata.yaml rootfs | | ||
1233 | 142 | pxz -cv - > "$2"' -- "${TEMP_D}" "$output" | ||
1234 | 143 | ) | ||
1235 | 144 | command -v pxz >/dev/null 2>&1 && create=( "${create_pxz[@]}" ) | ||
1236 | 145 | |||
1237 | 146 | ucprep=( | ||
1238 | 147 | "${UC_PREP}" $vflags "${pt[@]}" "${TEMP_D}/rootfs" ) | ||
1239 | 148 | |||
1240 | 149 | if [ -n "$metadata" ]; then | ||
1241 | 150 | cp "$metadata" "${TEMP_D}/metadata.yaml" || | ||
1242 | 151 | { error "failed cp '$metadata' metadata.yaml"; return 1; } | ||
1243 | 152 | debug 1 "copied metadata.yaml from '$metadata'" | ||
1244 | 153 | else | ||
1245 | 154 | local tname="" | ||
1246 | 155 | tname=${input%.gz}; | ||
1247 | 156 | tname=${tname%.tar}; | ||
1248 | 157 | [ "$input" = "-" ] && tname="unknown name" | ||
1249 | 158 | default_mdyaml "$tname" > "${TEMP_D}/metadata.yaml" || | ||
1250 | 159 | { error "failed write metadata.yaml"; return 1; } | ||
1251 | 160 | debug 1 "wrote questionable metadata.yaml file" | ||
1252 | 161 | fi | ||
1253 | 162 | |||
1254 | 163 | debug 1 "extracting tar to tempdir" | ||
1255 | 164 | debug 2 "cmd: ${extract[*]}" | ||
1256 | 165 | "${extract[@]}" || { error "failed extraction"; return 1; } | ||
1257 | 166 | |||
1258 | 167 | debug 1 "hacking/fixing for lxd" | ||
1259 | 168 | debug 2 "gettys just dont make sense, and upstart restarts" | ||
1260 | 169 | ( cd "${TEMP_D}/rootfs" && | ||
1261 | 170 | for f in etc/init/tty*.conf; do | ||
1262 | 171 | [ -f "$f" ] || continue | ||
1263 | 172 | #[ "${f##*/}" = "tty1.conf" ] || continue | ||
1264 | 173 | o=${f%.conf}.override | ||
1265 | 174 | debug 3 "manual > $o" | ||
1266 | 175 | echo "manual" > "$o" | ||
1267 | 176 | done | ||
1268 | 177 | ) | ||
1269 | 178 | |||
1270 | 179 | debug 2 "update-motd runs from mounted-run.conf on mounted tmpfs" | ||
1271 | 180 | # this is too late to fix via bootcmd | ||
1272 | 181 | nox=" | ||
1273 | 182 | etc/update-motd.d/90-updates-available | ||
1274 | 183 | etc/update-motd.d/91-release-upgrade | ||
1275 | 184 | usr/lib/ubuntu-release-upgrader/release-upgrade-motd | ||
1276 | 185 | usr/lib/update-notifier/apt-check | ||
1277 | 186 | usr/lib/update-notifier/update-motd-updates-available | ||
1278 | 187 | " | ||
1279 | 188 | ( cd "${TEMP_D}/rootfs" && | ||
1280 | 189 | for f in $nox; do [ -e "$f" ] && | ||
1281 | 190 | debug 3 "chmod -x '$f'" && chmod -x "$f"; done ) | ||
1282 | 191 | |||
1283 | 192 | debug 2 "pollinate is heavy, disabling" | ||
1284 | 193 | ( cd "${TEMP_D}/rootfs" | ||
1285 | 194 | f=etc/init/pollinate.conf | ||
1286 | 195 | c=${f%.conf}.override | ||
1287 | 196 | [ -f "$f" ] && debug 3 "manual > $c" && echo "manual" > "$c" | ||
1288 | 197 | ) | ||
1289 | 198 | |||
1290 | 199 | debug 2 "mot.d is annoying here (LP: #1426023)" | ||
1291 | 200 | # this affects ssh in time. as mot.d is run on ssh login | ||
1292 | 201 | ( cd "$TEMP_D/rootfs" && | ||
1293 | 202 | sudo sed -i '/^[^#].*pam_motd/s/^/#/' etc/pam.d/sshd ) | ||
1294 | 203 | |||
1295 | 204 | debug 2 "disabling irqbalance (LP: #1454273)" | ||
1296 | 205 | ( cd "$TEMP_D/rootfs" && | ||
1297 | 206 | f=etc/init/irqbalance.conf | ||
1298 | 207 | c=${f%.conf}.override | ||
1299 | 208 | [ -f "$f" ] && debug 3 "manual > $c" && echo "manual" > "$c" ) | ||
1300 | 209 | |||
1301 | 210 | debug 1 "running ucprep: ${ucprep[*]}" | ||
1302 | 211 | "${ucprep[@]}" || | ||
1303 | 212 | { error "failed to run ${ucprep[*]}"; return 1; } | ||
1304 | 213 | |||
1305 | 214 | debug 1 "writing tar to $out: ${create[*]}" | ||
1306 | 215 | debug 2 "cmd: ${create[*]}" | ||
1307 | 216 | "${create[@]}" || fail "failed writing tar to $out" | ||
1308 | 217 | debug 1 "finished [${SECONDS}]" | ||
1309 | 218 | } | ||
1310 | 219 | |||
1311 | 220 | main "$@" | ||
1312 | 221 | # vi: ts=4 noexpandtab | ||
1313 | 0 | 222 | ||
1314 | === added file 'tools/images_lxd.sh' | |||
1315 | --- tools/images_lxd.sh 1970-01-01 00:00:00 +0000 | |||
1316 | +++ tools/images_lxd.sh 2015-07-27 14:48:51 +0000 | |||
1317 | @@ -0,0 +1,16 @@ | |||
1318 | 1 | #!/bin/bash -e | ||
1319 | 2 | # Download LX images and add to glance | ||
1320 | 3 | |||
1321 | 4 | # Download images if not already present | ||
1322 | 5 | mkdir -p ~/images | ||
1323 | 6 | [ -f ~/images/trusty-server-cloudimg-amd64-root.tar.gz ] || { | ||
1324 | 7 | wget -O ~/images/trusty-server-cloudimg-amd64-root.tar.gz http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.gz | ||
1325 | 8 | } | ||
1326 | 9 | |||
1327 | 10 | sudo images-lxd-convert.sh ~/images/trusty-server-cloudimg-amd64-root.tar.gz \ | ||
1328 | 11 | ~/images/trusty-server-cloudimg-amd64-lxd.tar.gz | ||
1329 | 12 | |||
1330 | 13 | # Upload glance images to overcloud | ||
1331 | 14 | glance image-create --name="trusty-lxd-amd64" --is-public=true --progress \ | ||
1332 | 15 | --container-format=bare --disk-format=qcow2 < ~/images/trusty-server-cloudimg-amd64-lxd.tar.gz | ||
1333 | 16 |