Merge lp:~sfeole/openstack-charm-testing/deprecate into lp:openstack-charm-testing

Proposed by Sean Feole
Status: Merged
Merged at revision: 323
Proposed branch: lp:~sfeole/openstack-charm-testing/deprecate
Merge into: lp:openstack-charm-testing
Diff against target: 8714 lines (+3798/-3795)
218 files modified
README (+3/-143)
README-ipv6.md (+0/-92)
README-lxd.md (+0/-90)
README-multihypervisor.md (+0/-157)
deprecated/README (+143/-0)
deprecated/README-ipv6.md (+92/-0)
deprecated/README-lxd.md (+90/-0)
deprecated/README-multihypervisor.md (+157/-0)
deprecated/novarc (+11/-0)
deprecated/novarc_unset_all (+5/-0)
deprecated/novarcv3_domain (+16/-0)
deprecated/novarcv3_project (+17/-0)
deprecated/profiles/arm64 (+39/-0)
deprecated/profiles/common (+85/-0)
deprecated/profiles/default (+80/-0)
deprecated/profiles/dellstack (+14/-0)
deprecated/profiles/kernelstack (+15/-0)
deprecated/profiles/keystonev3 (+104/-0)
deprecated/profiles/lxd (+112/-0)
deprecated/profiles/multihypervisor (+67/-0)
deprecated/profiles/powerkvm (+46/-0)
deprecated/profiles/ppc64el (+46/-0)
deprecated/profiles/refstack_only (+32/-0)
deprecated/profiles/stsstack (+9/-0)
deprecated/profiles/vpil (+14/-0)
deprecated/requirements.txt (+4/-0)
deprecated/templates/heat/README (+17/-0)
deprecated/templates/heat/heat-basic.yaml (+74/-0)
deprecated/templates/rally/boot-and-associate-floating-ip.yaml (+18/-0)
deprecated/templates/rally/boot-and-block-migrate.yaml (+17/-0)
deprecated/templates/rally/boot-and-delete-multiple.yaml (+18/-0)
deprecated/templates/rally/boot-and-delete-server-with-keypairs.yaml (+20/-0)
deprecated/templates/rally/boot-and-delete-server-with-secgroups.yaml (+21/-0)
deprecated/templates/rally/boot-and-delete.yaml (+18/-0)
deprecated/templates/rally/boot-and-get-console-server.yaml (+18/-0)
deprecated/templates/rally/boot-and-list.yaml (+19/-0)
deprecated/templates/rally/boot-and-live-migrate.yaml (+17/-0)
deprecated/templates/rally/boot-and-migrate.yaml (+16/-0)
deprecated/templates/rally/boot-and-rebuild.yaml (+18/-0)
deprecated/templates/rally/boot-and-show-server.yaml (+18/-0)
deprecated/templates/rally/boot-bounce-delete.yaml (+27/-0)
deprecated/templates/rally/boot-from-volume-and-delete.yaml (+19/-0)
deprecated/templates/rally/boot-from-volume-and-resize.yaml (+25/-0)
deprecated/templates/rally/boot-from-volume.yaml (+18/-0)
deprecated/templates/rally/boot-lock-unlock-and-delete.yaml (+17/-0)
deprecated/templates/rally/boot-server-attach-created-volume-and-live-migrate.yaml (+20/-0)
deprecated/templates/rally/boot-server-attach-created-volume-and-resize.yaml (+25/-0)
deprecated/templates/rally/boot-server-from-volume-and-live-migrate.yaml (+19/-0)
deprecated/templates/rally/boot-snapshot-boot-delete.yaml (+18/-0)
deprecated/templates/rally/boot.yaml (+17/-0)
deprecated/templates/rally/create-and-delete-floating-ips-bulk.yaml (+13/-0)
deprecated/templates/rally/create-and-delete-keypair.yaml (+11/-0)
deprecated/templates/rally/create-and-delete-network.yaml (+13/-0)
deprecated/templates/rally/create-and-delete-secgroups.yaml (+14/-0)
deprecated/templates/rally/create-and-list-floating-ips-bulk.yaml (+14/-0)
deprecated/templates/rally/create-and-list-keypairs.yaml (+11/-0)
deprecated/templates/rally/create-and-list-networks.yaml (+13/-0)
deprecated/templates/rally/create-and-list-secgroups.yaml (+14/-0)
deprecated/templates/rally/create-and-update-secgroups.yaml (+13/-0)
deprecated/templates/rally/list-agents.yaml (+7/-0)
deprecated/templates/rally/list-aggregates.yaml (+7/-0)
deprecated/templates/rally/list-availability-zones.yaml (+9/-0)
deprecated/templates/rally/list-flavors.yaml (+13/-0)
deprecated/templates/rally/list-hosts.yaml (+7/-0)
deprecated/templates/rally/list-hypervisors.yaml (+9/-0)
deprecated/templates/rally/list-images.yaml (+13/-0)
deprecated/templates/rally/list-servers.yaml (+20/-0)
deprecated/templates/rally/list-services.yaml (+7/-0)
deprecated/templates/rally/pause-and-unpause.yaml (+18/-0)
deprecated/templates/rally/resize-server.yaml (+21/-0)
deprecated/templates/rally/shelve-and-unshelve.yaml (+18/-0)
deprecated/templates/rally/suspend-and-resume.yaml (+18/-0)
deprecated/templates/tempest/accounts.yaml (+6/-0)
deprecated/templates/tempest/tempest-v3.conf.template (+71/-0)
deprecated/templates/tempest/tempest.conf.oil_example (+461/-0)
deprecated/templates/tempest/tempest.conf.template (+94/-0)
deprecated/templates/tempest/tempest.conf.template.basic (+90/-0)
deprecated/templates/tempest/tempest.conf.template.lxd (+86/-0)
deprecated/templates/tempest/tempest.refstack.template.conf (+102/-0)
deprecated/tools/deprecated/ppc64el-post-deploy-patches.sh (+80/-0)
deprecated/tools/flavor_default.sh (+5/-0)
deprecated/tools/flavor_shrink.sh (+5/-0)
deprecated/tools/float_all.sh (+39/-0)
deprecated/tools/float_all_new.sh (+44/-0)
deprecated/tools/hardening/run-apache-tests (+15/-0)
deprecated/tools/hardening/run-mysql-tests (+15/-0)
deprecated/tools/hardening/run-os-tests (+4/-0)
deprecated/tools/hardening/run-ssh-tests (+16/-0)
deprecated/tools/images_amd64.sh (+39/-0)
deprecated/tools/images_arm64.sh (+13/-0)
deprecated/tools/images_lxd.sh (+19/-0)
deprecated/tools/images_lxd_convert.sh (+221/-0)
deprecated/tools/images_ppc64el.sh (+24/-0)
deprecated/tools/inject_kernel_ppa.sh (+24/-0)
deprecated/tools/install_rally.sh (+45/-0)
deprecated/tools/instance_delete_all.sh (+11/-0)
deprecated/tools/instance_flavor_show.sh (+8/-0)
deprecated/tools/instance_hypervisor_show.sh (+8/-0)
deprecated/tools/instance_launch.sh (+37/-0)
deprecated/tools/instance_ssh_ping_all.sh (+6/-0)
deprecated/tools/instance_start_all.sh (+2/-0)
deprecated/tools/instance_stop_all.sh (+3/-0)
deprecated/tools/instance_wait.sh (+29/-0)
deprecated/tools/ipv6/check-cluster-status.sh (+25/-0)
deprecated/tools/ipv6/check-db-grants.sh (+17/-0)
deprecated/tools/ipv6/novarc (+6/-0)
deprecated/tools/ipv6/post-deploy-test.sh (+19/-0)
deprecated/tools/keystone_ca.sh (+9/-0)
deprecated/tools/quota_high.sh (+25/-0)
deprecated/tools/quota_million.sh (+25/-0)
deprecated/tools/sec_groups.sh (+8/-0)
deprecated/tox.ini (+35/-0)
deprecated/tune-and-launch (+9/-0)
novarc (+0/-11)
novarc_unset_all (+0/-5)
novarcv3_domain (+0/-16)
novarcv3_project (+0/-17)
profiles/arm64 (+0/-39)
profiles/common (+0/-85)
profiles/default (+0/-80)
profiles/dellstack (+0/-14)
profiles/kernelstack (+0/-15)
profiles/keystonev3 (+0/-104)
profiles/lxd (+0/-112)
profiles/multihypervisor (+0/-67)
profiles/powerkvm (+0/-46)
profiles/ppc64el (+0/-46)
profiles/refstack_only (+0/-32)
profiles/stsstack (+0/-9)
profiles/vpil (+0/-14)
requirements.txt (+0/-4)
templates/heat/README (+0/-17)
templates/heat/heat-basic.yaml (+0/-74)
templates/rally/boot-and-associate-floating-ip.yaml (+0/-18)
templates/rally/boot-and-block-migrate.yaml (+0/-17)
templates/rally/boot-and-delete-multiple.yaml (+0/-18)
templates/rally/boot-and-delete-server-with-keypairs.yaml (+0/-20)
templates/rally/boot-and-delete-server-with-secgroups.yaml (+0/-21)
templates/rally/boot-and-delete.yaml (+0/-18)
templates/rally/boot-and-get-console-server.yaml (+0/-18)
templates/rally/boot-and-list.yaml (+0/-19)
templates/rally/boot-and-live-migrate.yaml (+0/-17)
templates/rally/boot-and-migrate.yaml (+0/-16)
templates/rally/boot-and-rebuild.yaml (+0/-18)
templates/rally/boot-and-show-server.yaml (+0/-18)
templates/rally/boot-bounce-delete.yaml (+0/-27)
templates/rally/boot-from-volume-and-delete.yaml (+0/-19)
templates/rally/boot-from-volume-and-resize.yaml (+0/-25)
templates/rally/boot-from-volume.yaml (+0/-18)
templates/rally/boot-lock-unlock-and-delete.yaml (+0/-17)
templates/rally/boot-server-attach-created-volume-and-live-migrate.yaml (+0/-20)
templates/rally/boot-server-attach-created-volume-and-resize.yaml (+0/-25)
templates/rally/boot-server-from-volume-and-live-migrate.yaml (+0/-19)
templates/rally/boot-snapshot-boot-delete.yaml (+0/-18)
templates/rally/boot.yaml (+0/-17)
templates/rally/create-and-delete-floating-ips-bulk.yaml (+0/-13)
templates/rally/create-and-delete-keypair.yaml (+0/-11)
templates/rally/create-and-delete-network.yaml (+0/-13)
templates/rally/create-and-delete-secgroups.yaml (+0/-14)
templates/rally/create-and-list-floating-ips-bulk.yaml (+0/-14)
templates/rally/create-and-list-keypairs.yaml (+0/-11)
templates/rally/create-and-list-networks.yaml (+0/-13)
templates/rally/create-and-list-secgroups.yaml (+0/-14)
templates/rally/create-and-update-secgroups.yaml (+0/-13)
templates/rally/list-agents.yaml (+0/-7)
templates/rally/list-aggregates.yaml (+0/-7)
templates/rally/list-availability-zones.yaml (+0/-9)
templates/rally/list-flavors.yaml (+0/-13)
templates/rally/list-hosts.yaml (+0/-7)
templates/rally/list-hypervisors.yaml (+0/-9)
templates/rally/list-images.yaml (+0/-13)
templates/rally/list-servers.yaml (+0/-20)
templates/rally/list-services.yaml (+0/-7)
templates/rally/pause-and-unpause.yaml (+0/-18)
templates/rally/resize-server.yaml (+0/-21)
templates/rally/shelve-and-unshelve.yaml (+0/-18)
templates/rally/suspend-and-resume.yaml (+0/-18)
templates/tempest/accounts.yaml (+0/-6)
templates/tempest/tempest-v3.conf.template (+0/-71)
templates/tempest/tempest.conf.oil_example (+0/-461)
templates/tempest/tempest.conf.template (+0/-94)
templates/tempest/tempest.conf.template.basic (+0/-90)
templates/tempest/tempest.conf.template.lxd (+0/-86)
templates/tempest/tempest.refstack.template.conf (+0/-102)
tools/deprecated/ppc64el-post-deploy-patches.sh (+0/-80)
tools/flavor_default.sh (+0/-5)
tools/flavor_shrink.sh (+0/-5)
tools/float_all.sh (+0/-39)
tools/float_all_new.sh (+0/-44)
tools/hardening/run-apache-tests (+0/-15)
tools/hardening/run-mysql-tests (+0/-15)
tools/hardening/run-os-tests (+0/-4)
tools/hardening/run-ssh-tests (+0/-16)
tools/images_amd64.sh (+0/-39)
tools/images_arm64.sh (+0/-13)
tools/images_lxd.sh (+0/-19)
tools/images_lxd_convert.sh (+0/-221)
tools/images_ppc64el.sh (+0/-24)
tools/inject_kernel_ppa.sh (+0/-24)
tools/install_rally.sh (+0/-45)
tools/instance_delete_all.sh (+0/-11)
tools/instance_flavor_show.sh (+0/-8)
tools/instance_hypervisor_show.sh (+0/-8)
tools/instance_launch.sh (+0/-37)
tools/instance_ssh_ping_all.sh (+0/-6)
tools/instance_start_all.sh (+0/-2)
tools/instance_stop_all.sh (+0/-3)
tools/instance_wait.sh (+0/-29)
tools/ipv6/check-cluster-status.sh (+0/-25)
tools/ipv6/check-db-grants.sh (+0/-17)
tools/ipv6/novarc (+0/-6)
tools/ipv6/post-deploy-test.sh (+0/-19)
tools/keystone_ca.sh (+0/-9)
tools/quota_high.sh (+0/-25)
tools/quota_million.sh (+0/-25)
tools/sec_groups.sh (+0/-8)
tox.ini (+0/-35)
tune-and-launch (+0/-9)
To merge this branch: bzr merge lp:~sfeole/openstack-charm-testing/deprecate
Reviewer Review Type Date Requested Status
Ryan Beisner Approve
Sean Feole (community) Needs Resubmitting
Review via email: mp+341663@code.launchpad.net

Description of the change

openstack-charm-testing has been moved to Github @ https://github.com/openstack-charmers/openstack-charm-testing

To post a comment you must log in.
Revision history for this message
Ryan Beisner (1chb1n) wrote :

One small nit, but for clarity, can you name the directory "deprecated" ? Thank you.

review: Needs Fixing
324. By Sean Feole

rename dir to "deprecated"

Revision history for this message
Sean Feole (sfeole) wrote :

fixed

review: Needs Resubmitting
Revision history for this message
Ryan Beisner (1chb1n) :
review: Approve
Revision history for this message
Sean Feole (sfeole) wrote :

I don't have perms to push to OCT on bzr ;P

On Mon, Mar 19, 2018 at 12:03 PM, Ryan Beisner <email address hidden>
wrote:

> Review: Approve
>
>
> --
> https://code.launchpad.net/~sfeole/openstack-charm-
> testing/deprecate/+merge/341663
> You are the owner of lp:~sfeole/openstack-charm-testing/deprecate.
>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'README'
2--- README 2016-07-28 15:42:39 +0000
3+++ README 2018-03-19 16:01:39 +0000
4@@ -1,143 +1,3 @@
5-OpenStack-Charm-Testing
6-
7-about
8-=====
9-
10-This openstack-charm-testing (aka o-c-t) project contains reference
11-juju deployer bundles, post-deployment configuration scripts, and
12-other templates for Ubuntu OpenStack charm testing.
13-
14-For automated testing, the Ubuntu OpenStack CI engine (aka uosci)
15-consumes the bundles and other templates provided herein.
16-
17-OpenStack package and charm developers also perform manual testing
18-based on this collection of bundles and templates, as well as using
19-the next.yaml and default.yaml bundles as a baseline for edge cases and
20-special testing.
21-
22-Generally, these configurations are tuned for virtual deployments,
23-ie. testing short-lived OpenStack overclouds on top of an OpenStack
24-undercloud. Some pieces may be specific to Canonical Server Team's
25-internal dev cloud ('serverstack'), but can be easily modified for
26-bare metal or other environments.
27-
28-
29-deploy
30-======
31-
32-juju-deployer --bootstrap -c default.yaml -d trusty-juno
33-
34-targets exist for most combinations, e.g.:
35-
36- trusty-icehouse
37- trusty-mitaka-proposed
38- xenial-mitaka
39-
40-
41-configure
42-=========
43-
44-To configure serverstack run:
45- ./configure
46-
47-To configure profiles 'dellstack, stsstack, ppc64el, kernelstack, lxd, multihypervisor', run:
48- ./configure <profile>
49-
50-These "configure" scripts:
51-
52-a) Add an extra port to the neutron-gateway service for
53- OpenStack-on-OpenStack deployments (ie. serverstack, stsstack).
54-
55-b) Configure appropriate external networking
56-
57-c) Download and upload images from ~/images
58-
59-d) Create demo tenants
60-
61-e) Write a tempest configuration file and clone the tempest repository from upstream
62-
63-
64-test - tempest smoke
65-====================
66-
67-```
68-juju action do heat/0 domain-setup # Manual action required to configure heat permissions
69-cd tempest
70-sudo apt-get install python-dev python-virtualenv libffi-dev libssl-dev libyaml-dev -y
71-virtualenv .venv
72-.venv/bin/pip install -r requirements.txt
73-.venv/bin/pip install python-ceilometerclient python-cinderclient python-glanceclient python-heatclient \
74- python-keystoneclient python-neutronclient python-novaclient python-swiftclient python-openstackclient pytz
75-./run_tempest.sh -V --smoke
76-```
77-
78-NOTES:
79-
80- * Some failures are to be expected, depending on deployment environment (firewall, proxy
81- restrictions, capacity, etc.).
82-
83-
84-test - tempest full
85-===================
86-
87- * Full tests include over 2000 exercises and may take several
88- hours to execute.
89-
90-cd tempest
91-sudo pip install -r requirements.txt
92-./run_tempest.sh -N -t
93-
94-
95-destroy
96-=======
97-
98-juju destroy-environment <your-enviro-name>
99-
100-
101-manual instance test example (tools usage)
102-==========================================
103-
104- * A common use for the bundles and tools might look like this.
105- * See the tune-and-launch script as one common post-deployment time-saver.
106-
107-```
108-# deploy a cloud
109-juju-deployer --bootstrap -c default.yaml -d trusty-juno
110-
111-# configure the cloud and add images
112-./configure (or use configure-dellstack or configure-stsstack)
113-
114-# get overcloud credentials
115-. novarc
116-
117-# check basic cloud and CLI functionality
118-nova hypervisor-list && glance image-list && keystone token-get
119-
120-# shrink flavors just for testing
121-./tools/flavor_shrink.sh
122-
123-# bump up quotas to a ridiculous level
124-./tools/quota_million.sh
125-
126-# add security groups
127-./tools/sec_groups.sh
128-
129-# launch some amd64 instances
130-./tools/instance_launch.sh 2 cirros
131-./tools/instance_launch.sh 2 trusty
132-./tools/instance_launch.sh 2 xenial
133-
134-# optionally add ppc64el images
135-./tools/images_ppc64el.sh
136-
137-# optionally launch ppc64el instances
138-./tools/instance_launch.sh 2 trusty-ppc64el
139-./tools/instance_launch.sh 2 xenial-ppc64el
140-
141-# give floating IPs to all instances
142-./tools/float_all.sh
143-
144-# ssh to any of the new instances
145-nova list
146-ssh -i ~/testkey.pem <floating-ip-address>
147-```
148+Please Note: bzr lp:openstack-charm-testing has been moved to GitHub \o/
149+
150+Please Refer to: https://github.com/openstack-charmers/openstack-charm-testing
151
152=== removed file 'README-ipv6.md'
153--- README-ipv6.md 2016-06-28 12:08:43 +0000
154+++ README-ipv6.md 1970-01-01 00:00:00 +0000
155@@ -1,92 +0,0 @@
156-Openstack Charms with IPv6
157-==========================
158-How to deploy Openstack charms on an IPv6 network.
159-
160-NOTE[0]: the percona-cluster charm includes a workaround for bug 1380747 which
161- is intended to be removed once this issue is fixed upstream.
162-
163-NOTE[1]: swift-proxy and neutron-gateway both require python-eventlet >= 0.17
164- which only exists in distro as of Ubuntu Wily (Openstack Liberty).
165-
166-Requirements
167-============
168-In order for IPv6 enabled charms to work, hosts much be configured with ipv6
169-addresses. For test purposes one case use radvd to automatically provide ipv6
170-addresses to nodes on your network so that you end up with something similar
171-to the following:
172-```
173-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP group default qlen 1000
174- link/ether fa:16:3e:d3:99:81 brd ff:ff:ff:ff:ff:ff
175- inet 10.5.0.77/16 brd 10.5.255.255 scope global eth0
176- valid_lft forever preferred_lft forever
177- inet6 2001:db8:0:1:f816:3eff:fed3:9981/64 scope global dynamic
178- valid_lft 86147sec preferred_lft 14147sec
179- inet6 fe80::f816:3eff:fed3:9981/64 scope link
180- valid_lft forever preferred_lft forever
181-```
182-NOTE: ensure that ipv6 privacy extensions are DISABLED since the charms do not
183-support this feature. Ubuntu server currently has them disabled by default and
184-desktop has them enabled.
185-
186-Configuring RADVD
187-=================
188-
189-1) Install
190-
191- sudo apt-get install radvd
192-
193-2) Set gateway address (assuming eth0 throughout here)
194-
195- sudo ip addr add 2001:db8:0:1::2/64 dev eth0
196-
197-3) Configure
198-
199- In /etc/radvd.conf:
200-
201- The prefix "2001:db8:0:1::/64" should be changed according to real network
202- allocation e.g.
203-
204- interface eth0
205- {
206- AdvSendAdvert on;
207- prefix 2001:db8:0:1::/64
208- {
209- AdvOnLink on;
210- AdvAutonomous on;
211- };
212- };
213-
214-4) sudo service radvd restart
215-
216-5) Make sure ipv6 forwarding is enabled
217-```
218- echo "net.ipv6.conf.all.forwarding = 1"| sudo tee /etc/sysctl.d/100-openstack-charms-ipv6.conf
219- sudo sysctl -p /etc/sysctl.d/100-openstack-charms-ipv6.conf
220-```
221-6) Let IPv6 pass through the firewall
222-```
223- sudo ip6tables -F
224-```
225-7) If you are deploying to Openstack, make sure your nova/neutron security
226- group rules are allowing Ingress ICMP and TCP (./tools/sec_groups.sh)
227-
228-
229-Deploying the charms
230-====================
231-
232-1) choose a bundle from:
233-
234- * bundles/ipv6/next-ipv6.yaml - deploys charms ipv6 from the development branches
235- * bundles/ipv6/next-ipv6-ha.yaml - deploys charms as HA ipv6 from the development branches
236-
237-2) Using one of the above do:
238-```
239- juju-deployer -c <bundle> -d trusty-mitaka
240-```
241-
242-3) Once complete, switch novarc to tools/ipv6/novarc and run ./configure <profile>
243-
244-NOTE: if you are not deploying HA you'll need to set OS_AUTH_URL to the v6 address of your keystone unit
245-
246-4) You can then run tests found in the tools/ipv6 directory
247-
248
249=== removed file 'README-lxd.md'
250--- README-lxd.md 2017-03-17 10:11:04 +0000
251+++ README-lxd.md 1970-01-01 00:00:00 +0000
252@@ -1,90 +0,0 @@
253-OpenStack w/ LXD Hypervisor Scenario
254-=====================================
255-An OpenStack-on-OpenStack example exercise.
256-
257-
258-### Get o-c-t bundle and scripts
259-```
260-mkdir -p ~/tools
261-bzr branch lp:openstack-charm-testing ~/tools/openstack-charm-testing
262-cd ~/./tools/openstack-charm-testing
263-```
264-
265-### Deploy
266-Bootstrap, then deploy Wily + Liberty.
267-```
268-juju-deployer -vdB -c bundles/lxd/next.yaml xenial-mitaka
269-```
270-
271-### Configure
272-Add images, add 2nd NIC to neutron-gateway instance, create images, tenant, tenant router, networks.
273-```
274-./configure lxd
275-```
276-
277-### Source the deployed overcloud nova credentials
278-```
279-. ~/tools/openstack-charm-testing/novarc
280-```
281-
282-### Inspect and confirm the deployed cloud
283-
284-```
285-glance image-list
286-```
287-
288-```
289-nova hypervisor-list
290-```
291-
292-```
293-nova service-list
294-```
295-
296-```
297-neutron net-list
298-```
299-
300-### Shrink flavors
301-Not required, but useful when testing density.
302-```
303-./tools/flavor_shrink.sh
304-```
305-
306-### Set quotas really high
307-Not required, but allows drastic resource overcommits.
308-```
309-./tools/quota_million.sh
310-```
311-
312-### Set security groups + MTU
313-Very permissive secgroups for testing, and lower instance MTU due to nested tunnels in cloud-on-cloud scenarios.
314-```
315-./tools/sec_groups.sh
316-```
317-
318-### Create 3 new Trusty and 3 new Xenial lxd instances
319-```
320-./tools/instance_launch.sh 3 trusty
321-./tools/instance_launch.sh 3 xenial
322-```
323-
324-### Watch the instances go ACTIVE
325-```
326-watch nova list
327-```
328-
329-### Assign floating IP addresses
330-```
331-./tools/float_all.sh
332-```
333-
334-### Confirm floating IPs
335-```
336-nova list
337-```
338-
339-### Confirm SSH access & connectivity to new instances
340-```
341-ssh -i ~/testkey.pem ubuntu@n.n.n.n "uname -a"
342-```
343
344=== removed file 'README-multihypervisor.md'
345--- README-multihypervisor.md 2016-04-21 21:21:39 +0000
346+++ README-multihypervisor.md 1970-01-01 00:00:00 +0000
347@@ -1,157 +0,0 @@
348-Multi-Hypervisor Scenario (LXD + KVM)
349-=====================================
350-An OpenStack-on-OpenStack example exercise.
351-
352-
353-### Get o-c-t bundle and scripts
354-```
355-mkdir -p ~/tools
356-bzr branch lp:openstack-charm-testing ~/tools/openstack-charm-testing
357-cd ~/./tools/openstack-charm-testing
358-```
359-
360-### Deploy
361-Bootstrap, then deploy Wily + Liberty.
362-```
363-juju-deployer -vdB -c bundles/multi-hypervisor/default.yaml xenial-mitaka
364-```
365-
366-### Configure
367-Add images, add 2nd NIC to neutron-gateway instance, create tenant, tenant router, networks.
368-```
369-./configure multihypervisor
370-```
371-
372-### Source the deployed overcloud nova credentials
373-```
374-. ~/tools/openstack-charm-testing/novarc
375-```
376-
377-### Inspect and confirm the deployed cloud
378-
379-```
380-glance image-list
381-+--------------------------------------+--------------------+-------------+------------------+-----------+--------+
382-| ID | Name | Disk Format | Container Format | Size | Status |
383-+--------------------------------------+--------------------+-------------+------------------+-----------+--------+
384-| 91169c9a-aa5f-4cd3-bd60-120c7fa3d5d6 | trusty-disk1.img | qcow2 | bare | 258540032 | active |
385-| 9ecade03-de12-42ad-9a0e-f7b12f73c8fb | trusty-root.tar.xz | root-tar | bare | 123953936 | active |
386-+--------------------------------------+--------------------+-------------+------------------+-----------+--------+
387-```
388-
389-```
390-nova hypervisor-list
391-+----+--------------------------------------+
392-| ID | Hypervisor hostname |
393-+----+--------------------------------------+
394-| 1 | juju-beis1-machine-19 |
395-| 2 | juju-beis1-machine-18 |
396-| 3 | juju-beis1-machine-16.openstacklocal |
397-| 4 | juju-beis1-machine-15.openstacklocal |
398-| 5 | juju-beis1-machine-14.openstacklocal |
399-| 6 | juju-beis1-machine-17 |
400-+----+--------------------------------------+
401-```
402-
403-```
404-nova service-list
405-+----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
406-| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
407-+----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
408-| nova-cert | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:04.000000 | - |
409-| nova-scheduler | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:05.000000 | - |
410-| nova-conductor | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:06.000000 | - |
411-| nova-compute | juju-beis1-machine-19 | nova | enabled | up | 2015-11-30T20:05:07.000000 | - |
412-| nova-compute | juju-beis1-machine-18 | nova | enabled | up | 2015-11-30T20:05:08.000000 | - |
413-| nova-compute | juju-beis1-machine-16 | nova | enabled | up | 2015-11-30T20:05:03.000000 | - |
414-| nova-compute | juju-beis1-machine-15 | nova | enabled | up | 2015-11-30T20:05:05.000000 | - |
415-| nova-compute | juju-beis1-machine-14 | nova | enabled | up | 2015-11-30T20:05:03.000000 | - |
416-| nova-compute | juju-beis1-machine-17 | nova | enabled | up | 2015-11-30T20:05:06.000000 | - |
417-+----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
418-```
419-
420-```
421-neutron net-list
422-+--------------------------------------+---------+------------------------------------------------------+
423-| id | name | subnets |
424-+--------------------------------------+---------+------------------------------------------------------+
425-| cdfadc0d-be81-4d62-8e1c-ede821e98cfa | ext_net | b4da69d0-19a3-4e29-abb4-dbb809f34097 10.5.0.0/16 |
426-| 66a4df1e-f0ad-48bf-b2f8-005c41caa42f | private | 0fbba4b3-5471-4cd7-a9f9-3b04feece594 192.168.21.0/24 |
427-+--------------------------------------+---------+------------------------------------------------------+
428-```
429-
430-### Shrink flavors
431-Not required, but useful when testing density.
432-```
433-./tools/flavor_shrink.sh
434-```
435-
436-### Set quotas really high
437-Not required, but allows drastic resource overcommits.
438-```
439-./tools/quota_million.sh
440-```
441-
442-### Set security groups + MTU
443-Very permissive secgroups for testing, and lower instance MTU due to nested tunnels in cloud-on-cloud scenarios.
444-```
445-./tools/sec_groups.sh
446-```
447-
448-### Create 3 new trusty (kvm) instances
449-```
450-./tools/instance_launch.sh 3 trusty-disk1.img
451-```
452-
453-### Create 3 new trusty (lxd) instances
454-```
455-./tools/instance_launch.sh 3 trusty-root.tar.xz
456-```
457-
458-### Watch the instances go ACTIVE
459-```
460-watch nova list
461-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
462-| ID | Name | Status | Task State | Power State | Networks |
463-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
464-| 9e1cc2f1-082f-4bec-9cdb-b99f3b010aeb | trusty-disk1.img210034 | ACTIVE | - | Running | private=192.168.21.9 |
465-| 038f63b8-62c1-4504-8f22-73d577500b34 | trusty-disk1.img210057 | ACTIVE | - | Running | private=192.168.21.10 |
466-| 31767f21-4558-401e-93bb-1e1cd8b3fc8a | trusty-disk1.img210120 | ACTIVE | - | Running | private=192.168.21.11 |
467-| 85cec6b1-fb39-4e9c-bb08-4cea3381a24c | trusty-root.tar.xz210148 | ACTIVE | - | Running | private=192.168.21.12 |
468-| c947e805-91e5-4b9d-bc93-41ab5b73a4fa | trusty-root.tar.xz210211 | ACTIVE | - | Running | private=192.168.21.13 |
469-| 3c46e502-793e-44a0-a66f-de68e20e19f5 | trusty-root.tar.xz210234 | BUILD | spawning | NOSTATE | private=192.168.21.14 |
470-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
471-```
472-
473-### Assign floating IP addresses
474-```
475-./tools/float_all.sh
476-```
477-
478-### Confirm floating IPs
479-```
480-nova list
481-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
482-| ID | Name | Status | Task State | Power State | Networks |
483-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
484-| 9e1cc2f1-082f-4bec-9cdb-b99f3b010aeb | trusty-disk1.img210034 | ACTIVE | - | Running | private=192.168.21.9, 10.5.150.6 |
485-| 038f63b8-62c1-4504-8f22-73d577500b34 | trusty-disk1.img210057 | ACTIVE | - | Running | private=192.168.21.10, 10.5.150.4 |
486-| 31767f21-4558-401e-93bb-1e1cd8b3fc8a | trusty-disk1.img210120 | ACTIVE | - | Running | private=192.168.21.11, 10.5.150.1 |
487-| 85cec6b1-fb39-4e9c-bb08-4cea3381a24c | trusty-root.tar.xz210148 | ACTIVE | - | Running | private=192.168.21.12, 10.5.150.3 |
488-| c947e805-91e5-4b9d-bc93-41ab5b73a4fa | trusty-root.tar.xz210211 | ACTIVE | - | Running | private=192.168.21.13, 10.5.150.2 |
489-| 3c46e502-793e-44a0-a66f-de68e20e19f5 | trusty-root.tar.xz210234 | ACTIVE | - | Running | private=192.168.21.14, 10.5.150.5 |
490-+--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
491-```
492-
493-### Confirm SSH access & connectivity to new instances
494-```
495-ssh -i ~/testkey.pem ubuntu@10.5.150.1 "uname -a"
496-Warning: Permanently added '10.5.150.1' (ECDSA) to the list of known hosts.
497-Linux trusty-disk1 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
498-```
499-```
500-ssh -i ~/testkey.pem ubuntu@10.5.150.2 "uname -a"
501-Warning: Permanently added '10.5.150.2' (ECDSA) to the list of known hosts.
502-Linux trusty-root 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
503-```
504-
505
506=== added directory 'deprecated'
507=== added file 'deprecated/README'
508--- deprecated/README 1970-01-01 00:00:00 +0000
509+++ deprecated/README 2018-03-19 16:01:39 +0000
510@@ -0,0 +1,143 @@
511+OpenStack-Charm-Testing
512+
513+about
514+=====
515+
516+This openstack-charm-testing (aka o-c-t) project contains reference
517+juju deployer bundles, post-deployment configuration scripts, and
518+other templates for Ubuntu OpenStack charm testing.
519+
520+For automated testing, the Ubuntu OpenStack CI engine (aka uosci)
521+consumes the bundles and other templates provided herein.
522+
523+OpenStack package and charm developers also perform manual testing
524+based on this collection of bundles and templates, as well as using
525+the next.yaml and default.yaml bundles as a baseline for edge cases and
526+special testing.
527+
528+Generally, these configurations are tuned for virtual deployments,
529+ie. testing short-lived OpenStack overclouds on top of an OpenStack
530+undercloud. Some pieces may be specific to Canonical Server Team's
531+internal dev cloud ('serverstack'), but can be easily modified for
532+bare metal or other environments.
533+
534+
535+deploy
536+======
537+
538+juju-deployer --bootstrap -c default.yaml -d trusty-juno
539+
540+targets exist for most combinations, e.g.:
541+
542+ trusty-icehouse
543+ trusty-mitaka-proposed
544+ xenial-mitaka
545+
546+
547+configure
548+=========
549+
550+To configure serverstack run:
551+ ./configure
552+
553+To configure profiles 'dellstack, stsstack, ppc64el, kernelstack, lxd, multihypervisor', run:
554+ ./configure <profile>
555+
556+These "configure" scripts:
557+
558+a) Add an extra port to the neutron-gateway service for
559+ OpenStack-on-OpenStack deployments (ie. serverstack, stsstack).
560+
561+b) Configure appropriate external networking
562+
563+c) Download and upload images from ~/images
564+
565+d) Create demo tenants
566+
567+e) Write a tempest configuration file and clone the tempest repository from upstream
568+
569+
570+test - tempest smoke
571+====================
572+
573+```
574+juju action do heat/0 domain-setup # Manual action required to configure heat permissions
575+cd tempest
576+sudo apt-get install python-dev python-virtualenv libffi-dev libssl-dev libyaml-dev -y
577+virtualenv .venv
578+.venv/bin/pip install -r requirements.txt
579+.venv/bin/pip install python-ceilometerclient python-cinderclient python-glanceclient python-heatclient \
580+ python-keystoneclient python-neutronclient python-novaclient python-swiftclient python-openstackclient pytz
581+./run_tempest.sh -V --smoke
582+```
583+
584+NOTES:
585+
586+ * Some failures are to be expected, depending on deployment environment (firewall, proxy
587+ restrictions, capacity, etc.).
588+
589+
590+test - tempest full
591+===================
592+
593+ * Full tests include over 2000 exercises and may take several
594+ hours to execute.
595+
596+cd tempest
597+sudo pip install -r requirements.txt
598+./run_tempest.sh -N -t
599+
600+
601+destroy
602+=======
603+
604+juju destroy-environment <your-enviro-name>
605+
606+
607+manual instance test example (tools usage)
608+==========================================
609+
610+ * A common use for the bundles and tools might look like this.
611+ * See the tune-and-launch script as one common post-deployment time-saver.
612+
613+```
614+# deploy a cloud
615+juju-deployer --bootstrap -c default.yaml -d trusty-juno
616+
617+# configure the cloud and add images
618+./configure (or use configure-dellstack or configure-stsstack)
619+
620+# get overcloud credentials
621+. novarc
622+
623+# check basic cloud and CLI functionality
624+nova hypervisor-list && glance image-list && keystone token-get
625+
626+# shrink flavors just for testing
627+./tools/flavor_shrink.sh
628+
629+# bump up quotas to a ridiculous level
630+./tools/quota_million.sh
631+
632+# add security groups
633+./tools/sec_groups.sh
634+
635+# launch some amd64 instances
636+./tools/instance_launch.sh 2 cirros
637+./tools/instance_launch.sh 2 trusty
638+./tools/instance_launch.sh 2 xenial
639+
640+# optionally add ppc64el images
641+./tools/images_ppc64el.sh
642+
643+# optionally launch ppc64el instances
644+./tools/instance_launch.sh 2 trusty-ppc64el
645+./tools/instance_launch.sh 2 xenial-ppc64el
646+
647+# give floating IPs to all instances
648+./tools/float_all.sh
649+
650+# ssh to any of the new instances
651+nova list
652+ssh -i ~/testkey.pem <floating-ip-address>
653+```
654
655=== added file 'deprecated/README-ipv6.md'
656--- deprecated/README-ipv6.md 1970-01-01 00:00:00 +0000
657+++ deprecated/README-ipv6.md 2018-03-19 16:01:39 +0000
658@@ -0,0 +1,92 @@
659+Openstack Charms with IPv6
660+==========================
661+How to deploy Openstack charms on an IPv6 network.
662+
663+NOTE[0]: the percona-cluster charm includes a workaround for bug 1380747 which
664+ is intended to be removed once this issue is fixed upstream.
665+
666+NOTE[1]: swift-proxy and neutron-gateway both require python-eventlet >= 0.17
667+ which only exists in distro as of Ubuntu Wily (Openstack Liberty).
668+
669+Requirements
670+============
671+In order for IPv6 enabled charms to work, hosts much be configured with ipv6
672+addresses. For test purposes one case use radvd to automatically provide ipv6
673+addresses to nodes on your network so that you end up with something similar
674+to the following:
675+```
676+eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP group default qlen 1000
677+ link/ether fa:16:3e:d3:99:81 brd ff:ff:ff:ff:ff:ff
678+ inet 10.5.0.77/16 brd 10.5.255.255 scope global eth0
679+ valid_lft forever preferred_lft forever
680+ inet6 2001:db8:0:1:f816:3eff:fed3:9981/64 scope global dynamic
681+ valid_lft 86147sec preferred_lft 14147sec
682+ inet6 fe80::f816:3eff:fed3:9981/64 scope link
683+ valid_lft forever preferred_lft forever
684+```
685+NOTE: ensure that ipv6 privacy extensions are DISABLED since the charms do not
686+support this feature. Ubuntu server currently has them disabled by default and
687+desktop has them enabled.
688+
689+Configuring RADVD
690+=================
691+
692+1) Install
693+
694+ sudo apt-get install radvd
695+
696+2) Set gateway address (assuming eth0 throughout here)
697+
698+ sudo ip addr add 2001:db8:0:1::2/64 dev eth0
699+
700+3) Configure
701+
702+ In /etc/radvd.conf:
703+
704+ The prefix "2001:db8:0:1::/64" should be changed according to real network
705+ allocation e.g.
706+
707+ interface eth0
708+ {
709+ AdvSendAdvert on;
710+ prefix 2001:db8:0:1::/64
711+ {
712+ AdvOnLink on;
713+ AdvAutonomous on;
714+ };
715+ };
716+
717+4) sudo service radvd restart
718+
719+5) Make sure ipv6 forwarding is enabled
720+```
721+ echo "net.ipv6.conf.all.forwarding = 1"| sudo tee /etc/sysctl.d/100-openstack-charms-ipv6.conf
722+ sudo sysctl -p /etc/sysctl.d/100-openstack-charms-ipv6.conf
723+```
724+6) Let IPv6 pass through the firewall
725+```
726+ sudo ip6tables -F
727+```
728+7) If you are deploying to Openstack, make sure your nova/neutron security
729+ group rules are allowing Ingress ICMP and TCP (./tools/sec_groups.sh)
730+
731+
732+Deploying the charms
733+====================
734+
735+1) choose a bundle from:
736+
737+ * bundles/ipv6/next-ipv6.yaml - deploys charms ipv6 from the development branches
738+ * bundles/ipv6/next-ipv6-ha.yaml - deploys charms as HA ipv6 from the development branches
739+
740+2) Using one of the above do:
741+```
742+ juju-deployer -c <bundle> -d trusty-mitaka
743+```
744+
745+3) Once complete, switch novarc to tools/ipv6/novarc and run ./configure <profile>
746+
747+NOTE: if you are not deploying HA you'll need to set OS_AUTH_URL to the v6 address of your keystone unit
748+
749+4) You can then run tests found in the tools/ipv6 directory
750+
751
752=== added file 'deprecated/README-lxd.md'
753--- deprecated/README-lxd.md 1970-01-01 00:00:00 +0000
754+++ deprecated/README-lxd.md 2018-03-19 16:01:39 +0000
755@@ -0,0 +1,90 @@
756+OpenStack w/ LXD Hypervisor Scenario
757+=====================================
758+An OpenStack-on-OpenStack example exercise.
759+
760+
761+### Get o-c-t bundle and scripts
762+```
763+mkdir -p ~/tools
764+bzr branch lp:openstack-charm-testing ~/tools/openstack-charm-testing
765+cd ~/./tools/openstack-charm-testing
766+```
767+
768+### Deploy
769+Bootstrap, then deploy Wily + Liberty.
770+```
771+juju-deployer -vdB -c bundles/lxd/next.yaml xenial-mitaka
772+```
773+
774+### Configure
775+Add images, add 2nd NIC to neutron-gateway instance, create images, tenant, tenant router, networks.
776+```
777+./configure lxd
778+```
779+
780+### Source the deployed overcloud nova credentials
781+```
782+. ~/tools/openstack-charm-testing/novarc
783+```
784+
785+### Inspect and confirm the deployed cloud
786+
787+```
788+glance image-list
789+```
790+
791+```
792+nova hypervisor-list
793+```
794+
795+```
796+nova service-list
797+```
798+
799+```
800+neutron net-list
801+```
802+
803+### Shrink flavors
804+Not required, but useful when testing density.
805+```
806+./tools/flavor_shrink.sh
807+```
808+
809+### Set quotas really high
810+Not required, but allows drastic resource overcommits.
811+```
812+./tools/quota_million.sh
813+```
814+
815+### Set security groups + MTU
816+Very permissive secgroups for testing, and lower instance MTU due to nested tunnels in cloud-on-cloud scenarios.
817+```
818+./tools/sec_groups.sh
819+```
820+
821+### Create 3 new Trusty and 3 new Xenial lxd instances
822+```
823+./tools/instance_launch.sh 3 trusty
824+./tools/instance_launch.sh 3 xenial
825+```
826+
827+### Watch the instances go ACTIVE
828+```
829+watch nova list
830+```
831+
832+### Assign floating IP addresses
833+```
834+./tools/float_all.sh
835+```
836+
837+### Confirm floating IPs
838+```
839+nova list
840+```
841+
842+### Confirm SSH access & connectivity to new instances
843+```
844+ssh -i ~/testkey.pem ubuntu@n.n.n.n "uname -a"
845+```
846
847=== added file 'deprecated/README-multihypervisor.md'
848--- deprecated/README-multihypervisor.md 1970-01-01 00:00:00 +0000
849+++ deprecated/README-multihypervisor.md 2018-03-19 16:01:39 +0000
850@@ -0,0 +1,157 @@
851+Multi-Hypervisor Scenario (LXD + KVM)
852+=====================================
853+An OpenStack-on-OpenStack example exercise.
854+
855+
856+### Get o-c-t bundle and scripts
857+```
858+mkdir -p ~/tools
859+bzr branch lp:openstack-charm-testing ~/tools/openstack-charm-testing
860+cd ~/./tools/openstack-charm-testing
861+```
862+
863+### Deploy
864+Bootstrap, then deploy Wily + Liberty.
865+```
866+juju-deployer -vdB -c bundles/multi-hypervisor/default.yaml xenial-mitaka
867+```
868+
869+### Configure
870+Add images, add 2nd NIC to neutron-gateway instance, create tenant, tenant router, networks.
871+```
872+./configure multihypervisor
873+```
874+
875+### Source the deployed overcloud nova credentials
876+```
877+. ~/tools/openstack-charm-testing/novarc
878+```
879+
880+### Inspect and confirm the deployed cloud
881+
882+```
883+glance image-list
884++--------------------------------------+--------------------+-------------+------------------+-----------+--------+
885+| ID | Name | Disk Format | Container Format | Size | Status |
886++--------------------------------------+--------------------+-------------+------------------+-----------+--------+
887+| 91169c9a-aa5f-4cd3-bd60-120c7fa3d5d6 | trusty-disk1.img | qcow2 | bare | 258540032 | active |
888+| 9ecade03-de12-42ad-9a0e-f7b12f73c8fb | trusty-root.tar.xz | root-tar | bare | 123953936 | active |
889++--------------------------------------+--------------------+-------------+------------------+-----------+--------+
890+```
891+
892+```
893+nova hypervisor-list
894++----+--------------------------------------+
895+| ID | Hypervisor hostname |
896++----+--------------------------------------+
897+| 1 | juju-beis1-machine-19 |
898+| 2 | juju-beis1-machine-18 |
899+| 3 | juju-beis1-machine-16.openstacklocal |
900+| 4 | juju-beis1-machine-15.openstacklocal |
901+| 5 | juju-beis1-machine-14.openstacklocal |
902+| 6 | juju-beis1-machine-17 |
903++----+--------------------------------------+
904+```
905+
906+```
907+nova service-list
908++----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
909+| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
910++----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
911+| nova-cert | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:04.000000 | - |
912+| nova-scheduler | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:05.000000 | - |
913+| nova-conductor | juju-beis1-machine-13 | internal | enabled | up | 2015-11-30T20:05:06.000000 | - |
914+| nova-compute | juju-beis1-machine-19 | nova | enabled | up | 2015-11-30T20:05:07.000000 | - |
915+| nova-compute | juju-beis1-machine-18 | nova | enabled | up | 2015-11-30T20:05:08.000000 | - |
916+| nova-compute | juju-beis1-machine-16 | nova | enabled | up | 2015-11-30T20:05:03.000000 | - |
917+| nova-compute | juju-beis1-machine-15 | nova | enabled | up | 2015-11-30T20:05:05.000000 | - |
918+| nova-compute | juju-beis1-machine-14 | nova | enabled | up | 2015-11-30T20:05:03.000000 | - |
919+| nova-compute | juju-beis1-machine-17 | nova | enabled | up | 2015-11-30T20:05:06.000000 | - |
920++----------------+-----------------------+----------+---------+-------+----------------------------+-----------------+
921+```
922+
923+```
924+neutron net-list
925++--------------------------------------+---------+------------------------------------------------------+
926+| id | name | subnets |
927++--------------------------------------+---------+------------------------------------------------------+
928+| cdfadc0d-be81-4d62-8e1c-ede821e98cfa | ext_net | b4da69d0-19a3-4e29-abb4-dbb809f34097 10.5.0.0/16 |
929+| 66a4df1e-f0ad-48bf-b2f8-005c41caa42f | private | 0fbba4b3-5471-4cd7-a9f9-3b04feece594 192.168.21.0/24 |
930++--------------------------------------+---------+------------------------------------------------------+
931+```
932+
933+### Shrink flavors
934+Not required, but useful when testing density.
935+```
936+./tools/flavor_shrink.sh
937+```
938+
939+### Set quotas really high
940+Not required, but allows drastic resource overcommits.
941+```
942+./tools/quota_million.sh
943+```
944+
945+### Set security groups + MTU
946+Very permissive secgroups for testing, and lower instance MTU due to nested tunnels in cloud-on-cloud scenarios.
947+```
948+./tools/sec_groups.sh
949+```
950+
951+### Create 3 new trusty (kvm) instances
952+```
953+./tools/instance_launch.sh 3 trusty-disk1.img
954+```
955+
956+### Create 3 new trusty (lxd) instances
957+```
958+./tools/instance_launch.sh 3 trusty-root.tar.xz
959+```
960+
961+### Watch the instances go ACTIVE
962+```
963+watch nova list
964++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
965+| ID | Name | Status | Task State | Power State | Networks |
966++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
967+| 9e1cc2f1-082f-4bec-9cdb-b99f3b010aeb | trusty-disk1.img210034 | ACTIVE | - | Running | private=192.168.21.9 |
968+| 038f63b8-62c1-4504-8f22-73d577500b34 | trusty-disk1.img210057 | ACTIVE | - | Running | private=192.168.21.10 |
969+| 31767f21-4558-401e-93bb-1e1cd8b3fc8a | trusty-disk1.img210120 | ACTIVE | - | Running | private=192.168.21.11 |
970+| 85cec6b1-fb39-4e9c-bb08-4cea3381a24c | trusty-root.tar.xz210148 | ACTIVE | - | Running | private=192.168.21.12 |
971+| c947e805-91e5-4b9d-bc93-41ab5b73a4fa | trusty-root.tar.xz210211 | ACTIVE | - | Running | private=192.168.21.13 |
972+| 3c46e502-793e-44a0-a66f-de68e20e19f5 | trusty-root.tar.xz210234 | BUILD | spawning | NOSTATE | private=192.168.21.14 |
973++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------+
974+```
975+
976+### Assign floating IP addresses
977+```
978+./tools/float_all.sh
979+```
980+
981+### Confirm floating IPs
982+```
983+nova list
984++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
985+| ID | Name | Status | Task State | Power State | Networks |
986++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
987+| 9e1cc2f1-082f-4bec-9cdb-b99f3b010aeb | trusty-disk1.img210034 | ACTIVE | - | Running | private=192.168.21.9, 10.5.150.6 |
988+| 038f63b8-62c1-4504-8f22-73d577500b34 | trusty-disk1.img210057 | ACTIVE | - | Running | private=192.168.21.10, 10.5.150.4 |
989+| 31767f21-4558-401e-93bb-1e1cd8b3fc8a | trusty-disk1.img210120 | ACTIVE | - | Running | private=192.168.21.11, 10.5.150.1 |
990+| 85cec6b1-fb39-4e9c-bb08-4cea3381a24c | trusty-root.tar.xz210148 | ACTIVE | - | Running | private=192.168.21.12, 10.5.150.3 |
991+| c947e805-91e5-4b9d-bc93-41ab5b73a4fa | trusty-root.tar.xz210211 | ACTIVE | - | Running | private=192.168.21.13, 10.5.150.2 |
992+| 3c46e502-793e-44a0-a66f-de68e20e19f5 | trusty-root.tar.xz210234 | ACTIVE | - | Running | private=192.168.21.14, 10.5.150.5 |
993++--------------------------------------+--------------------------+--------+------------+-------------+-----------------------------------+
994+```
995+
996+### Confirm SSH access & connectivity to new instances
997+```
998+ssh -i ~/testkey.pem ubuntu@10.5.150.1 "uname -a"
999+Warning: Permanently added '10.5.150.1' (ECDSA) to the list of known hosts.
1000+Linux trusty-disk1 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1001+```
1002+```
1003+ssh -i ~/testkey.pem ubuntu@10.5.150.2 "uname -a"
1004+Warning: Permanently added '10.5.150.2' (ECDSA) to the list of known hosts.
1005+Linux trusty-root 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1006+```
1007+
1008
1009=== renamed directory 'bin' => 'deprecated/bin'
1010=== renamed directory 'bundles' => 'deprecated/bundles'
1011=== renamed file 'configure' => 'deprecated/configure'
1012=== renamed symlink 'default.yaml' => 'deprecated/default.yaml'
1013=== renamed directory 'demos' => 'deprecated/demos'
1014=== added symlink 'deprecated/next.yaml'
1015=== target is u'bundles/sparse/next.yaml'
1016=== added file 'deprecated/novarc'
1017--- deprecated/novarc 1970-01-01 00:00:00 +0000
1018+++ deprecated/novarc 2018-03-19 16:01:39 +0000
1019@@ -0,0 +1,11 @@
1020+_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
1021+for param in $_OS_PARAMS; do
1022+ unset $param
1023+done
1024+unset _OS_PARAMS
1025+export OS_USERNAME=admin
1026+export OS_PASSWORD=openstack
1027+export OS_TENANT_NAME=admin
1028+export OS_REGION_NAME=RegionOne
1029+export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v2.0
1030+export OS_AUTH_TYPE=password
1031
1032=== added file 'deprecated/novarc_unset_all'
1033--- deprecated/novarc_unset_all 1970-01-01 00:00:00 +0000
1034+++ deprecated/novarc_unset_all 2018-03-19 16:01:39 +0000
1035@@ -0,0 +1,5 @@
1036+_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
1037+for param in $_OS_PARAMS; do
1038+ unset $param
1039+done
1040+unset _OS_PARAMS
1041
1042=== added file 'deprecated/novarcv3_domain'
1043--- deprecated/novarcv3_domain 1970-01-01 00:00:00 +0000
1044+++ deprecated/novarcv3_domain 2018-03-19 16:01:39 +0000
1045@@ -0,0 +1,16 @@
1046+_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
1047+for param in $_OS_PARAMS; do
1048+ unset $param
1049+done
1050+unset _OS_PARAMS
1051+export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v3
1052+export OS_USERNAME=admin
1053+export OS_PASSWORD=openstack
1054+export OS_REGION_NAME=RegionOne
1055+export OS_DOMAIN_NAME=admin_domain
1056+export OS_USER_DOMAIN_NAME=admin_domain
1057+export OS_IDENTITY_API_VERSION=3
1058+# Swift needs this:
1059+export OS_AUTH_VERSION=3
1060+# Gnocchi needs this:
1061+export OS_AUTH_TYPE=password
1062
1063=== added file 'deprecated/novarcv3_project'
1064--- deprecated/novarcv3_project 1970-01-01 00:00:00 +0000
1065+++ deprecated/novarcv3_project 2018-03-19 16:01:39 +0000
1066@@ -0,0 +1,17 @@
1067+_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
1068+for param in $_OS_PARAMS; do
1069+ unset $param
1070+done
1071+unset _OS_PARAMS
1072+export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v3
1073+export OS_USERNAME=admin
1074+export OS_PASSWORD=openstack
1075+export OS_USER_DOMAIN_NAME=admin_domain
1076+export OS_PROJECT_DOMAIN_NAME=admin_domain
1077+export OS_PROJECT_NAME=admin
1078+export OS_REGION_NAME=RegionOne
1079+export OS_IDENTITY_API_VERSION=3
1080+# Swift needs this:
1081+export OS_AUTH_VERSION=3
1082+# Gnocchi needs this
1083+export OS_AUTH_TYPE=password
1084
1085=== added directory 'deprecated/profiles'
1086=== added file 'deprecated/profiles/arm64'
1087--- deprecated/profiles/arm64 1970-01-01 00:00:00 +0000
1088+++ deprecated/profiles/arm64 2018-03-19 16:01:39 +0000
1089@@ -0,0 +1,39 @@
1090+#!/bin/bash -ex
1091+# An experimental configuration script for configuring a ppc64el OpenStack test cloud.
1092+# Useful in manual deployment testing.
1093+
1094+. ./profiles/common
1095+
1096+[[ -z "$GATEWAY" ]] && export GATEWAY="10.245.168.1"
1097+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.245.168.0/21"
1098+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.245.172.0:10.245.172.255"
1099+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1100+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1101+
1102+export BARE_METAL="True"
1103+
1104+# Accept network type as first parameter, assume gre if unspecified
1105+net_type=${1:-"gre"}
1106+
1107+# Configure neutron networking on overcloud
1108+source novarc
1109+./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1110+./bin/neutron-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1111+
1112+juju_config_neutron_mtu
1113+create_tempest_users
1114+create_tempest_flavors
1115+create_default_flavors
1116+
1117+# Install monitoring, probing and troubleshooting tools on all units
1118+juju run --all "sudo apt-get install htop atop nload iptraf nmap multitail iperf pastebinit stress sysstat -y"
1119+
1120+# Load images into glance
1121+tools/images_arm64.sh
1122+
1123+# Set security groups and rules
1124+tools/sec_groups.sh
1125+
1126+# Tune for higher-density testing
1127+tools/flavor_shrink.sh
1128+tools/quota_million.sh
1129
1130=== added file 'deprecated/profiles/common'
1131--- deprecated/profiles/common 1970-01-01 00:00:00 +0000
1132+++ deprecated/profiles/common 2018-03-19 16:01:39 +0000
1133@@ -0,0 +1,85 @@
1134+#!/bin/bash
1135+
1136+function upload_image {
1137+ src=$1
1138+ image_name=$2
1139+ image_file=$3
1140+ image_format=${4:-"qcow2"}
1141+ image_hv_type=${5:-"qemu"}
1142+ image_arch=${6:-"x86_64"}
1143+
1144+ case "$src" in
1145+ swift) http_root="http://$SWIFT_IP:80/swift/v1/images";;
1146+ cloudimages) http_root="http://cloud-images.ubuntu.com/${image_name}/current";;
1147+ esac
1148+
1149+ mkdir -vp ~/images
1150+
1151+ [ -f ~/images/$image_file ] || {
1152+ wget -O ~/images/$image_file ${http_root}/${image_file}
1153+ }
1154+
1155+ openstack image show $image_name || {
1156+ openstack image create --public \
1157+ --container-format=bare --disk-format=$image_format \
1158+ --file=${HOME}/images/$image_file $image_name \
1159+ --property architecture=$image_arch \
1160+ --property hypervisor_type=$image_hv_type
1161+ }
1162+}
1163+
1164+function install_packages {
1165+ # Install dependencies and CLI tools
1166+ # See also requirements.txt in tempest (probably need to sudo pip install -r requirements.txt)
1167+
1168+ echo "NOTE: The configure script no longer sudo apt installs packages. If you find a client is missing on your machine, resolve it manually in advance of ./configure."
1169+
1170+ #sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \
1171+ # python-junitxml python-subunit python-testresources python-oslotest python-stevedore \
1172+ # python-cinderclient python-glanceclient python-heatclient python-keystoneclient \
1173+ # python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \
1174+ # python-openstackclient openvswitch-test openvswitch-common -y
1175+}
1176+
1177+function create_tempest_users {
1178+ # Create demo/testing users, tenants and flavor
1179+ openstack project show demo || openstack project create demo
1180+ openstack user show demo || openstack user create --project demo --password pass --enable --email demo@dev.null demo
1181+ openstack role show Member || openstack role create Member
1182+ openstack role add --user demo --project demo Member || :
1183+ openstack project show alt_demo || openstack project create alt_demo
1184+ openstack user show alt_demo || openstack user create --project alt_demo --password secret --enable --email alt_demo@dev.null alt_demo
1185+ openstack role add --user alt_demo --project alt_demo Member || :
1186+}
1187+
1188+function create_tempest_flavors {
1189+ openstack flavor show m1.cirros || openstack flavor create --id 6 --ram 64 --disk 1 --vcpus 1 m1.cirros
1190+ openstack flavor show m1.tempest || openstack flavor create --id 7 --ram 256 --disk 5 --vcpus 1 m1.tempest
1191+ openstack flavor show m2.tempest || openstack flavor create --id 8 --ram 512 --disk 5 --vcpus 1 m2.tempest
1192+}
1193+
1194+function create_default_flavors {
1195+ openstack flavor show m1.tiny || openstack flavor create --id 1 --ram 512 --disk 1 --vcpus 1 m1.tiny
1196+ openstack flavor show m1.small || openstack flavor create --id 2 --ram 2048 --disk 20 --vcpus 1 m1.small
1197+ openstack flavor show m1.medium || openstack flavor create --id 3 --ram 4096 --disk 20 --vcpus 2 m1.medium
1198+ openstack flavor show m1.large || openstack flavor create --id 4 --ram 8192 --disk 20 --vcpus 4 m1.large
1199+ openstack flavor show m1.xlarge || openstack flavor create --id 5 --ram 16384 --disk 20 --vcpus 8 m1.xlarge
1200+}
1201+
1202+function shrink_flavors {
1203+ openstack flavor delete m1.tiny ||:
1204+ openstack flavor delete m1.small ||:
1205+ openstack flavor delete m1.medium ||:
1206+ openstack flavor delete m1.large ||:
1207+ openstack flavor delete m1.xlarge ||:
1208+ openstack flavor create --id 1 --ram 512 --disk 1 --swap 0 --vcpus 1 m1.tiny
1209+ openstack flavor create --id 2 --ram 768 --disk 10 --swap 2048 --vcpus 1 m1.small
1210+ openstack flavor create --id 3 --ram 1024 --disk 12 --swap 2048 --vcpus 2 m1.medium
1211+ openstack flavor create --id 4 --ram 1536 --disk 14 --swap 2048 --vcpus 4 m1.large
1212+ openstack flavor create --id 5 --ram 2048 --disk 16 --swap 2048 --vcpus 8 m1.xlarge
1213+}
1214+
1215+function juju_config_neutron_mtu {
1216+ juju set neutron-gateway instance-mtu=1300 &> /dev/null ||
1217+ juju config neutron-gateway instance-mtu=1300 &> /dev/null
1218+}
1219
1220=== added file 'deprecated/profiles/default'
1221--- deprecated/profiles/default 1970-01-01 00:00:00 +0000
1222+++ deprecated/profiles/default 2018-03-19 16:01:39 +0000
1223@@ -0,0 +1,80 @@
1224+#!/bin/bash
1225+
1226+set -ex
1227+
1228+. ./profiles/common
1229+
1230+install_packages
1231+
1232+# Set serverstack defaults, if not already set.
1233+[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
1234+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16"
1235+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254"
1236+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1237+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24"
1238+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1239+
1240+# Accept network type as first parameter, assume gre if unspecified
1241+net_type=${1:-"gre"}
1242+
1243+# If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it
1244+if [[ "${BARE_METAL^^}" != "TRUE" ]]; then
1245+ source ~/novarc
1246+ ./bin/post-deploy-config neutron-gateway
1247+fi
1248+
1249+# Configure neutron networking on overcloud
1250+source novarc
1251+./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1252+./bin/neutron-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1253+
1254+upload_image cloudimages xenial xenial-server-cloudimg-amd64-disk1.img
1255+upload_image cloudimages trusty trusty-server-cloudimg-amd64-disk1.img
1256+upload_image cloudimages precise precise-server-cloudimg-amd64-disk1.img
1257+upload_image swift cirros cirros-0.3.4-x86_64-disk.img
1258+upload_image swift cirros2 cirros-0.3.4-x86_64-disk.img
1259+
1260+image_id=$(openstack image list | awk '/cirros\s/ {print $2}')
1261+image_alt_id=$(openstack image list | awk '/cirros2\s/ {print $2}')
1262+
1263+create_tempest_users
1264+
1265+access=$(openstack --os-username demo --os-password pass --os-tenant-name demo ec2 credentials create | grep access | awk '{ print $4 }')
1266+secret=$(openstack ec2 credentials show $access | grep secret | awk '{ print $4 }')
1267+
1268+create_tempest_flavors
1269+create_default_flavors
1270+
1271+# Gather vars for tempest template
1272+ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }')
1273+router=$(neutron router-list | grep provider-router | awk '{ print $2}')
1274+keystone=$(juju-deployer -f keystone)
1275+dashboard=$(juju-deployer -f openstack-dashboard)
1276+ncc=$(juju-deployer -f nova-cloud-controller)
1277+http=${OS_AUTH_PROTOCOL:-http}
1278+
1279+# Insert vars into tempest conf
1280+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1281+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1282+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1283+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1284+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1285+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1286+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1287+ templates/tempest/tempest.conf.template > tempest.conf
1288+
1289+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1290+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1291+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1292+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1293+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1294+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1295+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1296+ templates/tempest/tempest.refstack.template.conf > tempest_refstack.conf
1297+
1298+# Git tempest, place the rendered tempest template
1299+[ -d tempest ] || git clone https://github.com/openstack/tempest
1300+# Checkout latest commit that included run_tempest.sh. This is a stop-gap until
1301+# OSCI uses tempest charm or switches to new style of executing tempest tests.
1302+git --git-dir=tempest/.git --work-tree=tempest checkout f2ba23f7834facb2bfe7c376840e7630881d1bf9
1303+cp tempest.conf tempest/etc
1304
1305=== added file 'deprecated/profiles/dellstack'
1306--- deprecated/profiles/dellstack 1970-01-01 00:00:00 +0000
1307+++ deprecated/profiles/dellstack 2018-03-19 16:01:39 +0000
1308@@ -0,0 +1,14 @@
1309+#!/bin/bash
1310+
1311+set -ex
1312+
1313+# Set dellstack overrides, if not already set.
1314+[[ -z "$GATEWAY" ]] && export GATEWAY="10.245.168.1"
1315+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.245.168.0/21"
1316+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.245.171.0:10.245.171.255"
1317+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.2"
1318+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1319+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1320+
1321+export BARE_METAL="True"
1322+./profiles/default $1 $2 $3 $4 $5
1323
1324=== added file 'deprecated/profiles/kernelstack'
1325--- deprecated/profiles/kernelstack 1970-01-01 00:00:00 +0000
1326+++ deprecated/profiles/kernelstack 2018-03-19 16:01:39 +0000
1327@@ -0,0 +1,15 @@
1328+#!/bin/bash
1329+
1330+set -ex
1331+
1332+# Set kernelstack overrides, if not already set.
1333+[[ -z "$GATEWAY" ]] && export GATEWAY="10.38.0.1"
1334+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.38.0.0/19"
1335+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.38.3.0:10.38.10.254"
1336+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.38.0.1"
1337+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1338+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.0.38.3"
1339+
1340+export BARE_METAL="True"
1341+./profiles/default $1 $2 $3 $4 $5
1342+
1343
1344=== added file 'deprecated/profiles/keystonev3'
1345--- deprecated/profiles/keystonev3 1970-01-01 00:00:00 +0000
1346+++ deprecated/profiles/keystonev3 2018-03-19 16:01:39 +0000
1347@@ -0,0 +1,104 @@
1348+#!/bin/bash
1349+
1350+set -ex
1351+
1352+function upload_image {
1353+ src=$1
1354+ image_name=$2
1355+ image_file=$3
1356+ case "$src" in
1357+ swift) http_root="http://$SWIFT_IP:80/swift/v1/images";;
1358+ cloudimages) http_root="http://cloud-images.ubuntu.com/${image_name}/current";;
1359+ esac
1360+ [ -f ~/images/$image_file ] || {
1361+ wget -O ~/images/$image_file ${http_root}/${image_file}
1362+ }
1363+ openstack image show $image_name || {
1364+ openstack image create --public --container-format=bare --disk-format=qcow2 --file=${HOME}/images/$image_file $image_name
1365+ }
1366+}
1367+
1368+# Install dependencies and CLI tools
1369+# See also requirements.txt in tempest (probably need to sudo pip install -r requirements.txt)
1370+#sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \
1371+# python-junitxml python-subunit python-testresources python-oslotest python-stevedore \
1372+# python-cinderclient python-glanceclient python-heatclient python-keystoneclient \
1373+# python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \
1374+# openvswitch-test openvswitch-common -y
1375+
1376+# Set serverstack defaults, if not already set.
1377+[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
1378+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16"
1379+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254"
1380+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1381+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24"
1382+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1383+
1384+# Accept network type as first parameter, assume gre if unspecified
1385+net_type=${1:-"gre"}
1386+
1387+# If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it
1388+if [[ "${BARE_METAL^^}" != "TRUE" ]]; then
1389+ unset OS_DEFAULT_DOMAIN OS_PROJECT_NAME OS_IDENTITY_API_VERSION OS_PROJECT_DOMAIN_NAME
1390+ source novarc_unset_all
1391+ source ~/novarc
1392+ ./bin/post-deploy-config neutron-gateway
1393+fi
1394+
1395+# Configure neutron networking on overcloud
1396+source novarcv3_domain
1397+./bin/neutron-ext-net-ksv3 --project admin --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1398+./bin/neutron-tenant-net-ksv3 --project admin --network-type $net_type -r provider-router -N $NAMESERVER private $CIDR_PRIV
1399+ext_net=$(openstack network list | awk '/ext_net/ {print $2}')
1400+
1401+# Create demo/testing users, tenants and flavor
1402+openstack project show demo || openstack project create demo
1403+openstack user show demo || openstack user create --project demo --password pass --enable --email demo@dev.null demo
1404+openstack role show Member || openstack role create Member
1405+openstack role add --user demo --project demo Member
1406+openstack project show alt_demo || openstack project create alt_demo
1407+openstack user show alt_demo || openstack user create --project alt_demo --password secret --enable --email alt_demo@dev.null alt_demo
1408+openstack role add --user alt_demo --project alt_demo Member
1409+access=$(openstack ec2 credentials create --user demo --project demo | awk '/access/ {print $4}')
1410+secret=$(openstack ec2 credentials show $access | awk '/secret/ {print $4}')
1411+
1412+source novarcv3_project
1413+# Download images if not already present
1414+mkdir -vp ~/images
1415+upload_image cloudimages xenial xenial-server-cloudimg-amd64-disk1.img
1416+upload_image cloudimages trusty trusty-server-cloudimg-amd64-disk1.img
1417+upload_image cloudimages precise precise-server-cloudimg-amd64-disk1.img
1418+upload_image swift cirros cirros-0.3.4-x86_64-disk.img
1419+image_id=$(openstack image list | awk '/cirros/ {print $2}')
1420+image_alt_id=$(openstack image list | awk '/precise/ {print $2}')
1421+
1422+
1423+echo "Flavors"
1424+openstack flavor show m1.cirros || openstack flavor create --id 6 --ram 64 --disk 1 --vcpus 1 m1.cirros
1425+openstack flavor show m1.tempest || openstack flavor create --id 7 --ram 256 --disk 5 --vcpus 1 m1.tempest
1426+openstack flavor show m2.tempest || openstack flavor create --id 8 --ram 512 --disk 5 --vcpus 1 m2.tempest
1427+
1428+echo "Tempest"
1429+router=$(neutron --os-project-name admin router-list | grep provider-router | awk '{ print $2}')
1430+# Gather vars for tempest template
1431+keystone=$(juju-deployer -f keystone)
1432+dashboard=$(juju-deployer -f openstack-dashboard)
1433+ncc=$(juju-deployer -f nova-cloud-controller)
1434+http=${OS_AUTH_PROTOCOL:-http}
1435+default_domain_id=$(openstack domain list | awk '/default/ {print $2}')
1436+
1437+# Insert vars into tempest conf
1438+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1439+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1440+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1441+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1442+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1443+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1444+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1445+ -e "s/__DEFAULT_DOMAIN_ID__/$default_domain_id/g" \
1446+ templates/tempest/tempest-v3.conf.template > tempest.conf
1447+
1448+# Git tempest, place the rendered tempest template
1449+[ -d tempest ] || git clone https://github.com/openstack/tempest
1450+cp tempest.conf tempest/etc
1451+cp templates/tempest/accounts.yaml tempest/etc
1452
1453=== added file 'deprecated/profiles/lxd'
1454--- deprecated/profiles/lxd 1970-01-01 00:00:00 +0000
1455+++ deprecated/profiles/lxd 2018-03-19 16:01:39 +0000
1456@@ -0,0 +1,112 @@
1457+#!/bin/bash
1458+
1459+set -ex
1460+
1461+. ./profiles/common
1462+
1463+install_packages
1464+
1465+# Set serverstack defaults, if not already set.
1466+[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
1467+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16"
1468+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254"
1469+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1470+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24"
1471+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1472+
1473+# Accept network type as first parameter, assume gre if unspecified
1474+net_type=${1:-"gre"}
1475+
1476+# If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it
1477+if [[ "${BARE_METAL^^}" != "TRUE" ]]; then
1478+ source ~/novarc
1479+ ./bin/post-deploy-config neutron-gateway
1480+fi
1481+
1482+# Configure neutron networking on overcloud
1483+source novarc
1484+./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1485+./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1486+
1487+upload_image cloudimages xenial xenial-server-cloudimg-amd64-root.tar.xz raw lxc
1488+upload_image cloudimages trusty trusty-server-cloudimg-amd64-root.tar.xz raw lxc
1489+
1490+image_id=$(openstack image list | grep trusty | awk '{ print $2 }')
1491+image_alt_id=$(openstack image list | grep xenial | awk '{ print $2 }')
1492+
1493+create_tempest_users
1494+
1495+access=$(openstack --os-username demo --os-password pass --os-tenant-name demo ec2 credentials create | grep access | awk '{ print $4 }')
1496+secret=$(openstack ec2 credentials show $access | grep secret | awk '{ print $4 }')
1497+
1498+create_tempest_flavors
1499+create_default_flavors
1500+
1501+function create_exclusive_aggregate {
1502+ exclusive_flavor=$1
1503+ app_hostnames=$(./bin/application-hostnames nova-compute-exclusive-${exclusiveflavor})
1504+ if [ -n "$app_hostnames" ]; then
1505+ aggregate_name=exclusive-lxd-${exclusive_flavor}
1506+ openstack aggregate show ${aggregate_name} || {
1507+ openstack aggregate create ${aggregate_name}
1508+ openstack aggregate set --property exclusive-flavor=${exclusive_flavor} ${aggregate_name}
1509+ openstack aggregate set --property max_instances_per_host=1 ${aggregate_name}
1510+ for hostname in ${app_hostnames}; do
1511+ openstack aggregate add host ${aggregate_name} ${hostname}
1512+ done
1513+ }
1514+ create_exclusive_flavor ${exclusive_flavor}
1515+ fi
1516+}
1517+
1518+function create_exclusive_flavor {
1519+ exclusive_flavor=$1
1520+ case ${exclusive_flavor} in
1521+ small)
1522+ ram=1500
1523+ cpu=1
1524+ disk=40
1525+ ;;
1526+ medium)
1527+ ram=3500
1528+ cpu=2
1529+ disk=40
1530+ ;;
1531+ large)
1532+ ram=7500
1533+ cpu=4
1534+ disk=80
1535+ ;;
1536+ esac
1537+ flavor_name=e1.lxd.${exclusive_flavor}
1538+ openstack flavor show ${flavor_name} || {
1539+ openstack flavor create --public --ram ${ram} --disk ${disk} --vcpus ${cpu} ${flavor_name}
1540+ openstack flavor set --property aggregate_instance_extra_specs:exclusive-flavor=${exclusive_flavor} ${flavor_name}
1541+ }
1542+}
1543+
1544+for exclusive_flavor in small medium large; do
1545+ create_exclusive_aggregate ${exclusive_flavor}
1546+done
1547+
1548+# Gather vars for tempest template
1549+ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }')
1550+router=$(neutron router-list | grep provider-router | awk '{ print $2}')
1551+keystone=$(juju-deployer -f keystone)
1552+dashboard=$(juju-deployer -f openstack-dashboard)
1553+ncc=$(juju-deployer -f nova-cloud-controller)
1554+http=${OS_AUTH_PROTOCOL:-http}
1555+
1556+# Insert vars into tempest conf
1557+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1558+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1559+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1560+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1561+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1562+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1563+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1564+ templates/tempest/tempest.conf.template.lxd > tempest.conf
1565+
1566+# Git tempest, place the rendered tempest template
1567+[ -d tempest ] || git clone https://github.com/openstack/tempest
1568+cp tempest.conf tempest/etc
1569
1570=== added file 'deprecated/profiles/multihypervisor'
1571--- deprecated/profiles/multihypervisor 1970-01-01 00:00:00 +0000
1572+++ deprecated/profiles/multihypervisor 2018-03-19 16:01:39 +0000
1573@@ -0,0 +1,67 @@
1574+#!/bin/bash
1575+
1576+set -ex
1577+
1578+. ./profiles/common
1579+
1580+install_packages
1581+
1582+# Set serverstack defaults, if not already set.
1583+[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
1584+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16"
1585+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254"
1586+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1587+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24"
1588+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1589+
1590+# Accept network type as first parameter, assume gre if unspecified
1591+net_type=${1:-"gre"}
1592+
1593+# If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it
1594+if [[ "${BARE_METAL^^}" != "TRUE" ]]; then
1595+ source ~/novarc
1596+ ./bin/post-deploy-config neutron-gateway
1597+fi
1598+
1599+# Configure neutron networking on overcloud
1600+source novarc
1601+./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1602+./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1603+
1604+upload_image cloudimages xenial-lxd xenial-server-cloudimg-amd64-root.tar.xz raw lxc x86_64
1605+upload_image cloudimages trusty-lxd trusty-server-cloudimg-amd64-root.tar.xz raw lxc x86_64
1606+
1607+upload_image cloudimages xenial-kvm xenial-server-cloudimg-amd64-disk1.img qcow2 qemu x86_64
1608+upload_image cloudimages trusty-kvm trusty-server-cloudimg-amd64-disk1.img qcow2 qemu x86_64
1609+
1610+image_id=$(openstack image list | grep trusty-kvm | awk '{ print $2 }')
1611+image_alt_id=$(openstack image list | grep xenial-kvm | awk '{ print $2 }')
1612+
1613+create_tempest_users
1614+
1615+access=$(openstack --os-username demo --os-password pass --os-tenant-name demo ec2 credentials create | grep access | awk '{ print $4 }')
1616+secret=$(openstack ec2 credentials show $access | grep secret | awk '{ print $4 }')
1617+
1618+create_tempest_flavors
1619+
1620+# Gather vars for tempest template
1621+ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }')
1622+router=$(neutron router-list | grep provider-router | awk '{ print $2}')
1623+keystone=$(juju-deployer -f keystone)
1624+dashboard=$(juju-deployer -f openstack-dashboard)
1625+ncc=$(juju-deployer -f nova-cloud-controller)
1626+http=${OS_AUTH_PROTOCOL:-http}
1627+
1628+# Insert vars into tempest conf
1629+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1630+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1631+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1632+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1633+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1634+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1635+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1636+ templates/tempest/tempest.conf.template > tempest.conf
1637+
1638+# Git tempest, place the rendered tempest template
1639+[ -d tempest ] || git clone https://github.com/openstack/tempest
1640+cp tempest.conf tempest/etc
1641
1642=== added file 'deprecated/profiles/powerkvm'
1643--- deprecated/profiles/powerkvm 1970-01-01 00:00:00 +0000
1644+++ deprecated/profiles/powerkvm 2018-03-19 16:01:39 +0000
1645@@ -0,0 +1,46 @@
1646+#!/bin/bash -ex
1647+# An experimental configuration script for configuring a ppc64el OpenStack test cloud.
1648+# Useful in manual deployment testing.
1649+
1650+# Install CLI tools
1651+#sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \
1652+# python-junitxml python-subunit python-testresources python-oslotest python-stevedore \
1653+# python-cinderclient python-glanceclient python-heatclient python-keystoneclient \
1654+# python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \
1655+# openvswitch-test openvswitch-common python-openstackclient -y
1656+
1657+# Set "dellstack" network parameters, if not already set. Adjust to fit your environment.
1658+[[ -z "$GATEWAY" ]] && export GATEWAY="10.245.168.1"
1659+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.245.168.0/21"
1660+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.245.173.0:10.245.173.254"
1661+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.2"
1662+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1663+
1664+# Accept network type as first parameter, assume gre if unspecified
1665+net_type=${1:-"gre"}
1666+
1667+# Configure neutron networking on overcloud
1668+source novarc
1669+./bin/quantum-ext-net --network-type $net_type -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1670+./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1671+
1672+# Create demo user and tenant
1673+keystone tenant-create --name demo || :
1674+keystone user-create --name demo --tenant demo --pass pass --enabled true --email demo@dev.null || :
1675+keystone user-role-add --user demo --role Member --tenant demo || :
1676+keystone tenant-create --name alt_demo || :
1677+keystone user-create --name alt_demo --tenant alt_demo --pass secret --enabled true --email alt_demo@dev.null || :
1678+keystone user-role-add --user alt_demo --role Member --tenant alt_demo || :
1679+
1680+# Install monitoring, probing and troubleshooting tools on all units
1681+juju run --all "sudo apt-get install htop atop nload iptraf nmap multitail iperf pastebinit stress sysstat -y"
1682+
1683+# Load images into glance
1684+tools/images_ppc64el.sh
1685+
1686+# Set security groups and rules
1687+tools/sec_groups.sh
1688+
1689+# Tune for higher-density testing
1690+tools/flavor_shrink.sh
1691+tools/quota_million.sh
1692
1693=== added file 'deprecated/profiles/ppc64el'
1694--- deprecated/profiles/ppc64el 1970-01-01 00:00:00 +0000
1695+++ deprecated/profiles/ppc64el 2018-03-19 16:01:39 +0000
1696@@ -0,0 +1,46 @@
1697+#!/bin/bash -ex
1698+# An experimental configuration script for configuring a ppc64el OpenStack test cloud.
1699+# Useful in manual deployment testing.
1700+
1701+# Install CLI tools
1702+#sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \
1703+# python-junitxml python-subunit python-testresources python-oslotest python-stevedore \
1704+# python-cinderclient python-glanceclient python-heatclient python-keystoneclient \
1705+# python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \
1706+# openvswitch-test openvswitch-common python-openstackclient -y
1707+
1708+# Set "dellstack" network parameters, if not already set. Adjust to fit your environment.
1709+[[ -z "$GATEWAY" ]] && export GATEWAY="10.245.168.1"
1710+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.245.168.0/21"
1711+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.245.173.0:10.245.173.255"
1712+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.2"
1713+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1714+
1715+# Accept network type as first parameter, assume gre if unspecified
1716+net_type=${1:-"gre"}
1717+
1718+# Configure neutron networking on overcloud
1719+source novarc
1720+./bin/quantum-ext-net --network-type $net_type -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
1721+./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
1722+
1723+# Create demo user and tenant
1724+keystone tenant-create --name demo || :
1725+keystone user-create --name demo --tenant demo --pass pass --enabled true --email demo@dev.null || :
1726+keystone user-role-add --user demo --role Member --tenant demo || :
1727+keystone tenant-create --name alt_demo || :
1728+keystone user-create --name alt_demo --tenant alt_demo --pass secret --enabled true --email alt_demo@dev.null || :
1729+keystone user-role-add --user alt_demo --role Member --tenant alt_demo || :
1730+
1731+# Install monitoring, probing and troubleshooting tools on all units
1732+juju run --all "sudo apt-get install htop atop nload iptraf nmap multitail iperf pastebinit stress sysstat -y"
1733+
1734+# Load images into glance
1735+tools/images_ppc64el.sh
1736+
1737+# Set security groups and rules
1738+tools/sec_groups.sh
1739+
1740+# Tune for higher-density testing
1741+tools/flavor_shrink.sh
1742+tools/quota_million.sh
1743
1744=== added file 'deprecated/profiles/refstack_only'
1745--- deprecated/profiles/refstack_only 1970-01-01 00:00:00 +0000
1746+++ deprecated/profiles/refstack_only 2018-03-19 16:01:39 +0000
1747@@ -0,0 +1,32 @@
1748+#!/bin/bash
1749+
1750+set -ex
1751+
1752+. ./profiles/common
1753+
1754+# Set serverstack defaults, if not already set.
1755+[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
1756+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.5.0.0/16"
1757+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.5.150.0:10.5.200.254"
1758+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
1759+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="192.168.21.0/24"
1760+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1761+
1762+# Gather vars for tempest template
1763+ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }')
1764+router=$(neutron router-list | grep provider-router | awk '{ print $2}')
1765+keystone=$(juju-deployer -f keystone)
1766+dashboard=$(juju-deployer -f openstack-dashboard)
1767+ncc=$(juju-deployer -f nova-cloud-controller)
1768+http=${OS_AUTH_PROTOCOL:-http}
1769+
1770+# Insert vars into tempest conf
1771+
1772+sed -e "s/__IMAGE_ID__/$image_id/g" -e "s/__IMAGE_ALT_ID__/$image_alt_id/g" \
1773+ -e "s/__DASHBOARD__/$dashboard/g" -e "s/__KEYSTONE__/$keystone/g" \
1774+ -e "s/__EXT_NET__/$ext_net/g" -e "s/__PROTO__/$http/g" \
1775+ -e "s/__SWIFT__/$SWIFT_IP/g" \
1776+ -e "s/__NAMESERVER__/$NAMESERVER/g" \
1777+ -e "s/__CIDR_PRIV__/${CIDR_PRIV////\\/}/g" \
1778+ -e "s/__NCC__/$ncc/g" -e "s/__SECRET__/$secret/g" -e "s/__ACCESS__/$access/g" \
1779+ templates/tempest/tempest.refstack.template.conf > tempest_refstack.conf
1780
1781=== added file 'deprecated/profiles/stsstack'
1782--- deprecated/profiles/stsstack 1970-01-01 00:00:00 +0000
1783+++ deprecated/profiles/stsstack 2018-03-19 16:01:39 +0000
1784@@ -0,0 +1,9 @@
1785+#!/bin/bash
1786+
1787+set -ex
1788+
1789+# Set sts-stack overrides, if not already set.
1790+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.230.64.2"
1791+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.230.19.58"
1792+
1793+./profiles/default $1 $2 $3 $4 $5
1794
1795=== added file 'deprecated/profiles/vpil'
1796--- deprecated/profiles/vpil 1970-01-01 00:00:00 +0000
1797+++ deprecated/profiles/vpil 2018-03-19 16:01:39 +0000
1798@@ -0,0 +1,14 @@
1799+#!/bin/bash
1800+
1801+set -ex
1802+
1803+# Set overrides, if not already set.
1804+[[ -z "$GATEWAY" ]] && export GATEWAY="10.246.64.1"
1805+[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.246.64.0/21"
1806+[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.246.67.128:10.246.67.255"
1807+[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.246.64.50"
1808+[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
1809+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
1810+
1811+export BARE_METAL="True"
1812+./profiles/default $1 $2 $3 $4 $5
1813
1814=== added file 'deprecated/requirements.txt'
1815--- deprecated/requirements.txt 1970-01-01 00:00:00 +0000
1816+++ deprecated/requirements.txt 2018-03-19 16:01:39 +0000
1817@@ -0,0 +1,4 @@
1818+# Requirements for post-deployment configuration tools
1819+python-openstackclient
1820+python-neutronclient
1821+juju-deployer
1822
1823=== added directory 'deprecated/templates'
1824=== added directory 'deprecated/templates/heat'
1825=== added file 'deprecated/templates/heat/README'
1826--- deprecated/templates/heat/README 1970-01-01 00:00:00 +0000
1827+++ deprecated/templates/heat/README 2018-03-19 16:01:39 +0000
1828@@ -0,0 +1,17 @@
1829+HEAT TEMPLATES DIR
1830+
1831+
1832+About
1833+=======
1834+ The heat git project has several heat (aka HOT) templates available.
1835+ Generally those can be used directly. Some enhancements and modifications
1836+ may be necessary in our testing, such as adding the network id parameter
1837+ in the basic helloworld template (upstream template didn't have that).
1838+
1839+
1840+Example Usage
1841+=============
1842+ heat stack-create heat_basic -f heat-templates/heat-basic.yaml \
1843+ --parameters "admin_pass=Ubuntu;key_name=testkey;image=cirros;network=private"
1844+
1845+ heat stack-list
1846
1847=== added file 'deprecated/templates/heat/heat-basic.yaml'
1848--- deprecated/templates/heat/heat-basic.yaml 1970-01-01 00:00:00 +0000
1849+++ deprecated/templates/heat/heat-basic.yaml 2018-03-19 16:01:39 +0000
1850@@ -0,0 +1,74 @@
1851+#
1852+# This is a hello world HOT template just defining a single compute
1853+# server.
1854+#
1855+# NOTE( beisner ): Added network parameter for scenarios where multiple networks exist
1856+# Template originally from heat-templates git repo.
1857+#
1858+heat_template_version: 2013-05-23
1859+
1860+description: >
1861+ Hello world HOT template that just defines a single server.
1862+ Contains just base features to verify base HOT support.
1863+
1864+parameters:
1865+ network:
1866+ type: string
1867+ description: The network for the VM
1868+ default: private
1869+ key_name:
1870+ type: string
1871+ description: Name of an existing key pair to use for the server
1872+ constraints:
1873+ - custom_constraint: nova.keypair
1874+ flavor:
1875+ type: string
1876+ description: Flavor for the server to be created
1877+ default: m1.small
1878+ constraints:
1879+ - custom_constraint: nova.flavor
1880+ image:
1881+ type: string
1882+ description: Image ID or image name to use for the server
1883+ constraints:
1884+ - custom_constraint: glance.image
1885+ admin_pass:
1886+ type: string
1887+ description: Admin password
1888+ hidden: true
1889+ constraints:
1890+ - length: { min: 6, max: 8 }
1891+ description: Password length must be between 6 and 8 characters
1892+ - allowed_pattern: "[a-zA-Z0-9]+"
1893+ description: Password must consist of characters and numbers only
1894+ - allowed_pattern: "[A-Z]+[a-zA-Z0-9]*"
1895+ description: Password must start with an uppercase character
1896+ db_port:
1897+ type: number
1898+ description: Database port number
1899+ default: 50000
1900+ constraints:
1901+ - range: { min: 40000, max: 60000 }
1902+ description: Port number must be between 40000 and 60000
1903+
1904+resources:
1905+ server:
1906+ type: OS::Nova::Server
1907+ properties:
1908+ key_name: { get_param: key_name }
1909+ image: { get_param: image }
1910+ flavor: { get_param: flavor }
1911+ admin_pass: { get_param: admin_pass }
1912+ networks: [{network: {get_param: network} }]
1913+ user_data:
1914+ str_replace:
1915+ template: |
1916+ #!/bin/bash
1917+ echo db_port
1918+ params:
1919+ db_port: { get_param: db_port }
1920+
1921+outputs:
1922+ server_networks:
1923+ description: The networks of the deployed server
1924+ value: { get_attr: [server, networks] }
1925
1926=== added directory 'deprecated/templates/rally'
1927=== added file 'deprecated/templates/rally/boot-and-associate-floating-ip.yaml'
1928--- deprecated/templates/rally/boot-and-associate-floating-ip.yaml 1970-01-01 00:00:00 +0000
1929+++ deprecated/templates/rally/boot-and-associate-floating-ip.yaml 2018-03-19 16:01:39 +0000
1930@@ -0,0 +1,18 @@
1931+{% set flavor_name = flavor_name or "m1.tiny" %}
1932+---
1933+ NovaServers.boot_and_associate_floating_ip:
1934+ -
1935+ args:
1936+ flavor:
1937+ name: "{{flavor_name}}"
1938+ image:
1939+ name: "__IMAGE__"
1940+ runner:
1941+ type: "constant"
1942+ times: 1
1943+ concurrency: 1
1944+ context:
1945+ users:
1946+ tenants: 1
1947+ users_per_tenant: 1
1948+ network: {}
1949
1950=== added file 'deprecated/templates/rally/boot-and-block-migrate.yaml'
1951--- deprecated/templates/rally/boot-and-block-migrate.yaml 1970-01-01 00:00:00 +0000
1952+++ deprecated/templates/rally/boot-and-block-migrate.yaml 2018-03-19 16:01:39 +0000
1953@@ -0,0 +1,17 @@
1954+{% set flavor_name = flavor_name or "m1.tiny" %}
1955+---
1956+NovaServers.boot_and_live_migrate_server:
1957+- args:
1958+ flavor:
1959+ name: "{{flavor_name}}"
1960+ image:
1961+ name: "__IMAGE__"
1962+ block_migration: true
1963+ runner:
1964+ type: "constant"
1965+ times: 10
1966+ concurrency: 2
1967+ context:
1968+ users:
1969+ tenants: 1
1970+ users_per_tenant: 1
1971
1972=== added file 'deprecated/templates/rally/boot-and-delete-multiple.yaml'
1973--- deprecated/templates/rally/boot-and-delete-multiple.yaml 1970-01-01 00:00:00 +0000
1974+++ deprecated/templates/rally/boot-and-delete-multiple.yaml 2018-03-19 16:01:39 +0000
1975@@ -0,0 +1,18 @@
1976+{% set flavor_name = flavor_name or "m1.tiny" %}
1977+---
1978+ NovaServers.boot_and_delete_multiple_servers:
1979+ -
1980+ args:
1981+ image:
1982+ name: "__IMAGE__"
1983+ flavor:
1984+ name: "{{flavor_name}}"
1985+ count: 5
1986+ runner:
1987+ type: "constant"
1988+ times: 1
1989+ concurrency: 1
1990+ context:
1991+ users:
1992+ tenants: 1
1993+ users_per_tenant: 1
1994
1995=== added file 'deprecated/templates/rally/boot-and-delete-server-with-keypairs.yaml'
1996--- deprecated/templates/rally/boot-and-delete-server-with-keypairs.yaml 1970-01-01 00:00:00 +0000
1997+++ deprecated/templates/rally/boot-and-delete-server-with-keypairs.yaml 2018-03-19 16:01:39 +0000
1998@@ -0,0 +1,20 @@
1999+{% set flavor_name = flavor_name or "m1.tiny" %}
2000+---
2001+ NovaKeypair.boot_and_delete_server_with_keypair:
2002+ -
2003+ args:
2004+ flavor:
2005+ name: "{{flavor_name}}"
2006+ image:
2007+ name: "__IMAGE__"
2008+ boot_server_kwargs: {}
2009+ runner:
2010+ type: "constant"
2011+ times: 5
2012+ concurrency: 2
2013+ context:
2014+ users:
2015+ tenants: 2
2016+ users_per_tenant: 1
2017+ network:
2018+ start_cidr: "100.1.0.0/26"
2019
2020=== added file 'deprecated/templates/rally/boot-and-delete-server-with-secgroups.yaml'
2021--- deprecated/templates/rally/boot-and-delete-server-with-secgroups.yaml 1970-01-01 00:00:00 +0000
2022+++ deprecated/templates/rally/boot-and-delete-server-with-secgroups.yaml 2018-03-19 16:01:39 +0000
2023@@ -0,0 +1,21 @@
2024+{% set flavor_name = flavor_name or "m1.tiny" %}
2025+---
2026+ NovaSecGroup.boot_and_delete_server_with_secgroups:
2027+ -
2028+ args:
2029+ flavor:
2030+ name: "{{flavor_name}}"
2031+ image:
2032+ name: "__IAMGE__"
2033+ security_group_count: 10
2034+ rules_per_security_group: 10
2035+ runner:
2036+ type: "constant"
2037+ times: 10
2038+ concurrency: 2
2039+ context:
2040+ users:
2041+ tenants: 3
2042+ users_per_tenant: 2
2043+ network:
2044+ start_cidr: "100.1.0.0/26"
2045
2046=== added file 'deprecated/templates/rally/boot-and-delete.yaml'
2047--- deprecated/templates/rally/boot-and-delete.yaml 1970-01-01 00:00:00 +0000
2048+++ deprecated/templates/rally/boot-and-delete.yaml 2018-03-19 16:01:39 +0000
2049@@ -0,0 +1,18 @@
2050+{% set flavor_name = flavor_name or "m1.tiny" %}
2051+---
2052+ NovaServers.boot_and_delete_server:
2053+ -
2054+ args:
2055+ flavor:
2056+ name: "{{flavor_name}}"
2057+ image:
2058+ name: "__IMAGE__"
2059+ force_delete: false
2060+ runner:
2061+ type: "constant"
2062+ times: 10
2063+ concurrency: 2
2064+ context:
2065+ users:
2066+ tenants: 3
2067+ users_per_tenant: 2
2068
2069=== added file 'deprecated/templates/rally/boot-and-get-console-server.yaml'
2070--- deprecated/templates/rally/boot-and-get-console-server.yaml 1970-01-01 00:00:00 +0000
2071+++ deprecated/templates/rally/boot-and-get-console-server.yaml 2018-03-19 16:01:39 +0000
2072@@ -0,0 +1,18 @@
2073+{% set flavor_name = flavor_name or "m1.tiny" %}
2074+{% set image_name = image_name or "^cirros.*uec$" %}
2075+---
2076+ NovaServers.boot_and_get_console_output:
2077+ -
2078+ args:
2079+ flavor:
2080+ name: "{{flavor_name}}"
2081+ image:
2082+ name: "{{image_name}}"
2083+ runner:
2084+ type: "constant"
2085+ times: 1
2086+ concurrency: 1
2087+ context:
2088+ users:
2089+ tenants: 1
2090+ users_per_tenant: 1
2091
2092=== added file 'deprecated/templates/rally/boot-and-list.yaml'
2093--- deprecated/templates/rally/boot-and-list.yaml 1970-01-01 00:00:00 +0000
2094+++ deprecated/templates/rally/boot-and-list.yaml 2018-03-19 16:01:39 +0000
2095@@ -0,0 +1,19 @@
2096+{% set flavor_name = flavor_name or "m1.tiny" %}
2097+---
2098+ NovaServers.boot_and_list_server:
2099+ -
2100+ args:
2101+ flavor:
2102+ name: "{{flavor_name}}"
2103+ image:
2104+ name: "__IMAGE__"
2105+ detailed: True
2106+ runner:
2107+ type: "constant"
2108+ times: 1
2109+ concurrency: 1
2110+ context:
2111+ users:
2112+ tenants: 1
2113+ users_per_tenant: 1
2114+
2115
2116=== added file 'deprecated/templates/rally/boot-and-live-migrate.yaml'
2117--- deprecated/templates/rally/boot-and-live-migrate.yaml 1970-01-01 00:00:00 +0000
2118+++ deprecated/templates/rally/boot-and-live-migrate.yaml 2018-03-19 16:01:39 +0000
2119@@ -0,0 +1,17 @@
2120+{% set flavor_name = flavor_name or "m1.tiny" %}
2121+---
2122+NovaServers.boot_and_live_migrate_server:
2123+- args:
2124+ flavor:
2125+ name: "{{flavor_name}}"
2126+ image:
2127+ name: "__IMAGE__"
2128+ block_migration: false
2129+ runner:
2130+ type: "constant"
2131+ times: 10
2132+ concurrency: 2
2133+ context:
2134+ users:
2135+ tenants: 1
2136+ users_per_tenant: 1
2137
2138=== added file 'deprecated/templates/rally/boot-and-migrate.yaml'
2139--- deprecated/templates/rally/boot-and-migrate.yaml 1970-01-01 00:00:00 +0000
2140+++ deprecated/templates/rally/boot-and-migrate.yaml 2018-03-19 16:01:39 +0000
2141@@ -0,0 +1,16 @@
2142+{% set flavor_name = flavor_name or "m1.tiny" %}
2143+---
2144+NovaServers.boot_and_migrate_server:
2145+- args:
2146+ flavor:
2147+ name: "{{flavor_name}}"
2148+ image:
2149+ name: "__IMAGE__"
2150+ runner:
2151+ type: "constant"
2152+ times: 10
2153+ concurrency: 2
2154+ context:
2155+ users:
2156+ tenants: 1
2157+ users_per_tenant: 1
2158
2159=== added file 'deprecated/templates/rally/boot-and-rebuild.yaml'
2160--- deprecated/templates/rally/boot-and-rebuild.yaml 1970-01-01 00:00:00 +0000
2161+++ deprecated/templates/rally/boot-and-rebuild.yaml 2018-03-19 16:01:39 +0000
2162@@ -0,0 +1,18 @@
2163+{% set flavor_name = flavor_name or "m1.tiny" %}
2164+---
2165+NovaServers.boot_and_rebuild_server:
2166+- args:
2167+ flavor:
2168+ name: "{{flavor_name}}"
2169+ from_image:
2170+ name: "__IMAGE__"
2171+ to_image:
2172+ name: "__IMAGE__"
2173+ runner:
2174+ type: "constant"
2175+ times: 5
2176+ concurrency: 2
2177+ context:
2178+ users:
2179+ tenants: 1
2180+ users_per_tenant: 1
2181
2182=== added file 'deprecated/templates/rally/boot-and-show-server.yaml'
2183--- deprecated/templates/rally/boot-and-show-server.yaml 1970-01-01 00:00:00 +0000
2184+++ deprecated/templates/rally/boot-and-show-server.yaml 2018-03-19 16:01:39 +0000
2185@@ -0,0 +1,18 @@
2186+{% set flavor_name = flavor_name or "m1.tiny" %}
2187+{% set image_name = image_name or "^cirros.*uec$" %}
2188+---
2189+ NovaServers.boot_and_show_server:
2190+ -
2191+ args:
2192+ flavor:
2193+ name: "{{flavor_name}}"
2194+ image:
2195+ name: "__IMAGE__"
2196+ runner:
2197+ type: "constant"
2198+ times: 1
2199+ concurrency: 1
2200+ context:
2201+ users:
2202+ tenants: 1
2203+ users_per_tenant: 1
2204
2205=== added file 'deprecated/templates/rally/boot-bounce-delete.yaml'
2206--- deprecated/templates/rally/boot-bounce-delete.yaml 1970-01-01 00:00:00 +0000
2207+++ deprecated/templates/rally/boot-bounce-delete.yaml 2018-03-19 16:01:39 +0000
2208@@ -0,0 +1,27 @@
2209+{% set flavor_name = flavor_name or "m1.tiny" %}
2210+---
2211+ NovaServers.boot_and_bounce_server:
2212+ -
2213+ args:
2214+ flavor:
2215+ name: "{{flavor_name}}"
2216+ image:
2217+ name: "__IMAGE__"
2218+ force_delete: false
2219+ actions:
2220+ -
2221+ hard_reboot: 1
2222+ -
2223+ soft_reboot: 1
2224+ -
2225+ stop_start: 1
2226+ -
2227+ rescue_unrescue: 1
2228+ runner:
2229+ type: "constant"
2230+ times: 10
2231+ concurrency: 2
2232+ context:
2233+ users:
2234+ tenants: 3
2235+ users_per_tenant: 2
2236
2237=== added file 'deprecated/templates/rally/boot-from-volume-and-delete.yaml'
2238--- deprecated/templates/rally/boot-from-volume-and-delete.yaml 1970-01-01 00:00:00 +0000
2239+++ deprecated/templates/rally/boot-from-volume-and-delete.yaml 2018-03-19 16:01:39 +0000
2240@@ -0,0 +1,19 @@
2241+{% set flavor_name = flavor_name or "m1.tiny" %}
2242+---
2243+ NovaServers.boot_server_from_volume_and_delete:
2244+ -
2245+ args:
2246+ flavor:
2247+ name: "{{flavor_name}}"
2248+ image:
2249+ name: "__IMAGE__"
2250+ volume_size: 10
2251+ force_delete: false
2252+ runner:
2253+ type: "constant"
2254+ times: 10
2255+ concurrency: 2
2256+ context:
2257+ users:
2258+ tenants: 3
2259+ users_per_tenant: 2
2260
2261=== added file 'deprecated/templates/rally/boot-from-volume-and-resize.yaml'
2262--- deprecated/templates/rally/boot-from-volume-and-resize.yaml 1970-01-01 00:00:00 +0000
2263+++ deprecated/templates/rally/boot-from-volume-and-resize.yaml 2018-03-19 16:01:39 +0000
2264@@ -0,0 +1,25 @@
2265+{% set flavor_name = flavor_name or "m1.tiny" %}
2266+---
2267+ NovaServers.boot_server_from_volume_and_resize:
2268+ -
2269+ args:
2270+ flavor:
2271+ name: "{{flavor_name}}"
2272+ image:
2273+ name: "__IMAGE__"
2274+ to_flavor:
2275+ name: "m1.small"
2276+ confirm: true
2277+ volume_size: 1
2278+ force_delete: false
2279+ do_delete: true
2280+ boot_server_kwargs: {}
2281+ create_volume_kwargs: {}
2282+ runner:
2283+ type: "constant"
2284+ times: 10
2285+ concurrency: 2
2286+ context:
2287+ users:
2288+ tenants: 3
2289+ users_per_tenant: 2
2290
2291=== added file 'deprecated/templates/rally/boot-from-volume.yaml'
2292--- deprecated/templates/rally/boot-from-volume.yaml 1970-01-01 00:00:00 +0000
2293+++ deprecated/templates/rally/boot-from-volume.yaml 2018-03-19 16:01:39 +0000
2294@@ -0,0 +1,18 @@
2295+{% set flavor_name = flavor_name or "m1.tiny" %}
2296+---
2297+ NovaServers.boot_server_from_volume:
2298+ -
2299+ args:
2300+ flavor:
2301+ name: "{{flavor_name}}"
2302+ image:
2303+ name: "__IMAGE__"
2304+ volume_size: 10
2305+ runner:
2306+ type: "constant"
2307+ times: 10
2308+ concurrency: 2
2309+ context:
2310+ users:
2311+ tenants: 3
2312+ users_per_tenant: 2
2313
2314=== added file 'deprecated/templates/rally/boot-lock-unlock-and-delete.yaml'
2315--- deprecated/templates/rally/boot-lock-unlock-and-delete.yaml 1970-01-01 00:00:00 +0000
2316+++ deprecated/templates/rally/boot-lock-unlock-and-delete.yaml 2018-03-19 16:01:39 +0000
2317@@ -0,0 +1,17 @@
2318+{% set flavor_name = flavor_name or "m1.tiny" %}
2319+---
2320+ NovaServers.boot_lock_unlock_and_delete:
2321+ -
2322+ args:
2323+ flavor:
2324+ name: "{{flavor_name}}"
2325+ image:
2326+ name: "__IMAGE__"
2327+ runner:
2328+ type: "constant"
2329+ times: 10
2330+ concurrency: 2
2331+ context:
2332+ users:
2333+ tenants: 1
2334+ users_per_tenant: 1
2335
2336=== added file 'deprecated/templates/rally/boot-server-attach-created-volume-and-live-migrate.yaml'
2337--- deprecated/templates/rally/boot-server-attach-created-volume-and-live-migrate.yaml 1970-01-01 00:00:00 +0000
2338+++ deprecated/templates/rally/boot-server-attach-created-volume-and-live-migrate.yaml 2018-03-19 16:01:39 +0000
2339@@ -0,0 +1,20 @@
2340+{% set flavor_name = flavor_name or "m1.tiny" %}
2341+---
2342+NovaServers.boot_server_attach_created_volume_and_live_migrate:
2343+- args:
2344+ flavor:
2345+ name: "{{flavor_name}}"
2346+ image:
2347+ name: "__IMAGE__"
2348+ size: 10
2349+ block_migration: false
2350+ boot_server_kwargs: {}
2351+ create_volume_kwargs: {}
2352+ runner:
2353+ type: "constant"
2354+ times: 5
2355+ concurrency: 1
2356+ context:
2357+ users:
2358+ tenants: 2
2359+ users_per_tenant: 2
2360
2361=== added file 'deprecated/templates/rally/boot-server-attach-created-volume-and-resize.yaml'
2362--- deprecated/templates/rally/boot-server-attach-created-volume-and-resize.yaml 1970-01-01 00:00:00 +0000
2363+++ deprecated/templates/rally/boot-server-attach-created-volume-and-resize.yaml 2018-03-19 16:01:39 +0000
2364@@ -0,0 +1,25 @@
2365+{% set flavor_name = flavor_name or "m1.tiny" %}
2366+---
2367+ NovaServers.boot_server_attach_created_volume_and_resize:
2368+ -
2369+ args:
2370+ flavor:
2371+ name: "{{flavor_name}}"
2372+ image:
2373+ name: "__IMAGE__"
2374+ to_flavor:
2375+ name: "m1.small"
2376+ confirm: true
2377+ volume_size: 1
2378+ force_delete: false
2379+ do_delete: true
2380+ boot_server_kwargs: {}
2381+ create_volume_kwargs: {}
2382+ runner:
2383+ type: "constant"
2384+ times: 10
2385+ concurrency: 2
2386+ context:
2387+ users:
2388+ tenants: 3
2389+ users_per_tenant: 2
2390
2391=== added file 'deprecated/templates/rally/boot-server-from-volume-and-live-migrate.yaml'
2392--- deprecated/templates/rally/boot-server-from-volume-and-live-migrate.yaml 1970-01-01 00:00:00 +0000
2393+++ deprecated/templates/rally/boot-server-from-volume-and-live-migrate.yaml 2018-03-19 16:01:39 +0000
2394@@ -0,0 +1,19 @@
2395+{% set flavor_name = flavor_name or "m1.tiny" %}
2396+---
2397+NovaServers.boot_server_from_volume_and_live_migrate:
2398+- args:
2399+ flavor:
2400+ name: "{{flavor_name}}"
2401+ image:
2402+ name: "__IMAGE__"
2403+ block_migration: false
2404+ volume_size: 10
2405+ force_delete: false
2406+ runner:
2407+ type: "constant"
2408+ times: 10
2409+ concurrency: 2
2410+ context:
2411+ users:
2412+ tenants: 1
2413+ users_per_tenant: 1
2414
2415=== added file 'deprecated/templates/rally/boot-snapshot-boot-delete.yaml'
2416--- deprecated/templates/rally/boot-snapshot-boot-delete.yaml 1970-01-01 00:00:00 +0000
2417+++ deprecated/templates/rally/boot-snapshot-boot-delete.yaml 2018-03-19 16:01:39 +0000
2418@@ -0,0 +1,18 @@
2419+{% set flavor_name = flavor_name or "m1.tiny" %}
2420+---
2421+ NovaServers.snapshot_server:
2422+ -
2423+ args:
2424+ flavor:
2425+ name: "{{flavor_name}}"
2426+ image:
2427+ name: "__IMAGE__"
2428+ force_delete: false
2429+ runner:
2430+ type: "constant"
2431+ times: 10
2432+ concurrency: 2
2433+ context:
2434+ users:
2435+ tenants: 3
2436+ users_per_tenant: 2
2437
2438=== added file 'deprecated/templates/rally/boot.yaml'
2439--- deprecated/templates/rally/boot.yaml 1970-01-01 00:00:00 +0000
2440+++ deprecated/templates/rally/boot.yaml 2018-03-19 16:01:39 +0000
2441@@ -0,0 +1,17 @@
2442+{% set flavor_name = flavor_name or "m1.tiny" %}
2443+---
2444+ NovaServers.boot_server:
2445+ -
2446+ args:
2447+ flavor:
2448+ name: "{{flavor_name}}"
2449+ image:
2450+ name: "__IMAGE__"
2451+ runner:
2452+ type: "constant"
2453+ times: 10
2454+ concurrency: 2
2455+ context:
2456+ users:
2457+ tenants: 3
2458+ users_per_tenant: 2
2459
2460=== added file 'deprecated/templates/rally/create-and-delete-floating-ips-bulk.yaml'
2461--- deprecated/templates/rally/create-and-delete-floating-ips-bulk.yaml 1970-01-01 00:00:00 +0000
2462+++ deprecated/templates/rally/create-and-delete-floating-ips-bulk.yaml 2018-03-19 16:01:39 +0000
2463@@ -0,0 +1,13 @@
2464+---
2465+ NovaFloatingIpsBulk.create_and_delete_floating_ips_bulk:
2466+ -
2467+ args:
2468+ start_cidr: "10.2.0.0/24"
2469+ runner:
2470+ type: "constant"
2471+ times: 5
2472+ concurrency: 2
2473+ context:
2474+ users:
2475+ tenants: 3
2476+ users_per_tenant: 2
2477
2478=== added file 'deprecated/templates/rally/create-and-delete-keypair.yaml'
2479--- deprecated/templates/rally/create-and-delete-keypair.yaml 1970-01-01 00:00:00 +0000
2480+++ deprecated/templates/rally/create-and-delete-keypair.yaml 2018-03-19 16:01:39 +0000
2481@@ -0,0 +1,11 @@
2482+---
2483+ NovaKeypair.create_and_delete_keypair:
2484+ -
2485+ runner:
2486+ type: "constant"
2487+ times: 10
2488+ concurrency: 2
2489+ context:
2490+ users:
2491+ tenants: 3
2492+ users_per_tenant: 2
2493
2494=== added file 'deprecated/templates/rally/create-and-delete-network.yaml'
2495--- deprecated/templates/rally/create-and-delete-network.yaml 1970-01-01 00:00:00 +0000
2496+++ deprecated/templates/rally/create-and-delete-network.yaml 2018-03-19 16:01:39 +0000
2497@@ -0,0 +1,13 @@
2498+---
2499+ NovaNetworks.create_and_delete_network:
2500+ -
2501+ args:
2502+ start_cidr: "10.10.0.0/24"
2503+ runner:
2504+ type: "constant"
2505+ times: 5
2506+ concurrency: 2
2507+ context:
2508+ users:
2509+ tenants: 3
2510+ users_per_tenant: 2
2511\ No newline at end of file
2512
2513=== added file 'deprecated/templates/rally/create-and-delete-secgroups.yaml'
2514--- deprecated/templates/rally/create-and-delete-secgroups.yaml 1970-01-01 00:00:00 +0000
2515+++ deprecated/templates/rally/create-and-delete-secgroups.yaml 2018-03-19 16:01:39 +0000
2516@@ -0,0 +1,14 @@
2517+---
2518+ NovaSecGroup.create_and_delete_secgroups:
2519+ -
2520+ args:
2521+ security_group_count: 10
2522+ rules_per_security_group: 10
2523+ runner:
2524+ type: "constant"
2525+ times: 10
2526+ concurrency: 2
2527+ context:
2528+ users:
2529+ tenants: 3
2530+ users_per_tenant: 2
2531
2532=== added file 'deprecated/templates/rally/create-and-list-floating-ips-bulk.yaml'
2533--- deprecated/templates/rally/create-and-list-floating-ips-bulk.yaml 1970-01-01 00:00:00 +0000
2534+++ deprecated/templates/rally/create-and-list-floating-ips-bulk.yaml 2018-03-19 16:01:39 +0000
2535@@ -0,0 +1,14 @@
2536+---
2537+ NovaFloatingIpsBulk.create_and_list_floating_ips_bulk:
2538+ -
2539+ args:
2540+ start_cidr: "10.2.0.0/24"
2541+ runner:
2542+ type: "constant"
2543+ times: 5
2544+ concurrency: 2
2545+ context:
2546+ users:
2547+ tenants: 3
2548+ users_per_tenant: 2
2549+
2550
2551=== added file 'deprecated/templates/rally/create-and-list-keypairs.yaml'
2552--- deprecated/templates/rally/create-and-list-keypairs.yaml 1970-01-01 00:00:00 +0000
2553+++ deprecated/templates/rally/create-and-list-keypairs.yaml 2018-03-19 16:01:39 +0000
2554@@ -0,0 +1,11 @@
2555+---
2556+ NovaKeypair.create_and_list_keypairs:
2557+ -
2558+ runner:
2559+ type: "constant"
2560+ times: 10
2561+ concurrency: 2
2562+ context:
2563+ users:
2564+ tenants: 3
2565+ users_per_tenant: 2
2566
2567=== added file 'deprecated/templates/rally/create-and-list-networks.yaml'
2568--- deprecated/templates/rally/create-and-list-networks.yaml 1970-01-01 00:00:00 +0000
2569+++ deprecated/templates/rally/create-and-list-networks.yaml 2018-03-19 16:01:39 +0000
2570@@ -0,0 +1,13 @@
2571+---
2572+ NovaNetworks.create_and_list_networks:
2573+ -
2574+ args:
2575+ start_cidr: "10.10.0.0/24"
2576+ runner:
2577+ type: "constant"
2578+ times: 5
2579+ concurrency: 2
2580+ context:
2581+ users:
2582+ tenants: 3
2583+ users_per_tenant: 2
2584\ No newline at end of file
2585
2586=== added file 'deprecated/templates/rally/create-and-list-secgroups.yaml'
2587--- deprecated/templates/rally/create-and-list-secgroups.yaml 1970-01-01 00:00:00 +0000
2588+++ deprecated/templates/rally/create-and-list-secgroups.yaml 2018-03-19 16:01:39 +0000
2589@@ -0,0 +1,14 @@
2590+---
2591+ NovaSecGroup.create_and_list_secgroups:
2592+ -
2593+ args:
2594+ security_group_count: 10
2595+ rules_per_security_group: 10
2596+ runner:
2597+ type: "constant"
2598+ times: 10
2599+ concurrency: 2
2600+ context:
2601+ users:
2602+ tenants: 3
2603+ users_per_tenant: 2
2604
2605=== added file 'deprecated/templates/rally/create-and-update-secgroups.yaml'
2606--- deprecated/templates/rally/create-and-update-secgroups.yaml 1970-01-01 00:00:00 +0000
2607+++ deprecated/templates/rally/create-and-update-secgroups.yaml 2018-03-19 16:01:39 +0000
2608@@ -0,0 +1,13 @@
2609+---
2610+ NovaSecGroup.create_and_update_secgroups:
2611+ -
2612+ args:
2613+ security_group_count: 10
2614+ runner:
2615+ type: "constant"
2616+ times: 10
2617+ concurrency: 2
2618+ context:
2619+ users:
2620+ tenants: 3
2621+ users_per_tenant: 2
2622
2623=== added file 'deprecated/templates/rally/list-agents.yaml'
2624--- deprecated/templates/rally/list-agents.yaml 1970-01-01 00:00:00 +0000
2625+++ deprecated/templates/rally/list-agents.yaml 2018-03-19 16:01:39 +0000
2626@@ -0,0 +1,7 @@
2627+---
2628+ NovaAgents.list_agents:
2629+ -
2630+ runner:
2631+ type: "constant"
2632+ concurrency: 2
2633+ times: 10
2634
2635=== added file 'deprecated/templates/rally/list-aggregates.yaml'
2636--- deprecated/templates/rally/list-aggregates.yaml 1970-01-01 00:00:00 +0000
2637+++ deprecated/templates/rally/list-aggregates.yaml 2018-03-19 16:01:39 +0000
2638@@ -0,0 +1,7 @@
2639+---
2640+ NovaAggregates.list_aggregates:
2641+ -
2642+ runner:
2643+ type: "constant"
2644+ concurrency: 2
2645+ times : 10
2646
2647=== added file 'deprecated/templates/rally/list-availability-zones.yaml'
2648--- deprecated/templates/rally/list-availability-zones.yaml 1970-01-01 00:00:00 +0000
2649+++ deprecated/templates/rally/list-availability-zones.yaml 2018-03-19 16:01:39 +0000
2650@@ -0,0 +1,9 @@
2651+---
2652+ NovaAvailabilityZones.list_availability_zones:
2653+ -
2654+ args:
2655+ detailed: true
2656+ runner:
2657+ type: "constant"
2658+ concurrency: 2
2659+ times: 10
2660
2661=== added file 'deprecated/templates/rally/list-flavors.yaml'
2662--- deprecated/templates/rally/list-flavors.yaml 1970-01-01 00:00:00 +0000
2663+++ deprecated/templates/rally/list-flavors.yaml 2018-03-19 16:01:39 +0000
2664@@ -0,0 +1,13 @@
2665+---
2666+ NovaFlavors.list_flavors:
2667+ -
2668+ args:
2669+ detailed: True
2670+ runner:
2671+ type: "constant"
2672+ times: 10
2673+ concurrency: 2
2674+ context:
2675+ users:
2676+ tenants: 3
2677+ users_per_tenant: 2
2678
2679=== added file 'deprecated/templates/rally/list-hosts.yaml'
2680--- deprecated/templates/rally/list-hosts.yaml 1970-01-01 00:00:00 +0000
2681+++ deprecated/templates/rally/list-hosts.yaml 2018-03-19 16:01:39 +0000
2682@@ -0,0 +1,7 @@
2683+---
2684+ NovaHosts.list_hosts:
2685+ -
2686+ runner:
2687+ type: "constant"
2688+ concurrency: 2
2689+ times: 10
2690
2691=== added file 'deprecated/templates/rally/list-hypervisors.yaml'
2692--- deprecated/templates/rally/list-hypervisors.yaml 1970-01-01 00:00:00 +0000
2693+++ deprecated/templates/rally/list-hypervisors.yaml 2018-03-19 16:01:39 +0000
2694@@ -0,0 +1,9 @@
2695+---
2696+ NovaHypervisors.list_hypervisors:
2697+ -
2698+ args:
2699+ detailed: True
2700+ runner:
2701+ type: "constant"
2702+ times: 10
2703+ concurrency: 2
2704
2705=== added file 'deprecated/templates/rally/list-images.yaml'
2706--- deprecated/templates/rally/list-images.yaml 1970-01-01 00:00:00 +0000
2707+++ deprecated/templates/rally/list-images.yaml 2018-03-19 16:01:39 +0000
2708@@ -0,0 +1,13 @@
2709+---
2710+ NovaImages.list_images:
2711+ -
2712+ args:
2713+ detailed: True
2714+ runner:
2715+ type: "constant"
2716+ times: 10
2717+ concurrency: 2
2718+ context:
2719+ users:
2720+ tenants: 3
2721+ users_per_tenant: 2
2722
2723=== added file 'deprecated/templates/rally/list-servers.yaml'
2724--- deprecated/templates/rally/list-servers.yaml 1970-01-01 00:00:00 +0000
2725+++ deprecated/templates/rally/list-servers.yaml 2018-03-19 16:01:39 +0000
2726@@ -0,0 +1,20 @@
2727+{% set flavor_name = flavor_name or "m1.tiny" %}
2728+---
2729+ NovaServers.list_servers:
2730+ -
2731+ args:
2732+ detailed: True
2733+ runner:
2734+ type: "constant"
2735+ times: 1
2736+ concurrency: 1
2737+ context:
2738+ users:
2739+ tenants: 1
2740+ users_per_tenant: 1
2741+ servers:
2742+ flavor:
2743+ name: "{{flavor_name}}"
2744+ image:
2745+ name: "__IMAGE__"
2746+ servers_per_tenant: 2
2747
2748=== added file 'deprecated/templates/rally/list-services.yaml'
2749--- deprecated/templates/rally/list-services.yaml 1970-01-01 00:00:00 +0000
2750+++ deprecated/templates/rally/list-services.yaml 2018-03-19 16:01:39 +0000
2751@@ -0,0 +1,7 @@
2752+---
2753+ NovaServices.list_services:
2754+ -
2755+ runner:
2756+ type: "constant"
2757+ times: 10
2758+ concurrency: 2
2759
2760=== added file 'deprecated/templates/rally/pause-and-unpause.yaml'
2761--- deprecated/templates/rally/pause-and-unpause.yaml 1970-01-01 00:00:00 +0000
2762+++ deprecated/templates/rally/pause-and-unpause.yaml 2018-03-19 16:01:39 +0000
2763@@ -0,0 +1,18 @@
2764+{% set flavor_name = flavor_name or "m1.tiny" %}
2765+---
2766+ NovaServers.pause_and_unpause_server:
2767+ -
2768+ args:
2769+ flavor:
2770+ name: "{{flavor_name}}"
2771+ image:
2772+ name: "__IMAGE__"
2773+ force_delete: false
2774+ runner:
2775+ type: "constant"
2776+ times: 10
2777+ concurrency: 2
2778+ context:
2779+ users:
2780+ tenants: 3
2781+ users_per_tenant: 2
2782
2783=== added file 'deprecated/templates/rally/resize-server.yaml'
2784--- deprecated/templates/rally/resize-server.yaml 1970-01-01 00:00:00 +0000
2785+++ deprecated/templates/rally/resize-server.yaml 2018-03-19 16:01:39 +0000
2786@@ -0,0 +1,21 @@
2787+{% set flavor_name = flavor_name or "m1.tiny" %}
2788+---
2789+ NovaServers.resize_server:
2790+ -
2791+ args:
2792+ flavor:
2793+ name: "{{flavor_name}}"
2794+ image:
2795+ name: "__IMAGE__"
2796+ to_flavor:
2797+ name: "m1.small"
2798+ confirm: true
2799+ force_delete: false
2800+ runner:
2801+ type: "constant"
2802+ times: 10
2803+ concurrency: 5
2804+ context:
2805+ users:
2806+ tenants: 1
2807+ users_per_tenant: 1
2808
2809=== added file 'deprecated/templates/rally/shelve-and-unshelve.yaml'
2810--- deprecated/templates/rally/shelve-and-unshelve.yaml 1970-01-01 00:00:00 +0000
2811+++ deprecated/templates/rally/shelve-and-unshelve.yaml 2018-03-19 16:01:39 +0000
2812@@ -0,0 +1,18 @@
2813+{% set flavor_name = flavor_name or "m1.tiny" %}
2814+---
2815+ NovaServers.shelve_and_unshelve_server:
2816+ -
2817+ args:
2818+ flavor:
2819+ name: "{{flavor_name}}"
2820+ image:
2821+ name: "__IMAGE__"
2822+ force_delete: false
2823+ runner:
2824+ type: "constant"
2825+ times: 10
2826+ concurrency: 2
2827+ context:
2828+ users:
2829+ tenants: 3
2830+ users_per_tenant: 2
2831
2832=== added file 'deprecated/templates/rally/suspend-and-resume.yaml'
2833--- deprecated/templates/rally/suspend-and-resume.yaml 1970-01-01 00:00:00 +0000
2834+++ deprecated/templates/rally/suspend-and-resume.yaml 2018-03-19 16:01:39 +0000
2835@@ -0,0 +1,18 @@
2836+{% set flavor_name = flavor_name or "m1.tiny" %}
2837+---
2838+ NovaServers.suspend_and_resume_server:
2839+ -
2840+ args:
2841+ flavor:
2842+ name: "{{flavor_name}}"
2843+ image:
2844+ name: "__IMAGE__"
2845+ force_delete: false
2846+ runner:
2847+ type: "constant"
2848+ times: 10
2849+ concurrency: 2
2850+ context:
2851+ users:
2852+ tenants: 3
2853+ users_per_tenant: 2
2854
2855=== added directory 'deprecated/templates/tempest'
2856=== added file 'deprecated/templates/tempest/accounts.yaml'
2857--- deprecated/templates/tempest/accounts.yaml 1970-01-01 00:00:00 +0000
2858+++ deprecated/templates/tempest/accounts.yaml 2018-03-19 16:01:39 +0000
2859@@ -0,0 +1,6 @@
2860+- username: 'demo'
2861+ tenant_name: 'demo'
2862+ password: 'secret'
2863+- username: 'alt_demo'
2864+ tenant_name: 'alt_demo'
2865+ password: 'secret'
2866
2867=== added file 'deprecated/templates/tempest/tempest-v3.conf.template'
2868--- deprecated/templates/tempest/tempest-v3.conf.template 1970-01-01 00:00:00 +0000
2869+++ deprecated/templates/tempest/tempest-v3.conf.template 2018-03-19 16:01:39 +0000
2870@@ -0,0 +1,71 @@
2871+[auth]
2872+test_accounts_file=accounts.yaml
2873+default_credentials_domain_name=admin_domain
2874+admin_username=admin
2875+admin_project_name=admin
2876+admin_password=openstack
2877+admin_domain_name=admin_domain
2878+[compute]
2879+image_ref=__IMAGE_ID__
2880+image_ref_alt=__IMAGE_ALT_ID__
2881+flavor_ref=7
2882+flavor_ref_alt=8
2883+region=RegionOne
2884+min_compute_nodes = 3
2885+[compute-feature-enabled]
2886+console_output=false
2887+resize=true
2888+live_migration=true
2889+block_migration_for_live_migration=true
2890+[identity]
2891+uri_v3=__PROTO__://__KEYSTONE__:5000/v3
2892+auth_version=v3
2893+admin_role=Admin
2894+region=RegionOne
2895+default_domain_id=__DEFAULT_DOMAIN_ID__
2896+admin_domain_scope=true
2897+[identity-feature-enabled]
2898+api_v2=false
2899+api_v3=true
2900+[image]
2901+catalog_type = image
2902+region=RegionOne
2903+http_image = http://__SWIFT__:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
2904+[network]
2905+project_network_cidr=__CIDR_PRIV__
2906+public_network_id=__EXT_NET__
2907+dns_servers=__NAMESERVER__
2908+project_networks_reachable = false
2909+[network-feature-enabled]
2910+ipv6=false
2911+[orchestration]
2912+stack_owner_role = Admin
2913+instance_type = m1.small
2914+keypair_name = testkey
2915+[oslo_concurrency]
2916+lock_path=/tmp
2917+[scenario]
2918+img_dir=/home/ubuntu/images
2919+ssh_user=cirros
2920+[service_available]
2921+ceilometer = true
2922+cinder = true
2923+glance = true
2924+heat = true
2925+horizon = true
2926+ironic = false
2927+neutron = true
2928+nova = true
2929+sahara = false
2930+swift = true
2931+trove = false
2932+zaqar = false
2933+[volume]
2934+catalog_type = volumev3
2935+backend_names=cinder-ceph
2936+storage_protocol=ceph
2937+[volume-feature-enabled]
2938+backup=false
2939+api_v1=false
2940+api_v2=false
2941+api_v3=true
2942
2943=== added file 'deprecated/templates/tempest/tempest.conf.oil_example'
2944--- deprecated/templates/tempest/tempest.conf.oil_example 1970-01-01 00:00:00 +0000
2945+++ deprecated/templates/tempest/tempest.conf.oil_example 2018-03-19 16:01:39 +0000
2946@@ -0,0 +1,461 @@
2947+# OIL
2948+
2949+[DEFAULT]
2950+#log_config = /opt/stack/tempest/etc/logging.conf.sample
2951+
2952+# disable logging to the stderr
2953+use_stderr = False
2954+
2955+# log file
2956+log_file = tempest.log
2957+
2958+# lock/semaphore base directory
2959+lock_path=/tmp
2960+
2961+default_log_levels=tempest.stress=INFO,amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN
2962+
2963+[identity]
2964+# This section contains configuration options that a variety of Tempest
2965+# test clients use when authenticating with different user/tenant
2966+# combinations
2967+
2968+# The type of endpoint for a Identity service. Unless you have a
2969+# custom Keystone service catalog implementation, you probably want to leave
2970+# this value as "identity"
2971+catalog_type = identity
2972+# Ignore SSL certificate validation failures? Use when in testing
2973+# environments that have self-signed SSL certs.
2974+disable_ssl_certificate_validation = False
2975+# URL for where to find the OpenStack Identity API endpoint (Keystone)
2976+uri = http://{{ keystone_host }}:5000/v2.0/
2977+# URL for where to find the OpenStack V3 Identity API endpoint (Keystone)
2978+uri_v3 = http://{{ keystone_host }}:5000/v3/
2979+# The identity region. Also used as the other services' region name unless
2980+# they are set explicitly.
2981+region = RegionOne
2982+
2983+# This should be the username of a user WITHOUT administrative privileges
2984+username = {{ test_tenant_1_username }}
2985+# The above non-administrative user's password
2986+password = {{ test_tenant_1_password }}
2987+# The above non-administrative user's tenant name
2988+tenant_name = {{ test_tenant_2_tenant_name }}
2989+
2990+# This should be the username of an alternate user WITHOUT
2991+# administrative privileges
2992+alt_username = {{ test_tenant_2_username }}
2993+# The above non-administrative user's password
2994+alt_password = {{ test_tenant_2_password }}
2995+# The above non-administrative user's tenant name
2996+alt_tenant_name = {{ test_tenant_2_tenant_name }}
2997+
2998+# NOTE (adam_g): The OS_* credentials in envrc should point to the
2999+# default configured credentials in the keystone
3000+# service config (admin user).
3001+# This should be the username of a user WITH administrative privileges
3002+admin_username = {{ admin_username }}
3003+# The above administrative user's password
3004+admin_password = {{ admin_password }}
3005+# The above administrative user's tenant name
3006+admin_tenant_name = {{ admin_tenant_name }}
3007+
3008+# The role that is required to administrate keystone.
3009+admin_role = Admin
3010+
3011+[compute]
3012+# This section contains configuration options used when executing tests
3013+# against the OpenStack Compute API.
3014+
3015+# Allows test cases to create/destroy tenants and users. This option
3016+# enables isolated test cases and better parallel execution,
3017+# but also requires that OpenStack Identity API admin credentials
3018+# are known.
3019+allow_tenant_isolation = true
3020+
3021+# Allows test cases to create/destroy tenants and users. This option
3022+# enables isolated test cases and better parallel execution,
3023+# but also requires that OpenStack Identity API admin credentials
3024+# are known.
3025+allow_tenant_reuse = true
3026+
3027+# Reference data for tests. The ref and ref_alt should be
3028+# distinct images/flavors.
3029+image_ref = {{ image_uuid_1 }}
3030+image_ref_alt = {{ image_uuid_2 }}
3031+flavor_ref = 2
3032+flavor_ref_alt = 3
3033+
3034+# User names used to authenticate to an instance for a given image.
3035+image_ssh_user = root
3036+
3037+# Password used to authenticate to an instance
3038+image_ssh_password = password
3039+
3040+# User name used to authenticate to an instance using the alternate image
3041+image_alt_ssh_user = root
3042+
3043+# Password used to authenticate to an instance using the alternate image
3044+image_alt_ssh_password = password
3045+
3046+# Number of seconds to wait while looping to check the status of an
3047+# instance that is building.
3048+build_interval = 10
3049+
3050+# Number of seconds to time out on waiting for an instance
3051+# to build or reach an expected status
3052+build_timeout = 600
3053+
3054+# Run additional tests that use SSH for instance validation?
3055+# This requires the instances be routable from the host
3056+# executing the tests
3057+run_ssh = false
3058+
3059+# Name of a user used to authenticated to an instance
3060+ssh_user = cirros
3061+
3062+# Visible fixed network name
3063+fixed_network_name = private
3064+
3065+# Network id used for SSH (public, private, etc)
3066+network_for_ssh = private
3067+
3068+# IP version of the address used for SSH
3069+ip_version_for_ssh = 4
3070+
3071+# Number of seconds to wait to ping to an instance
3072+ping_timeout = 60
3073+
3074+# Number of seconds to wait to authenticate to an instance
3075+ssh_timeout = 300
3076+
3077+# Additinal wait time for clean state, when there is
3078+# no OS-EXT-STS extension availiable
3079+ready_wait = 0
3080+
3081+# Number of seconds to wait for output from ssh channel
3082+ssh_channel_timeout = 60
3083+
3084+# Dose the SSH uses Floating IP?
3085+use_floatingip_for_ssh = True
3086+
3087+# The type of endpoint for a Compute API service. Unless you have a
3088+# custom Keystone service catalog implementation, you probably want to leave
3089+# this value as "compute"
3090+catalog_type = compute
3091+
3092+# The name of a region for compute. If empty or commented-out, the value of
3093+# identity.region is used instead. If no such region is found in the service
3094+# catalog, the first found one is used.
3095+#region = RegionOne
3096+
3097+# Does the Compute API support creation of images?
3098+create_image_enabled = true
3099+
3100+# For resize to work with libvirt/kvm, one of the following must be true:
3101+# Single node: allow_resize_to_same_host=True must be set in nova.conf
3102+# Cluster: the 'nova' user must have scp access between cluster nodes
3103+# XXX disabled, can we enable?
3104+resize_available = false
3105+
3106+# Does the compute API support changing the admin password?
3107+change_password_available=false
3108+
3109+# Run live migration tests (requires 2 hosts)
3110+live_migration_available = false
3111+
3112+# Use block live migration (Otherwise, non-block migration will be
3113+# performed, which requires XenServer pools in case of using XS)
3114+use_block_migration_for_live_migration = false
3115+
3116+# Supports iSCSI block migration - depends on a XAPI supporting
3117+# relax-xsm-sr-check
3118+block_migrate_supports_cinder_iscsi = false
3119+
3120+# When set to false, disk config tests are forced to skip
3121+disk_config_enabled = true
3122+
3123+# When set to false, flavor extra data tests are forced to skip
3124+flavor_extra_enabled = true
3125+
3126+# Expected first device name when a volume is attached to an instance
3127+volume_device_name = vdb
3128+
3129+[compute-admin]
3130+# This should be the username of a user WITH administrative privileges
3131+# If not defined the admin user from the identity section will be used
3132+username = {{ admin_username }}
3133+# The above administrative user's password
3134+password = {{ admin_password }}
3135+# The above administrative user's tenant name
3136+tenant_name = {{ admin_tenant_name }}
3137+
3138+[image]
3139+# This section contains configuration options used when executing tests
3140+# against the OpenStack Images API
3141+
3142+# The type of endpoint for an Image API service. Unless you have a
3143+# custom Keystone service catalog implementation, you probably want to leave
3144+# this value as "image"
3145+catalog_type = image
3146+
3147+# The name of a region for image. If empty or commented-out, the value of
3148+# identity.region is used instead. If no such region is found in the service
3149+# catalog, the first found one is used.
3150+#region = RegionOne
3151+
3152+# The version of the OpenStack Images API to use
3153+api_version = 1
3154+
3155+# HTTP image to use for glance http image testing
3156+#http_image = http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz
3157+http_image = http://10.245.0.10/cloud_images/cirros-0.3.1-x86_64-uec.tar.gz
3158+
3159+[network]
3160+# This section contains configuration options used when executing tests
3161+# against the OpenStack Network API.
3162+
3163+# Version of the Neutron API
3164+api_version = v1.1
3165+# Catalog type of the Neutron Service
3166+catalog_type = network
3167+
3168+# The name of a region for network. If empty or commented-out, the value of
3169+# identity.region is used instead. If no such region is found in the service
3170+# catalog, the first found one is used.
3171+#region = RegionOne
3172+
3173+# A large private cidr block from which to allocate smaller blocks for
3174+# tenant networks.
3175+tenant_network_cidr = 10.100.0.0/16
3176+
3177+# The mask bits used to partition the tenant block.
3178+tenant_network_mask_bits = 24
3179+
3180+# If tenant networks are reachable, connectivity checks will be
3181+# performed directly against addresses on those networks.
3182+tenant_networks_reachable = false
3183+
3184+# Id of the public network that provides external connectivity.
3185+public_network_id = {{ neutron_ext_net_id }}
3186+
3187+# Id of a shared public router that provides external connectivity.
3188+# A shared public router would commonly be used where IP namespaces
3189+# were disabled. If namespaces are enabled, it would be preferable
3190+# for each tenant to have their own router.
3191+public_router_id = {{ neutron_ext_net_router_id }}
3192+
3193+
3194+[volume]
3195+# This section contains the configuration options used when executing tests
3196+# against the OpenStack Block Storage API service
3197+
3198+# The type of endpoint for a Cinder or Block Storage API service.
3199+# Unless you have a custom Keystone service catalog implementation, you
3200+# probably want to leave this value as "volume"
3201+catalog_type = volumev2
3202+# The name of a region for volume. If empty or commented-out, the value of
3203+# identity.region is used instead. If no such region is found in the service
3204+# catalog, the first found one is used.
3205+#region = RegionOne
3206+# The disk format to use when copying a volume to image
3207+disk_format = raw
3208+# Number of seconds to wait while looping to check the status of a
3209+# volume that is being made available
3210+build_interval = 10
3211+# Number of seconds to time out on waiting for a volume
3212+# to be available or reach an expected status
3213+build_timeout = 300
3214+# Runs Cinder multi-backend tests (requires 2 backends declared in cinder.conf)
3215+# They must have different volume_backend_name (backend1_name and backend2_name
3216+# have to be different)
3217+multi_backend_enabled = false
3218+backend1_name = BACKEND_1
3219+backend2_name = BACKEND_2
3220+# Protocol and vendor of volume backend to target when testing volume-types.
3221+# You should update to reflect those exported by configured backend driver.
3222+storage_protocol = {{ storage_protocol }}
3223+vendor_name = Open Source
3224+
3225+[object-storage]
3226+# This section contains configuration options used when executing tests
3227+# against the OpenStack Object Storage API.
3228+
3229+# You can configure the credentials in the compute section
3230+
3231+# The type of endpoint for an Object Storage API service. Unless you have a
3232+# custom Keystone service catalog implementation, you probably want to leave
3233+# this value as "object-store"
3234+catalog_type = object-store
3235+
3236+# The name of a region for object storage. If empty or commented-out, the
3237+# value of identity.region is used instead. If no such region is found in
3238+# the service catalog, the first found one is used.
3239+#region = RegionOne
3240+
3241+# Number of seconds to time on waiting for a container to container
3242+# synchronization complete
3243+container_sync_timeout = 120
3244+# Number of seconds to wait while looping to check the status of a
3245+# container to container synchronization
3246+container_sync_interval = 5
3247+# Set to True if the Account Quota middleware is enabled
3248+accounts_quotas_available = True
3249+# Set to True if the Container Quota middleware is enabled
3250+container_quotas_available = True
3251+
3252+# Set operator role for tests that require creating a container
3253+operator_role = Member
3254+
3255+#jamespage
3256+accounts_quotas_available = True
3257+container_quotas_available = True
3258+
3259+[boto]
3260+# This section contains configuration options used when executing tests
3261+# with boto.
3262+
3263+# EC2 URL
3264+ec2_url = http://{{ nova_host }}:8773/services/Cloud
3265+# S3 URL
3266+s3_url = http://{{ nova_host }}:3333
3267+
3268+# Use keystone ec2-* command to get those values for your test user and tenant
3269+aws_access = {{ test_tenant_1_ec2_access }}
3270+aws_secret = {{ test_tenant_1_ec2_secret }}
3271+
3272+# Image materials for S3 upload
3273+# ALL content of the specified directory will be uploaded to S3
3274+s3_materials_path = /opt/stack/devstack/files/images/s3-materials/cirros-0.3.1
3275+
3276+# The manifest.xml files, must be in the s3_materials_path directory
3277+# Subdirectories not allowed!
3278+# The filenames will be used as a Keys in the S3 Buckets
3279+
3280+# ARI Ramdisk manifest. Must be in the above s3_materials_path
3281+ari_manifest = cirros-0.3.1-x86_64-initrd.manifest.xml
3282+
3283+# AMI Machine Image manifest. Must be in the above s3_materials_path
3284+ami_manifest = cirros-0.3.1-x86_64-blank.img.manifest.xml
3285+
3286+# AKI Kernel Image manifest, Must be in the above s3_materials_path
3287+aki_manifest = cirros-0.3.1-x86_64-vmlinuz.manifest.xml
3288+
3289+# Instance type
3290+instance_type = m1.tiny
3291+
3292+# TCP/IP connection timeout
3293+http_socket_timeout = 5
3294+
3295+# Number of retries actions on connection or 5xx error
3296+num_retries = 1
3297+
3298+# Status change wait timout
3299+build_timeout = 120
3300+
3301+# Status change wait interval
3302+build_interval = 1
3303+
3304+[orchestration]
3305+# The type of endpoint for an Orchestration API service. Unless you have a
3306+# custom Keystone service catalog implementation, you probably want to leave
3307+# this value as "orchestration"
3308+catalog_type = orchestration
3309+
3310+# The name of a region for orchestration. If empty or commented-out, the value
3311+# of identity.region is used instead. If no such region is found in the service
3312+# catalog, the first found one is used.
3313+#region = RegionOne
3314+
3315+# Status change wait interval
3316+build_interval = 1
3317+
3318+# Status change wait timout. This may vary across environments as some some
3319+# tests spawn full VMs, which could be slow if the test is already in a VM.
3320+build_timeout = 300
3321+
3322+# Instance type for tests. Needs to be big enough for a
3323+# full OS plus the test workload
3324+instance_type = m1.micro
3325+
3326+# Name of heat-cfntools enabled image to use when launching test instances
3327+# If not specified, tests that spawn instances will not run
3328+#image_ref = ubuntu-vm-heat-cfntools
3329+
3330+# Name of existing keypair to launch servers with. The default is not to specify
3331+# any key, which will generate a keypair for each test class
3332+#keypair_name = heat_key
3333+
3334+[dashboard]
3335+# URL where to find the dashboard home page
3336+dashboard_url = http://{{ horizon_host }}/horizon
3337+
3338+# URL where to submit the login form
3339+login_url = http://{{ horizon_host }}/horizon/auth/login/
3340+
3341+[scenario]
3342+# Cirros from http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz
3343+# Directory containing image files
3344+img_dir = /var/lib/jenkins/images/
3345+
3346+# AMI image file name
3347+ami_img_file = cirros-0.3.1-x86_64-blank.img
3348+
3349+# ARI image file name
3350+ari_img_file = cirros-0.3.1-x86_64-initrd
3351+
3352+# AKI image file name
3353+aki_img_file = cirros-0.3.1-x86_64-vmlinuz
3354+
3355+# ssh username for the image file
3356+ssh_user = cirros
3357+
3358+# specifies how many resources to request at once. Used for large operations
3359+# testing."
3360+large_ops_number = 3
3361+
3362+[cli]
3363+# Enable cli tests
3364+enabled = True
3365+# directory where python client binaries are located
3366+cli_dir = /usr/bin
3367+# Number of seconds to wait on a CLI timeout
3368+timeout = 15
3369+
3370+[service_available]
3371+# Whether or not cinder is expected to be available
3372+cinder = True
3373+# Whether or not neutron is expected to be available
3374+neutron = {{ neutron_available }}
3375+# Whether or not glance is expected to be available
3376+glance = True
3377+# Whether or not swift is expected to be available
3378+swift = {{ swift_available }}
3379+# Whether or not nova is expected to be available
3380+nova = True
3381+# Whether or not Heat is expected to be available
3382+heat = false
3383+# Whether or not horizon is expected to be available
3384+horizon = {{ horizon_available }}
3385+
3386+[stress]
3387+# Maximum number of instances to create during test
3388+max_instances = 32
3389+# Time (in seconds) between log file error checks
3390+log_check_interval = 60
3391+# The default number of threads created while stress test
3392+default_thread_number_per_action=4
3393+
3394+[debug]
3395+# Enable diagnostic commands
3396+enable = False
3397+
3398+# adds from jamespage
3399+[image-feature-enabled]
3400+[input-scenario]
3401+[network-feature-enabled]
3402+[compute-feature-enabled]
3403+api_v3=false
3404+[object-storage-feature-enabled]
3405+[volume-feature-enabled]
3406+backup=false
3407+api_v1=false
3408
3409=== added file 'deprecated/templates/tempest/tempest.conf.template'
3410--- deprecated/templates/tempest/tempest.conf.template 1970-01-01 00:00:00 +0000
3411+++ deprecated/templates/tempest/tempest.conf.template 2018-03-19 16:01:39 +0000
3412@@ -0,0 +1,94 @@
3413+[DEFAULT]
3414+lock_path=/tmp
3415+[baremetal]
3416+[boto]
3417+ec2_url = __PROTO__://__NCC__:8773/services/Cloud
3418+s3_url = __PROTO__://__NCC__:3333
3419+aws_access = __ACCESS__
3420+aws_secret = __SECRET__
3421+[cli]
3422+enabled=true
3423+timeout=60
3424+cli_dir=/usr/local/bin
3425+[compute]
3426+flavor_ref=7
3427+flavor_ref_alt=8
3428+image_ssh_user=cirros
3429+image_alt_ssh_user=ubuntu
3430+image_ref=__IMAGE_ID__
3431+image_ref_alt=__IMAGE_ALT_ID__
3432+allow_tenant_isolation = true
3433+allow_tenant_reuse = true
3434+min_compute_nodes = 3
3435+[compute-admin]
3436+[compute-feature-enabled]
3437+api_v3=false
3438+console_output=false
3439+resize=true
3440+live_migration=true
3441+block_migration_for_live_migration=true
3442+[dashboard]
3443+dashboard_url=http://__DASHBOARD__/horizon
3444+login_url=http://__DASHBOARD__/horizon/auth/login/
3445+[data_processing]
3446+[debug]
3447+[identity]
3448+uri=__PROTO__://__KEYSTONE__:5000/v2.0
3449+uri_v3=__PROTO__://__KEYSTONE__:5000/v3
3450+admin_username=admin
3451+admin_tenant_name=admin
3452+admin_password=openstack
3453+admin_domain_name=Default
3454+username = demo
3455+password = pass
3456+tenant_name = demo
3457+alt_username = alt_demo
3458+alt_password = secret
3459+alt_tenant_name = alt_demo
3460+admin_role = Admin
3461+[identity-feature-enabled]
3462+[image]
3463+http_image = http://__SWIFT__:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
3464+[image-feature-enabled]
3465+[input-scenario]
3466+[network]
3467+tenant_network_cidr=__CIDR_PRIV__
3468+public_network_id=__EXT_NET__
3469+dns_servers=__NAMESERVER__
3470+tenant_networks_reachable = false
3471+[network-feature-enabled]
3472+ipv6=false
3473+[object-storage]
3474+accounts_quotas_available = True
3475+container_quotas_available = True
3476+[object-storage-feature-enabled]
3477+[orchestration]
3478+instance_type = m1.small
3479+keypair_name = testkey
3480+stack_owner_role = Admin
3481+[scenario]
3482+img_dir=/home/ubuntu/images
3483+ssh_user=cirros
3484+[service_available]
3485+ceilometer = true
3486+cinder = true
3487+glance = true
3488+heat = true
3489+horizon = true
3490+ironic = false
3491+neutron = true
3492+nova = true
3493+sahara = false
3494+swift = true
3495+trove = false
3496+zaqar = false
3497+[stress]
3498+max_instances = 4
3499+[telemetry]
3500+[volume]
3501+storage_protocol=ceph
3502+backend1_name=cinder-ceph
3503+catalog_type = volumev2
3504+[volume-feature-enabled]
3505+backup=false
3506+api_v1=false
3507
3508=== added file 'deprecated/templates/tempest/tempest.conf.template.basic'
3509--- deprecated/templates/tempest/tempest.conf.template.basic 1970-01-01 00:00:00 +0000
3510+++ deprecated/templates/tempest/tempest.conf.template.basic 2018-03-19 16:01:39 +0000
3511@@ -0,0 +1,90 @@
3512+[DEFAULT]
3513+lock_path=/tmp
3514+[baremetal]
3515+[boto]
3516+ec2_url = __PROTO__://__NCC__:8773/services/Cloud
3517+s3_url = __PROTO__://__NCC__:3333
3518+aws_access = __ACCESS__
3519+aws_secret = __SECRET__
3520+[cli]
3521+enabled=true
3522+timeout=60
3523+cli_dir=/usr/local/bin
3524+[compute]
3525+flavor_ref=7
3526+flavor_ref_alt=8
3527+image_ssh_user=cirros
3528+image_alt_ssh_user=ubuntu
3529+image_ref=__IMAGE_ID__
3530+image_ref_alt=__IMAGE_ALT_ID__
3531+allow_tenant_isolation = true
3532+allow_tenant_reuse = true
3533+[compute-admin]
3534+[compute-feature-enabled]
3535+api_v3=false
3536+console_output=false
3537+resize=true
3538+[dashboard]
3539+dashboard_url=http://__DASHBOARD__/horizon
3540+login_url=http://__DASHBOARD__/horizon/auth/login/
3541+[data_processing]
3542+[debug]
3543+[identity]
3544+uri=__PROTO__://__KEYSTONE__:5000/v2.0
3545+uri_v3=__PROTO__://__KEYSTONE__:5000/v3
3546+admin_username=admin
3547+admin_tenant_name=admin
3548+admin_password=openstack
3549+admin_domain_name=Default
3550+username = demo
3551+password = pass
3552+tenant_name = demo
3553+alt_username = alt_demo
3554+alt_password = secret
3555+alt_tenant_name = alt_demo
3556+admin_role = Admin
3557+[identity-feature-enabled]
3558+[image]
3559+http_image = http://__SWIFT__:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
3560+[image-feature-enabled]
3561+[input-scenario]
3562+[network]
3563+tenant_network_cidr=__CIDR_PRIV__
3564+public_network_id=__EXT_NET__
3565+dns_servers=__NAMESERVER__
3566+tenant_networks_reachable = false
3567+[network-feature-enabled]
3568+ipv6=false
3569+[object-storage]
3570+accounts_quotas_available = True
3571+container_quotas_available = True
3572+[object-storage-feature-enabled]
3573+[orchestration]
3574+instance_type = m1.small
3575+keypair_name = testkey
3576+[scenario]
3577+img_dir=/home/ubuntu/images
3578+ssh_user=cirros
3579+[service_available]
3580+ceilometer = false
3581+cinder = true
3582+glance = true
3583+heat = false
3584+horizon = true
3585+ironic = false
3586+neutron = true
3587+nova = true
3588+sahara = false
3589+swift = false
3590+trove = false
3591+zaqar = false
3592+[stress]
3593+max_instances = 4
3594+[telemetry]
3595+[volume]
3596+storage_protocol=ceph
3597+backend1_name=cinder-ceph
3598+catalog_type = volumev2
3599+[volume-feature-enabled]
3600+backup=false
3601+api_v1=false
3602
3603=== added file 'deprecated/templates/tempest/tempest.conf.template.lxd'
3604--- deprecated/templates/tempest/tempest.conf.template.lxd 1970-01-01 00:00:00 +0000
3605+++ deprecated/templates/tempest/tempest.conf.template.lxd 2018-03-19 16:01:39 +0000
3606@@ -0,0 +1,86 @@
3607+[DEFAULT]
3608+lock_path=/tmp
3609+[baremetal]
3610+[boto]
3611+ec2_url = __PROTO__://__NCC__:8773/services/Cloud
3612+s3_url = __PROTO__://__NCC__:3333
3613+aws_access = __ACCESS__
3614+aws_secret = __SECRET__
3615+[cli]
3616+enabled=true
3617+timeout=60
3618+cli_dir=/usr/local/bin
3619+[compute]
3620+flavor_ref=7
3621+flavor_ref_alt=8
3622+image_ssh_user=cirros
3623+image_alt_ssh_user=ubuntu
3624+image_ref=__IMAGE_ID__
3625+image_ref_alt=__IMAGE_ALT_ID__
3626+allow_tenant_isolation = true
3627+allow_tenant_reuse = true
3628+[compute-admin]
3629+[compute-feature-enabled]
3630+api_v3=false
3631+console_output=true
3632+resize=false
3633+[dashboard]
3634+dashboard_url=http://__DASHBOARD__/horizon
3635+login_url=http://__DASHBOARD__/horizon/auth/login/
3636+[data_processing]
3637+[debug]
3638+[identity]
3639+uri=__PROTO__://__KEYSTONE__:5000/v2.0
3640+uri_v3=__PROTO__://__KEYSTONE__:5000/v3
3641+admin_username=admin
3642+admin_tenant_name=admin
3643+admin_password=openstack
3644+admin_domain_name=Default
3645+username = demo
3646+password = pass
3647+tenant_name = demo
3648+alt_username = alt_demo
3649+alt_password = secret
3650+alt_tenant_name = alt_demo
3651+admin_role = Admin
3652+[identity-feature-enabled]
3653+[image]
3654+http_image = http://__SWIFT__:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
3655+[image-feature-enabled]
3656+[input-scenario]
3657+[network]
3658+tenant_network_cidr=__CIDR_PRIV__
3659+public_network_id=__EXT_NET__
3660+dns_servers=__NAMESERVER__
3661+tenant_networks_reachable = false
3662+[network-feature-enabled]
3663+ipv6=false
3664+[object-storage]
3665+accounts_quotas_available = True
3666+container_quotas_available = True
3667+[object-storage-feature-enabled]
3668+[orchestration]
3669+instance_type = m1.small
3670+keypair_name = testkey
3671+[scenario]
3672+img_dir=/home/ubuntu/images
3673+ssh_user=cirros
3674+[service_available]
3675+ceilometer = false
3676+cinder = false
3677+glance = true
3678+heat = false
3679+horizon = true
3680+ironic = false
3681+neutron = true
3682+nova = true
3683+sahara = false
3684+swift = false
3685+trove = false
3686+zaqar = false
3687+[stress]
3688+max_instances = 4
3689+[telemetry]
3690+[volume]
3691+[volume-feature-enabled]
3692+api_v1=false
3693
3694=== added file 'deprecated/templates/tempest/tempest.refstack.template.conf'
3695--- deprecated/templates/tempest/tempest.refstack.template.conf 1970-01-01 00:00:00 +0000
3696+++ deprecated/templates/tempest/tempest.refstack.template.conf 2018-03-19 16:01:39 +0000
3697@@ -0,0 +1,102 @@
3698+# From openstack-charm-testing
3699+[DEFAULT]
3700+debug=false
3701+use_syslog=false
3702+lock_path=/tmp
3703+[auth]
3704+#use_dynamic_credentials = false
3705+admin_username=admin
3706+admin_password=openstack
3707+admin_project_name=admin
3708+admin_tenant_name=admin
3709+admin_domain_name=Default
3710+[baremetal]
3711+[boto]
3712+ec2_url = __PROTO__://__NCC__:8773/services/Cloud
3713+s3_url = __PROTO__://__NCC__:3333
3714+aws_access = __ACCESS__
3715+aws_secret = __SECRET__
3716+[cli]
3717+enabled=true
3718+timeout=60
3719+cli_dir=/usr/local/bin
3720+[compute]
3721+flavor_ref=1
3722+flavor_ref_alt=2
3723+image_alt_ssh_user=cirros
3724+image_ssh_password="cubswin:)"
3725+image_ref=__IMAGE_ID__
3726+image_ref_alt=__IMAGE_ALT_ID__
3727+# allow_tenant_isolation = true
3728+# allow_tenant_reuse = true
3729+[compute-admin]
3730+[compute-feature-enabled]
3731+api_v3=false
3732+console_output=false
3733+resize=true
3734+[dashboard]
3735+dashboard_url=http://__DASHBOARD__/horizon
3736+login_url=http://__DASHBOARD__/horizon/auth/login/
3737+[data_processing]
3738+[debug]
3739+[identity]
3740+uri=__PROTO__://__KEYSTONE__:5000/v2.0
3741+uri_v3=__PROTO__://__KEYSTONE__:5000/v3
3742+username = demo
3743+password = demo
3744+tenant_name = demo
3745+alt_username = alt_demo
3746+alt_password = secret
3747+alt_tenant_name = alt_demo
3748+admin_role = Admin
3749+[identity-feature-enabled]
3750+[image]
3751+http_image = http://__SWIFT__:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
3752+[image-feature-enabled]
3753+[input-scenario]
3754+[network]
3755+tenant_network_cidr=__CIDR_PRIV__
3756+public_network_id=__EXT_NET__
3757+dns_servers=__NAMESERVER__
3758+tenant_networks_reachable = false
3759+[network-feature-enabled]
3760+ipv6=false
3761+[object-storage]
3762+operator_role = Admin
3763+# accounts_quotas_available = True
3764+# container_quotas_available = True
3765+[object-storage-feature-enabled]
3766+[orchestration]
3767+instance_type = m1.small
3768+keypair_name = testkey
3769+stack_owner_role = Admin
3770+[scenario]
3771+# img_dir=/home/ubuntu/images
3772+ssh_user=cirros
3773+[service_available]
3774+ceilometer = true
3775+cinder = true
3776+glance = true
3777+heat = true
3778+horizon = true
3779+ironic = false
3780+neutron = true
3781+nova = true
3782+sahara = false
3783+swift = true
3784+trove = false
3785+zaqar = false
3786+[stress]
3787+max_instances = 4
3788+[telemetry]
3789+[volume]
3790+storage_protocol=ceph
3791+backend1_name=cinder-ceph
3792+catalog_type = volumev2
3793+[volume-feature-enabled]
3794+backup=false
3795+[validation]
3796+run_validation=true
3797+image_ssh_user=cirros
3798+[oslo_concurrency]
3799+lock_path=/tmp
3800
3801=== added directory 'deprecated/tools'
3802=== added directory 'deprecated/tools/deprecated'
3803=== added file 'deprecated/tools/deprecated/ppc64el-post-deploy-patches.sh'
3804--- deprecated/tools/deprecated/ppc64el-post-deploy-patches.sh 1970-01-01 00:00:00 +0000
3805+++ deprecated/tools/deprecated/ppc64el-post-deploy-patches.sh 2018-03-19 16:01:39 +0000
3806@@ -0,0 +1,80 @@
3807+#!/bin/bash -e
3808+# NOTE(beisner): Contains workarounds for dealing with in-flight bugs
3809+# related to libvirt and nova-compute on ppc64el.
3810+
3811+echo " + Create patch and script files..."
3812+
3813+# numa cell memory:
3814+# https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1418187
3815+# https://review.openstack.org/#/c/160904/
3816+# https://github.com/openstack/nova/commit/291c1a1db1ab3ceccfac7a3c8312b6fdce3aaa84
3817+patch_numa="$(mktemp)"
3818+cat > "$patch_numa" << "--EOF1"
3819+--- config.py.org 2015-03-25 15:07:17.087064000 +0000
3820++++ config.py 2015-03-25 15:07:22.963063966 +0000
3821+@@ -152,7 +152,7 @@
3822+ **kwargs)
3823+
3824+ self.id = None
3825+- self.memory = None
3826++ self.memory = 0
3827+ self.mempages = []
3828+ self.cpus = []
3829+--EOF1
3830+
3831+# nova-compute host pass-through No bug yet, need to resolve via the nova-compute charm
3832+patch_passthrough="$(mktemp)"
3833+cat > "$patch_passthrough" << "--EOF2"
3834+--- /etc/nova/nova-compute.conf.dist 2015-02-06 14:03:04.274769382 +0000
3835++++ /etc/nova/nova-compute.conf 2015-02-06 14:03:05.938798786 +0000
3836+@@ -2,3 +2,4 @@
3837+ compute_driver=libvirt.LibvirtDriver
3838+ [libvirt]
3839+ virt_type=kvm
3840++cpu_mode=host-passthrough
3841+--EOF2
3842+
3843+# disable smt: https://bugs.launchpad.net/cloud-archive/+bug/1419842
3844+script_smt="$(mktemp)"
3845+cat > "$script_smt" << "--EOF3"
3846+#!/bin/sh
3847+fail() { echo "FAIL:" "$@" 1>&2; exit 1; }
3848+
3849+echo "smt:"
3850+out=$(LANG=C ppc64_cpu --smt 2>&1)
3851+if echo "$out" | grep -qi "is on"; then
3852+ out=$(ppc64_cpu --smt=off 2>&1) || fail "set smt off: $out"
3853+ echo " disabled: $out"
3854+else
3855+ echo " not on: $out"
3856+fi
3857+--EOF3
3858+
3859+# apply changes to nova-compute unit
3860+echo " + Copy files into n-c unit..."
3861+juju scp $patch_numa nova-compute/0:patch_numa
3862+juju scp $patch_passthrough nova-compute/0:patch_passthrough
3863+juju scp $script_smt nova-compute/0:script_smt.sh
3864+
3865+echo " + Script 1 (disable smt)..."
3866+juju ssh nova-compute/0 "\
3867+ sudo chmod +x /home/ubuntu/script_smt.sh &&\
3868+ ls -alh /home/ubuntu &&\
3869+ sudo /home/ubuntu/script_smt.sh"
3870+
3871+echo " + Patch 1 (libvirt numa cell memory)..."
3872+juju ssh nova-compute/0 "\
3873+ sudo patch -bN /usr/lib/python2.7/dist-packages/nova/virt/libvirt/config.py < /home/ubuntu/patch_numa"
3874+
3875+echo " + Patch 2 (nova compute libvirt cpu passthrough)..."
3876+juju ssh nova-compute/0 "\
3877+ sudo patch -bN /etc/nova/nova-compute.conf < /home/ubuntu/patch_passthrough"
3878+
3879+echo " + Restart libvirt-bin and nova-compute services..."
3880+juju ssh nova-compute/0 "\
3881+ sudo service libvirt-bin restart &&\
3882+ sudo service nova-compute restart"
3883+
3884+rm -fv $patch_numa
3885+rm -fv $patch_passthrough
3886+rm -fv $script_smt1
3887
3888=== added file 'deprecated/tools/flavor_default.sh'
3889--- deprecated/tools/flavor_default.sh 1970-01-01 00:00:00 +0000
3890+++ deprecated/tools/flavor_default.sh 2018-03-19 16:01:39 +0000
3891@@ -0,0 +1,5 @@
3892+#!/bin/bash -ex
3893+# Create/replace default flavors
3894+
3895+. ./profiles/common
3896+create_default_flavors
3897
3898=== added file 'deprecated/tools/flavor_shrink.sh'
3899--- deprecated/tools/flavor_shrink.sh 1970-01-01 00:00:00 +0000
3900+++ deprecated/tools/flavor_shrink.sh 2018-03-19 16:01:39 +0000
3901@@ -0,0 +1,5 @@
3902+#!/bin/bash -ex
3903+# Shrink flavors for higher-density testing
3904+
3905+. ./profiles/common
3906+shrink_flavors
3907
3908=== added file 'deprecated/tools/float_all.sh'
3909--- deprecated/tools/float_all.sh 1970-01-01 00:00:00 +0000
3910+++ deprecated/tools/float_all.sh 2018-03-19 16:01:39 +0000
3911@@ -0,0 +1,39 @@
3912+#!/bin/bash -ex
3913+# Give all instances a floating IP address.
3914+# Requires >= Newton openstack client
3915+
3916+echo " + Floating all instances."
3917+
3918+function get_ip_f() {
3919+ # Get first unallocated floating IP
3920+ openstack floating ip list | awk '/None/ { print $4 }' | head -n 1
3921+}
3922+
3923+fip_count=$(openstack floating ip list | awk '/None/ { print $4 }' | wc -l)
3924+instances=$(openstack server list | grep ACTIVE | grep -v '\,' | awk '{ print $2 }')
3925+inst_count=$(echo $instances | wc -w)
3926+
3927+if [[ -z "$instances" ]]; then
3928+ set +x
3929+ echo " . It appears that no instance needs a floating IP."
3930+ exit 0
3931+fi
3932+
3933+# Create floating IPs if necessary.
3934+if (( $fip_count >= $inst_count)); then
3935+ echo " . Already enough floating IPs."
3936+else
3937+ fip_diff=$(( $inst_count - $fip_count ))
3938+ echo " + Creating $fip_diff more floating IPs."
3939+ for m in $(seq 1 $fip_diff); do
3940+ openstack floating ip create ext_net
3941+ done
3942+fi
3943+
3944+# Allocate floating IPs to instances.
3945+for instance in $instances; do
3946+ ip_f=$(get_ip_f)
3947+ echo " + Associating floating IP $ip_f to instance $instance."
3948+ openstack server add floating ip $instance $ip_f
3949+done
3950+
3951
3952=== added file 'deprecated/tools/float_all_new.sh'
3953--- deprecated/tools/float_all_new.sh 1970-01-01 00:00:00 +0000
3954+++ deprecated/tools/float_all_new.sh 2018-03-19 16:01:39 +0000
3955@@ -0,0 +1,44 @@
3956+#!/bin/bash -ex
3957+# Give all instances a floating IP address.
3958+# Requires >= Newton openstack client
3959+
3960+# Fix for bug: https://bugs.launchpad.net/python-openstackclient/+bug/1747721
3961+# --sfeole 2.22.2018
3962+
3963+
3964+echo " + Floating all instances."
3965+
3966+function get_ip_f() {
3967+ # Get first unallocated floating IP
3968+ openstack floating ip list | awk '/None/ { print $4 }' | head -n 1
3969+}
3970+
3971+fip_count=$(openstack floating ip list | awk '/None/ { print $4 }' | wc -l)
3972+instances=$(openstack server list | grep ACTIVE | grep -v '\,' | awk '{ print $2 }')
3973+inst_count=$(echo $instances | wc -w)
3974+
3975+if [[ -z "$instances" ]]; then
3976+ set +x
3977+ echo " . It appears that no instance needs a floating IP."
3978+ exit 0
3979+fi
3980+
3981+# Create floating IPs if necessary.
3982+if (( $fip_count >= $inst_count)); then
3983+ echo " . Already enough floating IPs."
3984+else
3985+ fip_diff=$(( $inst_count - $fip_count ))
3986+ echo " + Creating $fip_diff more floating IPs."
3987+ for m in $(seq 1 $fip_diff); do
3988+ openstack floating ip create ext_net
3989+ done
3990+fi
3991+
3992+# Allocate floating IPs to instances.
3993+for instance in $instances; do
3994+ ip_f=$(get_ip_f)
3995+ echo " + Associating floating IP $ip_f to instance $instance."
3996+ tenant_ip=$(openstack server list | grep $instance | awk -F'private=' '{ print $2 }' | awk '{ print $1 }')
3997+ tenant_ip_portid=$(openstack port list -c ID -c fixed_ips | grep $tenant_ip | awk '{ print $2 }')
3998+ openstack floating ip set --port $tenant_ip_portid $ip_f
3999+done
4000
4001=== added directory 'deprecated/tools/hardening'
4002=== added file 'deprecated/tools/hardening/run-apache-tests'
4003--- deprecated/tools/hardening/run-apache-tests 1970-01-01 00:00:00 +0000
4004+++ deprecated/tools/hardening/run-apache-tests 2018-03-19 16:01:39 +0000
4005@@ -0,0 +1,15 @@
4006+#!/bin/bash -eu
4007+UNIT_TO_TEST=$1
4008+TESTER_UNIT=${2:-hardening-apache-tests/0}
4009+TARGET_IP=`juju-deployer -f ${UNIT_TO_TEST%/*}`
4010+juju scp $TESTER_UNIT:/home/ubuntu/.ssh/id_rsa.pub /tmp/id_rsa.pub
4011+juju scp /tmp/id_rsa.pub $UNIT_TO_TEST:/tmp/
4012+juju run --unit $UNIT_TO_TEST "\
4013+ useradd -m -s /bin/bash -d /home/hiotest hiotest; \
4014+ install -m 700 -o hiotest -d /home/hiotest/.ssh; \
4015+ install -m 640 -o hiotest /tmp/id_rsa.pub /home/hiotest/.ssh/authorized_keys; \
4016+ echo 'hiotest ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/90-hiotest-user; \
4017+ sudo chmod 440 /etc/sudoers.d/90-hiotest-user;"
4018+
4019+# Running apache test
4020+juju action do hardening-apache-tests/0 run-test test-name=serverspec:default target-ip=$TARGET_IP
4021
4022=== added file 'deprecated/tools/hardening/run-mysql-tests'
4023--- deprecated/tools/hardening/run-mysql-tests 1970-01-01 00:00:00 +0000
4024+++ deprecated/tools/hardening/run-mysql-tests 2018-03-19 16:01:39 +0000
4025@@ -0,0 +1,15 @@
4026+#!/bin/bash -eu
4027+UNIT_TO_TEST=$1
4028+TESTER_UNIT=${2:-hardening-mysql-tests/0}
4029+TARGET_IP=`juju-deployer -f ${UNIT_TO_TEST%/*}`
4030+juju scp $TESTER_UNIT:/home/ubuntu/.ssh/id_rsa.pub /tmp/id_rsa.pub
4031+juju scp /tmp/id_rsa.pub $UNIT_TO_TEST:/tmp/
4032+juju run --unit $UNIT_TO_TEST "\
4033+ useradd -m -s /bin/bash -d /home/hiotest hiotest; \
4034+ install -m 700 -o hiotest -d /home/hiotest/.ssh; \
4035+ install -m 640 -o hiotest /tmp/id_rsa.pub /home/hiotest/.ssh/authorized_keys; \
4036+ echo 'hiotest ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/90-hiotest-user; \
4037+ sudo chmod 440 /etc/sudoers.d/90-hiotest-user;"
4038+
4039+# Running mysql test
4040+juju action do hardening-mysql-tests/0 run-test target-ip=$TARGET_IP
4041
4042=== added file 'deprecated/tools/hardening/run-os-tests'
4043--- deprecated/tools/hardening/run-os-tests 1970-01-01 00:00:00 +0000
4044+++ deprecated/tools/hardening/run-os-tests 2018-03-19 16:01:39 +0000
4045@@ -0,0 +1,4 @@
4046+#!/bin/bash -eu
4047+
4048+# Running os test
4049+juju action do hardening-os-tests/0 run-test test=default
4050
4051=== added file 'deprecated/tools/hardening/run-ssh-tests'
4052--- deprecated/tools/hardening/run-ssh-tests 1970-01-01 00:00:00 +0000
4053+++ deprecated/tools/hardening/run-ssh-tests 2018-03-19 16:01:39 +0000
4054@@ -0,0 +1,16 @@
4055+#!/bin/bash -eu
4056+UNIT_TO_TEST=$1
4057+TESTER_UNIT=${2:-hardening-ssh-tests/0}
4058+TARGET_IP=`juju-deployer -f ${UNIT_TO_TEST%/*}`
4059+juju scp $TESTER_UNIT:/home/ubuntu/.ssh/id_rsa.pub /tmp/id_rsa.pub
4060+juju scp /tmp/id_rsa.pub $UNIT_TO_TEST:/tmp/
4061+juju run --unit $UNIT_TO_TEST "\
4062+ useradd -m -s /bin/bash -d /home/hiotest hiotest; \
4063+ install -m 700 -o hiotest -d /home/hiotest/.ssh; \
4064+ install -m 640 -o hiotest /tmp/id_rsa.pub /home/hiotest/.ssh/authorized_keys; \
4065+ echo 'hiotest ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/90-hiotest-user; \
4066+ sudo chmod 440 /etc/sudoers.d/90-hiotest-user;"
4067+
4068+# Running ssh test
4069+juju action do hardening-ssh-tests/0 run-test test-name=default/inspec/ target-ip=$TARGET_IP
4070+
4071
4072=== added file 'deprecated/tools/images_amd64.sh'
4073--- deprecated/tools/images_amd64.sh 1970-01-01 00:00:00 +0000
4074+++ deprecated/tools/images_amd64.sh 2018-03-19 16:01:39 +0000
4075@@ -0,0 +1,39 @@
4076+#!/bin/bash -ex
4077+# Download ppc64el images and add to glance.
4078+
4079+# Presumes cirros is available in a swift bucket
4080+[[ -z "$SWIFT_IP" ]] && export SWIFT_IP="10.245.161.162"
4081+
4082+# Download images if not already present
4083+mkdir -vp ~/images
4084+[ -f ~/images/xenial-server-cloudimg-amd64-disk1.img ] || {
4085+ wget -O ~/images/xenial-server-cloudimg-amd64-disk1.img http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
4086+}
4087+[ -f ~/images/trusty-server-cloudimg-amd64-disk1.img ] || {
4088+ wget -O ~/images/trusty-server-cloudimg-amd64-disk1.img http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
4089+}
4090+[ -f ~/images/precise-server-cloudimg-amd64-disk1.img ] || {
4091+ wget -O ~/images/precise-server-cloudimg-amd64-disk1.img http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
4092+}
4093+[ -f ~/images/cirros-0.3.4-x86_64-disk.img ] || {
4094+ wget -O ~/images/cirros-0.3.4-x86_64-disk.img http://$SWIFT_IP:80/swift/v1/images/cirros-0.3.4-x86_64-disk.img
4095+}
4096+[ -f ~/images/cirros-0.3.4-x86_64-uec.tar.gz ] || {
4097+ wget -O ~/images/cirros-0.3.4-x86_64-uec.tar.gz http://$SWIFT_IP:80/swift/v1/images/cirros-0.3.4-x86_64-uec.tar.gz
4098+ (cd ~/images && tar -xzf cirros-0.3.4-x86_64-uec.tar.gz)
4099+}
4100+
4101+# Upload glance images to overcloud
4102+glance --os-image-api-version 1 image-create --name="xenial" --is-public=true --progress \
4103+ --container-format=bare --disk-format=qcow2 < ~/images/xenial-server-cloudimg-amd64-disk1.img
4104+glance --os-image-api-version 1 image-create --name="trusty" --is-public=true --progress \
4105+ --container-format=bare --disk-format=qcow2 < ~/images/trusty-server-cloudimg-amd64-disk1.img
4106+glance --os-image-api-version 1 image-create --name="precise" --is-public=true --progress \
4107+ --container-format=bare --disk-format=qcow2 < ~/images/precise-server-cloudimg-amd64-disk1.img
4108+glance --os-image-api-version 1 image-create --name="cirros" --is-public=true --progress \
4109+ --container-format=bare --disk-format=qcow2 < ~/images/cirros-0.3.4-x86_64-disk.img
4110+
4111+glance --os-image-api-version 1 image-update --property architecture=x86_64 xenial
4112+glance --os-image-api-version 1 image-update --property architecture=x86_64 trusty
4113+glance --os-image-api-version 1 image-update --property architecture=x86_64 precise
4114+glance --os-image-api-version 1 image-update --property architecture=x86_64 cirros
4115
4116=== added file 'deprecated/tools/images_arm64.sh'
4117--- deprecated/tools/images_arm64.sh 1970-01-01 00:00:00 +0000
4118+++ deprecated/tools/images_arm64.sh 2018-03-19 16:01:39 +0000
4119@@ -0,0 +1,13 @@
4120+#!/bin/bash -ex
4121+# Download images and add to glance.
4122+
4123+: ${TEST_IMAGE_URL_XENIAL:="http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img"}
4124+
4125+mkdir -vp ~/images
4126+[ -f ~/images/xenial-server-cloudimg-arm64-uefi1.img ] || {
4127+ wget -O ~/images/xenial-server-cloudimg-arm64-uefi1.img $TEST_IMAGE_URL_XENIAL
4128+}
4129+
4130+# Create glance image
4131+openstack image show xenial-uefi ||\
4132+ openstack image create --container-format bare --disk-format qcow2 --property hw_firmware_type=uefi --file ~/images/xenial-server-cloudimg-arm64-uefi1.img xenial-uefi
4133
4134=== added file 'deprecated/tools/images_lxd.sh'
4135--- deprecated/tools/images_lxd.sh 1970-01-01 00:00:00 +0000
4136+++ deprecated/tools/images_lxd.sh 2018-03-19 16:01:39 +0000
4137@@ -0,0 +1,19 @@
4138+#!/bin/bash -ex
4139+# Download LXD images and add to glance
4140+
4141+mkdir -vp ~/images
4142+[ -f ~/images/trusty-server-cloudimg-amd64-root.tar.xz ] || {
4143+ wget -O ~/images/trusty-server-cloudimg-amd64-root.tar.xz http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.xz
4144+}
4145+[ -f ~/images/xenial-server-cloudimg-amd64-root.tar.xz ] || {
4146+ wget -O ~/images/xenial-server-cloudimg-amd64-root.tar.xz http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.xz
4147+}
4148+
4149+# Upload glance images to overcloud
4150+glance --os-image-api-version 1 image-create --name="trusty-lxd" --is-public=true --progress \
4151+ --container-format=bare --disk-format=raw --property hypervisor_type=lxc \
4152+ --property architecture=x86_64 < ~/images/trusty-server-cloudimg-amd64-root.tar.xz
4153+
4154+glance --os-image-api-version 1 image-create --name="xenial-lxd" --is-public=true --progress \
4155+ --container-format=bare --disk-format=raw --property hypervisor_type=lxc \
4156+ --property architecture=x86_64 < ~/images/xenial-server-cloudimg-amd64-root.tar.xz
4157
4158=== added file 'deprecated/tools/images_lxd_convert.sh'
4159--- deprecated/tools/images_lxd_convert.sh 1970-01-01 00:00:00 +0000
4160+++ deprecated/tools/images_lxd_convert.sh 2018-03-19 16:01:39 +0000
4161@@ -0,0 +1,221 @@
4162+#!/bin/bash
4163+
4164+VERBOSITY=0
4165+TEMP_D=""
4166+UC_PREP="/usr/share/lxc/hooks/ubuntu-cloud-prep"
4167+
4168+error() { echo "$@" 1>&2; }
4169+fail() { [ $# -eq 0 ] || error "$@"; exit 1; }
4170+
4171+Usage() {
4172+ cat <<EOF
4173+Usage: ${0##*/} [ options ] input-tar output-tarball
4174+
4175+ convert cloud-image-root.tar.gz into lxd compatible format,
4176+ and stuff nocloud seed in on the way.
4177+
4178+ options:
4179+ -h|--help this help
4180+ -v|--verbose
4181+ --metadata file to include as metadata.yaml
4182+ -u|--userdata U user-data for seed.
4183+ -S|--auth-key P pubkey to insert
4184+ -C|--cloud C do not seed instance
4185+ --zip Z compress with tar option Z (default 'J')
4186+EOF
4187+}
4188+
4189+bad_Usage() { Usage 1>&2; [ $# -eq 0 ] || error "$@"; return 1; }
4190+cleanup() {
4191+ [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}"
4192+}
4193+
4194+debug() {
4195+ local level=${1}; shift;
4196+ [ "${level}" -gt "${VERBOSITY}" ] && return
4197+ error "${@}"
4198+}
4199+
4200+default_mdyaml() {
4201+cat <<EOF
4202+architecture: "$(uname -m)"
4203+creation_date: $(date "+%s")
4204+name: "$1"
4205+properties:
4206+ description: Ubuntu 14.04 LTS Intel 64bit
4207+ os: Ubuntu
4208+EOF
4209+}
4210+
4211+default_userdata() {
4212+ cat <<EOF
4213+#cloud-config
4214+manage_etc_hosts: localhost
4215+password: ubuntu
4216+chpasswd: { expire: false; }
4217+
4218+# pollinate hangs without socket timeout if it can't reach network
4219+random_seed:
4220+ command: null
4221+
4222+# growpart and resize_rootfs dont make sense, and should dtrt, but be sure.
4223+growpart:
4224+ mode: off
4225+resize_rootfs: null
4226+EOF
4227+}
4228+
4229+main() {
4230+ local short_opts="Chu:S:v"
4231+ local long_opts="auth-key:,cloud,help,metadata:,userdata:,verbose,zip:"
4232+ local getopt_out=""
4233+ local pt=""
4234+ getopt_out=$(getopt --name "${0##*/}" \
4235+ --options "${short_opts}" --long "${long_opts}" -- "$@") &&
4236+ eval set -- "${getopt_out}" ||
4237+ { bad_Usage; return; }
4238+
4239+ local cur="" next="" input="" output="" authkey="" z_opt="J" vflags=""
4240+ local ud=""
4241+ pt=( )
4242+
4243+ while [ $# -ne 0 ]; do
4244+ cur="$1"; next="$2";
4245+ case "$cur" in
4246+ -h|--help) Usage ; exit 0;;
4247+ -v|--verbose) VERBOSITY=$((${VERBOSITY}+1))
4248+ vflags="${vflags}v";;
4249+ --metadata) mdyaml="$next";;
4250+ -u|--userdata)
4251+ ud="$next"; pt[${#pt[@]}]="--userdata=$next"; shift;;
4252+ -S|--auth-key) pt[${#pt[@]}]="--auth-key=$next"; shift;;
4253+ -C|--cloud) pt[${#pt[@]}]="--cloud=$next"; shift;;
4254+ --zip) z_opt=$next; shift;;
4255+ --) shift; break;;
4256+ esac
4257+ shift;
4258+ done
4259+ [ -z "$vflags" ] || vflags="-$vflags"
4260+
4261+ [ $# -ne 0 ] || { bad_Usage "must provide arguments"; return; }
4262+ [ $# -eq 2 ] ||
4263+ { bad_Usage "confused by args. got $# expected 2 [$*]"; return; }
4264+
4265+ input=$1
4266+ output=$2
4267+
4268+ TEMP_D=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXX") ||
4269+ fail "failed to make tempdir"
4270+ trap cleanup EXIT
4271+
4272+ [ "$(id -u)" = "0" ] || { error "you're not root"; return 1; }
4273+ command -v "$UC_PREP" >/dev/null 2>&1 ||
4274+ { error "$UC_PREP not available"; return 1; }
4275+ [ "$input" = "-" -o -f "$input" ] ||
4276+ { error "$input: not a file or -"; return 1; }
4277+ [ -n "$output" ] || { error "$output: not a file or -"; return 1; }
4278+ [ -z "$mdyaml" -o -f "$mdyaml" ] ||
4279+ { error "$mdyaml: not a file"; return 1; }
4280+
4281+ if [ -z "$ud" ]; then
4282+ ud="$TEMP_D/user-data"
4283+ default_userdata > "$ud"
4284+ pt[${#pt[@]}]="--userdata=$ud"
4285+ fi
4286+
4287+ local extract create ucprep
4288+ mkdir -p "${TEMP_D}/rootfs" || { error "failed to make rootfs"; return 1; }
4289+ extract=(
4290+ tar -C "${TEMP_D}/rootfs"
4291+ --xattrs "--xattrs-include=*"
4292+ --anchored "--exclude=dev/*"
4293+ --numeric-owner -Sxpf "$input" )
4294+
4295+ create=(
4296+ tar -C "${TEMP_D}/"
4297+ --xattrs "--xattrs-include=*"
4298+ -cp${z_opt}f "$output" metadata.yaml rootfs )
4299+ create_pxz=(
4300+ bash -c 'set -o pipefail;
4301+ tar -C "$1" --xattrs "--xattrs-include=*" \
4302+ -cpf - metadata.yaml rootfs |
4303+ pxz -cv - > "$2"' -- "${TEMP_D}" "$output"
4304+ )
4305+ command -v pxz >/dev/null 2>&1 && create=( "${create_pxz[@]}" )
4306+
4307+ ucprep=(
4308+ "${UC_PREP}" $vflags "${pt[@]}" "${TEMP_D}/rootfs" )
4309+
4310+ if [ -n "$metadata" ]; then
4311+ cp "$metadata" "${TEMP_D}/metadata.yaml" ||
4312+ { error "failed cp '$metadata' metadata.yaml"; return 1; }
4313+ debug 1 "copied metadata.yaml from '$metadata'"
4314+ else
4315+ local tname=""
4316+ tname=${input%.gz};
4317+ tname=${tname%.tar};
4318+ [ "$input" = "-" ] && tname="unknown name"
4319+ default_mdyaml "$tname" > "${TEMP_D}/metadata.yaml" ||
4320+ { error "failed write metadata.yaml"; return 1; }
4321+ debug 1 "wrote questionable metadata.yaml file"
4322+ fi
4323+
4324+ debug 1 "extracting tar to tempdir"
4325+ debug 2 "cmd: ${extract[*]}"
4326+ "${extract[@]}" || { error "failed extraction"; return 1; }
4327+
4328+ debug 1 "hacking/fixing for lxd"
4329+ debug 2 "gettys just dont make sense, and upstart restarts"
4330+ ( cd "${TEMP_D}/rootfs" &&
4331+ for f in etc/init/tty*.conf; do
4332+ [ -f "$f" ] || continue
4333+ #[ "${f##*/}" = "tty1.conf" ] || continue
4334+ o=${f%.conf}.override
4335+ debug 3 "manual > $o"
4336+ echo "manual" > "$o"
4337+ done
4338+ )
4339+
4340+ debug 2 "update-motd runs from mounted-run.conf on mounted tmpfs"
4341+ # this is too late to fix via bootcmd
4342+ nox="
4343+ etc/update-motd.d/90-updates-available
4344+ etc/update-motd.d/91-release-upgrade
4345+ usr/lib/ubuntu-release-upgrader/release-upgrade-motd
4346+ usr/lib/update-notifier/apt-check
4347+ usr/lib/update-notifier/update-motd-updates-available
4348+ "
4349+ ( cd "${TEMP_D}/rootfs" &&
4350+ for f in $nox; do [ -e "$f" ] &&
4351+ debug 3 "chmod -x '$f'" && chmod -x "$f"; done )
4352+
4353+ debug 2 "pollinate is heavy, disabling"
4354+ ( cd "${TEMP_D}/rootfs"
4355+ f=etc/init/pollinate.conf
4356+ c=${f%.conf}.override
4357+ [ -f "$f" ] && debug 3 "manual > $c" && echo "manual" > "$c"
4358+ )
4359+
4360+ debug 2 "mot.d is annoying here (LP: #1426023)"
4361+ # this affects ssh in time. as mot.d is run on ssh login
4362+ ( cd "$TEMP_D/rootfs" &&
4363+ sudo sed -i '/^[^#].*pam_motd/s/^/#/' etc/pam.d/sshd )
4364+
4365+ debug 2 "disabling irqbalance (LP: #1454273)"
4366+ ( cd "$TEMP_D/rootfs" &&
4367+ f=etc/init/irqbalance.conf
4368+ c=${f%.conf}.override
4369+ [ -f "$f" ] && debug 3 "manual > $c" && echo "manual" > "$c" )
4370+
4371+ debug 1 "running ucprep: ${ucprep[*]}"
4372+ "${ucprep[@]}" ||
4373+ { error "failed to run ${ucprep[*]}"; return 1; }
4374+
4375+ debug 1 "writing tar to $out: ${create[*]}"
4376+ debug 2 "cmd: ${create[*]}"
4377+ "${create[@]}" || fail "failed writing tar to $out"
4378+ debug 1 "finished [${SECONDS}]"
4379+}
4380+
4381+main "$@"
4382+# vi: ts=4 noexpandtab
4383
4384=== added file 'deprecated/tools/images_ppc64el.sh'
4385--- deprecated/tools/images_ppc64el.sh 1970-01-01 00:00:00 +0000
4386+++ deprecated/tools/images_ppc64el.sh 2018-03-19 16:01:39 +0000
4387@@ -0,0 +1,24 @@
4388+#!/bin/bash -ex
4389+# Download ppc64el images and add to glance.
4390+
4391+# Download images if not already present
4392+: ${TEST_IMAGE_URL_XENIAL:="http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-ppc64el-disk1.img"}
4393+: ${TEST_IMAGE2_URL_XENIAL:="http://download.cirros-cloud.net/daily/20150923/cirros-d150923-ppc64le-disk.img"}
4394+
4395+mkdir -p ~/images
4396+[ -f ~/images/xenial-server-cloudimg-ppc64el-disk1.img ] || {
4397+ wget -O ~/images/xenial-server-cloudimg-ppc64el-disk1.img $TEST_IMAGE_URL_XENIAL
4398+}
4399+[ -f ~/images/cirros-d150923-ppc64le-disk.img ] || {
4400+ wget -O ~/images/cirros-d150923-ppc64le-disk.img $TEST_IMAGE2_URL_XENIAL
4401+}
4402+
4403+# Upload glance images to overcloud
4404+glance --os-image-api-version 1 image-create --name="xenial-ppc64el" --is-public=true --progress \
4405+ --container-format=bare --disk-format=qcow2 < ~/images/xenial-server-cloudimg-ppc64el-disk1.img
4406+glance --os-image-api-version 1 image-create --name="cirros-ppc64el" --is-public=true --progress \
4407+ --container-format=bare --disk-format=qcow2 < ~/images/cirros-d150923-ppc64le-disk.img
4408+
4409+# Set image architecture properties
4410+glance --os-image-api-version 1 image-update --property architecture=ppc64 xenial-ppc64el
4411+glance --os-image-api-version 1 image-update --property architecture=ppc64 cirros-ppc64el
4412
4413=== added file 'deprecated/tools/inject_kernel_ppa.sh'
4414--- deprecated/tools/inject_kernel_ppa.sh 1970-01-01 00:00:00 +0000
4415+++ deprecated/tools/inject_kernel_ppa.sh 2018-03-19 16:01:39 +0000
4416@@ -0,0 +1,24 @@
4417+#!/bin/sh
4418+
4419+p_ppa=$1
4420+p_hwe=$2
4421+if [ -z "$p_ppa" ]; then
4422+ echo "Inject kernel via PPA"
4423+ echo "Usage: $0 <public PPA> <hwe series>"
4424+ echo "Ex: $0 ppa:canonical-kernel-team/ppa"
4425+ echo " $0 ppa:canonical-kernel-team/ppa lts-vivid"
4426+ exit 1
4427+fi
4428+
4429+juju run --all "
4430+ # if not in a container inject kernel
4431+ if ! cat /proc/1/cgroup | grep -q lxc; then
4432+ sudo apt-add-repository $p_ppa -y
4433+ sudo apt-get update -yq
4434+ if [ -n "$p_hwe" ]; then
4435+ sudo apt-get install -yq linux-generic-$p_hwe
4436+ fi
4437+ sudo apt-get dist-upgrade -yq
4438+ sudo reboot
4439+ fi
4440+"
4441
4442=== added file 'deprecated/tools/install_rally.sh'
4443--- deprecated/tools/install_rally.sh 1970-01-01 00:00:00 +0000
4444+++ deprecated/tools/install_rally.sh 2018-03-19 16:01:39 +0000
4445@@ -0,0 +1,45 @@
4446+#!/bin/bash
4447+# Install and configure rally
4448+
4449+#set -ex
4450+
4451+if [ -z $1 ]; then
4452+ image="cirros"
4453+else
4454+ image=$1
4455+fi
4456+
4457+source novarc admin admin
4458+# Gather vars for tempest template
4459+image_name=$(glance image-list | grep $image | awk '{ print $4 }')
4460+
4461+# Git rally, place the rendered rally template
4462+[ -d rally ] || git clone https://github.com/openstack/rally
4463+[ -d rally_scenarios ] || mkdir -p rally_scenarios
4464+
4465+# Install rally
4466+rally/install_rally.sh -y -d ~/rally
4467+
4468+# Insert the image to use
4469+for i in templates/rally/*.yaml; do
4470+ file=`echo $i | sed s:^templates/rally/::`
4471+ sed -e s:__IMAGE__:$image_name:g $i > rally_scenarios/$file
4472+done
4473+
4474+# Installing rally database
4475+source ~/rally/bin/activate
4476+rally-manage db recreate
4477+
4478+# Creating environment
4479+rally deployment create --fromenv --name=existing
4480+
4481+
4482+echo
4483+echo "Finished installing rally"
4484+echo
4485+echo "To run a task run the following command (for example): "
4486+echo "source ~/rally/bin/activate"
4487+echo "rally task start rally_scenarios/boot.yaml"
4488+
4489+
4490+
4491
4492=== added file 'deprecated/tools/instance_delete_all.sh'
4493--- deprecated/tools/instance_delete_all.sh 1970-01-01 00:00:00 +0000
4494+++ deprecated/tools/instance_delete_all.sh 2018-03-19 16:01:39 +0000
4495@@ -0,0 +1,11 @@
4496+#!/bin/bash -ex
4497+if [[ -z "$WORKSPACE" ]]; then
4498+ set +x
4499+ echo -e "\n/!\ This script will delete all nova instances it can find, which is dangerous. It is intended
4500+ to be used from Jenkins test automation. If you really wish to use it, set a WORKSPACE env var
4501+ to allow it to run."
4502+ exit 1
4503+fi
4504+
4505+for i in $(openstack server list | awk '/=/{ print $2 }');do openstack server delete $i --wait; done
4506+
4507
4508=== added file 'deprecated/tools/instance_flavor_show.sh'
4509--- deprecated/tools/instance_flavor_show.sh 1970-01-01 00:00:00 +0000
4510+++ deprecated/tools/instance_flavor_show.sh 2018-03-19 16:01:39 +0000
4511@@ -0,0 +1,8 @@
4512+#!/bin/bash -e
4513+
4514+openstack flavor list
4515+
4516+for i in $(openstack server list | grep = | awk '{ print $2 }'); do
4517+ hv="$(openstack server show $i | grep flavor | awk '{ print $4 }'; )"
4518+ echo "${i} ${hv}"
4519+done
4520
4521=== added file 'deprecated/tools/instance_hypervisor_show.sh'
4522--- deprecated/tools/instance_hypervisor_show.sh 1970-01-01 00:00:00 +0000
4523+++ deprecated/tools/instance_hypervisor_show.sh 2018-03-19 16:01:39 +0000
4524@@ -0,0 +1,8 @@
4525+#!/bin/bash
4526+
4527+echo " + Attempting to show hypervisor for each instance (admin required)."
4528+
4529+for i in $(nova list | grep = | awk '{ print $2 }'); do
4530+ hv="$(nova show $i | grep hyper | awk '{ print $4 }'; )"
4531+ echo "${i} ${hv}"
4532+done
4533
4534=== added file 'deprecated/tools/instance_launch.sh'
4535--- deprecated/tools/instance_launch.sh 1970-01-01 00:00:00 +0000
4536+++ deprecated/tools/instance_launch.sh 2018-03-19 16:01:39 +0000
4537@@ -0,0 +1,37 @@
4538+#!/bin/bash -ex
4539+# Launch N quantity of XYZ instances
4540+# Presumes glance images exist and have been imported using the
4541+# accompanying configure script.
4542+
4543+instance_qty=$1
4544+image_name=$2
4545+if [ -z "$instance_qty" ] || [ -z "$image_name" ]; then
4546+ set +x
4547+ echo "Launches N quantity of XYZ instances.
4548+Usage: <this script> <qty of instances> <glance image name>
4549+ ex: ./instance_launch.sh 10 xenial-ppc64el
4550+ Cirros images will use m1.cirros flavor.
4551+ All others will use m1.small flavor."
4552+ exit 1
4553+fi
4554+
4555+# Key nova and ~/testkey.pem
4556+openstack keypair show testkey ||\
4557+ { openstack keypair create testkey > ~/testkey.pem; chmod 600 ~/testkey.pem; }
4558+
4559+# Grab private network ID
4560+net_id=$(openstack network list | awk '/private/ {print $2}')
4561+
4562+# Determining flavor to use
4563+if [[ "${image_name}" == *cirros* ]]; then
4564+ flavor="m1.cirros"
4565+else
4566+ flavor="m1.small"
4567+fi
4568+
4569+# Create instances
4570+server_name="${image_name}-$(date +'%H%M%S')"
4571+openstack server create --wait --image $image_name --flavor $flavor --key-name testkey --nic net-id=${net_id} --min $instance_qty --max $instance_qty $server_name
4572+
4573+# Hint: use ssh -i ~/testkey.pem ubuntu@<ip> to access new instances (may also need a floating IP).
4574+
4575
4576=== added file 'deprecated/tools/instance_ssh_ping_all.sh'
4577--- deprecated/tools/instance_ssh_ping_all.sh 1970-01-01 00:00:00 +0000
4578+++ deprecated/tools/instance_ssh_ping_all.sh 2018-03-19 16:01:39 +0000
4579@@ -0,0 +1,6 @@
4580+#!/bin/bash -ex
4581+# Known good with client: openstack 3.7.0
4582+for i in $(openstack server list | awk '/ACTIVE/{ print $9 }'); do
4583+ nc -vzw 2 $i 22
4584+ ping -c 2 $i
4585+done
4586
4587=== added file 'deprecated/tools/instance_start_all.sh'
4588--- deprecated/tools/instance_start_all.sh 1970-01-01 00:00:00 +0000
4589+++ deprecated/tools/instance_start_all.sh 2018-03-19 16:01:39 +0000
4590@@ -0,0 +1,2 @@
4591+#!/bin/bash -ex
4592+for i in $(openstack server list | awk '/SHUTOFF/{ print $2 }');do openstack server start $i; done
4593
4594=== added file 'deprecated/tools/instance_stop_all.sh'
4595--- deprecated/tools/instance_stop_all.sh 1970-01-01 00:00:00 +0000
4596+++ deprecated/tools/instance_stop_all.sh 2018-03-19 16:01:39 +0000
4597@@ -0,0 +1,3 @@
4598+#!/bin/bash -ex
4599+for i in $(openstack server list | awk '/ACTIVE/{ print $2 }');do openstack server stop $i; done
4600+
4601
4602=== added file 'deprecated/tools/instance_wait.sh'
4603--- deprecated/tools/instance_wait.sh 1970-01-01 00:00:00 +0000
4604+++ deprecated/tools/instance_wait.sh 2018-03-19 16:01:39 +0000
4605@@ -0,0 +1,29 @@
4606+#!/bin/bash -ex
4607+# Wait for all instances to become ACTIVE
4608+#
4609+# Even when using --wait with `openstack server create`, that command
4610+# has been shown to return 0 before instances are in an ACTIVE state.
4611+#
4612+# One should still use --wait when creating instances in automation
4613+# but additional wait logic is necessary to avoid races (as of Ocata).
4614+
4615+retry_command_expect_fail() {
4616+ command=$@
4617+ i=0
4618+ attempts=3
4619+ while [ $i -lt $attempts ]; do
4620+ $command || break
4621+ let "i+=1"
4622+ sleep 10
4623+ done
4624+ if [ $i -ge $attempts ]; then
4625+ exit 1
4626+ fi
4627+}
4628+
4629+
4630+show_non_active_instances() {
4631+ openstack server list | grep -v ACTIVE | grep private
4632+}
4633+
4634+retry_command_expect_fail show_non_active_instances
4635
4636=== added directory 'deprecated/tools/ipv6'
4637=== added file 'deprecated/tools/ipv6/check-cluster-status.sh'
4638--- deprecated/tools/ipv6/check-cluster-status.sh 1970-01-01 00:00:00 +0000
4639+++ deprecated/tools/ipv6/check-cluster-status.sh 2018-03-19 16:01:39 +0000
4640@@ -0,0 +1,25 @@
4641+#!/bin/bash -eu
4642+services=(
4643+ openstack-dashboard
4644+ keystone
4645+ glance
4646+ nova-cloud-controller
4647+ neutron-api
4648+ cinder
4649+ swift-proxy
4650+ mysql
4651+)
4652+
4653+echo "== PERCONA =="
4654+juju ssh mysql/0 "mysql -uroot -pubuntu -e \"show status like 'wsrep_cluster%';\""
4655+
4656+echo "== CEPH =="
4657+juju ssh ceph/0 sudo ceph -s
4658+
4659+echo "== HACLUSTERS =="
4660+echo "Checking ${services[@]}"
4661+for service in ${services[@]}; do
4662+ echo -e "\n== $service =="
4663+ juju ssh $service/0 sudo crm status 2>/dev/null
4664+done
4665+
4666
4667=== added file 'deprecated/tools/ipv6/check-db-grants.sh'
4668--- deprecated/tools/ipv6/check-db-grants.sh 1970-01-01 00:00:00 +0000
4669+++ deprecated/tools/ipv6/check-db-grants.sh 2018-03-19 16:01:39 +0000
4670@@ -0,0 +1,17 @@
4671+#!/bin/bash -eu
4672+cat <<- EOF | xargs -l juju ssh mysql/0
4673+set -x; dpkg -S percona-toolkit &>/dev/null && exit 0; \\
4674+echo "Installing percona-toolkit"; \\
4675+sudo apt-get update; \\
4676+sudo apt-get install percona-toolkit --yes 2>/dev/null
4677+EOF
4678+
4679+services=( cinder neutron glance nova keystone )
4680+if (($# > 0)); then services=( $1 ); fi
4681+
4682+echo "Checking grants"
4683+for db in ${services[@]}; do
4684+ echo -e "\n== $db =="
4685+ juju ssh mysql/0 pt-show-grants -uroot -pubuntu 2>/dev/null| grep $db
4686+ ((${#services[@]} > 1)) && echo "" && read -p "Next? [ENTER] "
4687+done
4688
4689=== added file 'deprecated/tools/ipv6/novarc'
4690--- deprecated/tools/ipv6/novarc 1970-01-01 00:00:00 +0000
4691+++ deprecated/tools/ipv6/novarc 2018-03-19 16:01:39 +0000
4692@@ -0,0 +1,6 @@
4693+#!/bin/bash
4694+export OS_USERNAME=admin
4695+export OS_PASSWORD=openstack
4696+export OS_TENANT_NAME=admin
4697+export OS_REGION_NAME=RegionOne
4698+export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://[2001:db8:0:1:d0cf:528c:23eb:5001]:5000/v2.0
4699
4700=== added file 'deprecated/tools/ipv6/post-deploy-test.sh'
4701--- deprecated/tools/ipv6/post-deploy-test.sh 1970-01-01 00:00:00 +0000
4702+++ deprecated/tools/ipv6/post-deploy-test.sh 2018-03-19 16:01:39 +0000
4703@@ -0,0 +1,19 @@
4704+#!/bin/bash -eu
4705+source novarc
4706+./configure.sh
4707+set -x
4708+keystone endpoint-list
4709+glance image-list
4710+nova list
4711+cinder create --display-name vol1 1
4712+cinder list
4713+swift stat
4714+
4715+neutron net-create private-vlan --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 1000
4716+neutron subnet-create --ip-version 6 private 2003:1803:ffe3:fa11::/64 private-vlan-subnet
4717+nova boot --image cirros --flavor 1 --nic net-id=`neutron net-list| grep private| awk '{print $2}'` vm0 --poll
4718+nova list
4719+nova volume-attach `nova list| grep vm0| awk '{print $2}'` `cinder list| grep vol1| awk '{print $2}'`
4720+cinder list
4721+
4722+
4723
4724=== added file 'deprecated/tools/keystone_ca.sh'
4725--- deprecated/tools/keystone_ca.sh 1970-01-01 00:00:00 +0000
4726+++ deprecated/tools/keystone_ca.sh 2018-03-19 16:01:39 +0000
4727@@ -0,0 +1,9 @@
4728+#!/bin/bash
4729+
4730+set -ex
4731+
4732+juju scp keystone/0:/usr/local/share/ca-certificates/keystone_juju_ca_cert.crt .
4733+
4734+sudo mkdir -p /usr/local/share/ca-certificates
4735+sudo cp keystone_juju_ca_cert.crt /usr/local/share/ca-certificates
4736+sudo update-ca-certificates --fresh
4737
4738=== added file 'deprecated/tools/quota_high.sh'
4739--- deprecated/tools/quota_high.sh 1970-01-01 00:00:00 +0000
4740+++ deprecated/tools/quota_high.sh 2018-03-19 16:01:39 +0000
4741@@ -0,0 +1,25 @@
4742+#!/bin/bash -ex
4743+# Set quotas to a high level for admin tenant for testing.
4744+
4745+TENANT_ID="$(openstack project show admin | awk '/ id /{ print $4 }')"
4746+
4747+openstack quota set\
4748+ --instances 300\
4749+ --cores 1200\
4750+ --ram 2048000\
4751+ --routers 300 \
4752+ --ports 300\
4753+ --networks 300\
4754+ --subnetpools 300\
4755+ --floating-ips 300\
4756+ --fixed-ips 300 \
4757+ --secgroups 300\
4758+ --secgroup-rules 300\
4759+ --key-pairs 300\
4760+ admin
4761+
4762+juju set nova-cloud-controller ram-allocation-ratio=100 &> /dev/null ||
4763+ juju config nova-cloud-controller ram-allocation-ratio=100 &> /dev/null
4764+
4765+juju set nova-cloud-controller cpu-allocation-ratio=100 &> /dev/null ||
4766+ juju config nova-cloud-controller cpu-allocation-ratio=100 &> /dev/null
4767
4768=== added file 'deprecated/tools/quota_million.sh'
4769--- deprecated/tools/quota_million.sh 1970-01-01 00:00:00 +0000
4770+++ deprecated/tools/quota_million.sh 2018-03-19 16:01:39 +0000
4771@@ -0,0 +1,25 @@
4772+#!/bin/bash -ex
4773+# Set quotas to a ridiculous level for admin tenant for testing.
4774+
4775+TENANT_ID="$(openstack project show admin | awk '/ id /{ print $4 }')"
4776+
4777+openstack quota set\
4778+ --instances 999999\
4779+ --cores 999999\
4780+ --ram 9999999\
4781+ --routers 999999 \
4782+ --ports 999999\
4783+ --networks 999999\
4784+ --subnetpools 999999\
4785+ --floating-ips 999999\
4786+ --fixed-ips 999999 \
4787+ --secgroups 999999\
4788+ --secgroup-rules 999999\
4789+ --key-pairs 999999\
4790+ admin
4791+
4792+juju set nova-cloud-controller ram-allocation-ratio=999999 &> /dev/null ||
4793+ juju config nova-cloud-controller ram-allocation-ratio=999999 &> /dev/null
4794+
4795+juju set nova-cloud-controller cpu-allocation-ratio=999999 &> /dev/null ||
4796+ juju config nova-cloud-controller cpu-allocation-ratio=999999 &> /dev/null
4797
4798=== added file 'deprecated/tools/sec_groups.sh'
4799--- deprecated/tools/sec_groups.sh 1970-01-01 00:00:00 +0000
4800+++ deprecated/tools/sec_groups.sh 2018-03-19 16:01:39 +0000
4801@@ -0,0 +1,8 @@
4802+#!/bin/bash -ex
4803+# Add sec groups for basic access
4804+secgroup=${1:-`openstack security group list --project admin| grep default| awk '{print $2}'`}
4805+for port in 22 53 80 443; do
4806+ openstack security group rule create $secgroup --protocol tcp --remote-ip 0.0.0.0/0 --dst-port $port --project admin ||:
4807+done
4808+
4809+openstack security group rule create $secgroup --protocol icmp --remote-ip 0.0.0.0/0 --project admin ||:
4810
4811=== added file 'deprecated/tox.ini'
4812--- deprecated/tox.ini 1970-01-01 00:00:00 +0000
4813+++ deprecated/tox.ini 2018-03-19 16:01:39 +0000
4814@@ -0,0 +1,35 @@
4815+[tox]
4816+envlist = openstack-client
4817+skipsdist = True
4818+
4819+[testenv]
4820+setenv = VIRTUAL_ENV={envdir}
4821+ PYTHONHASHSEED=0
4822+passenv = HOME TERM
4823+basepython = python2.7
4824+deps = -r{toxinidir}/requirements.txt
4825+install_command =
4826+ pip install --allow-unverified python-apt {opts} {packages}
4827+
4828+[testenv:openstack-client]
4829+commands = openstack --version
4830+
4831+[testenv:configure]
4832+commands = ./configure default
4833+
4834+[testenv:configure-arm64]
4835+commands = ./configure arm64
4836+
4837+[testenv:configure-dellstack]
4838+commands = ./configure dellstack
4839+
4840+[testenv:configure-lxd]
4841+commands = ./configure lxd
4842+
4843+[testenv:configure-multihv]
4844+commands = ./configure multihv
4845+
4846+[testenv:configure-ppc64el]
4847+commands = ./configure ppc64el
4848+
4849+
4850
4851=== added file 'deprecated/tune-and-launch'
4852--- deprecated/tune-and-launch 1970-01-01 00:00:00 +0000
4853+++ deprecated/tune-and-launch 2018-03-19 16:01:39 +0000
4854@@ -0,0 +1,9 @@
4855+#!/bin/bash
4856+# A common combo of post-deployment routines in test environments
4857+. novarc
4858+./tools/flavor_shrink.sh
4859+./tools/quota_million.sh
4860+./tools/sec_groups.sh
4861+./tools/instance_launch.sh 3 xenial
4862+./tools/float_all.sh
4863+openstack server list
4864
4865=== removed symlink 'next.yaml'
4866=== target was u'bundles/sparse/next.yaml'
4867=== removed file 'novarc'
4868--- novarc 2018-02-21 18:00:01 +0000
4869+++ novarc 1970-01-01 00:00:00 +0000
4870@@ -1,11 +0,0 @@
4871-_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
4872-for param in $_OS_PARAMS; do
4873- unset $param
4874-done
4875-unset _OS_PARAMS
4876-export OS_USERNAME=admin
4877-export OS_PASSWORD=openstack
4878-export OS_TENANT_NAME=admin
4879-export OS_REGION_NAME=RegionOne
4880-export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v2.0
4881-export OS_AUTH_TYPE=password
4882
4883=== removed file 'novarc_unset_all'
4884--- novarc_unset_all 2016-04-06 20:30:36 +0000
4885+++ novarc_unset_all 1970-01-01 00:00:00 +0000
4886@@ -1,5 +0,0 @@
4887-_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
4888-for param in $_OS_PARAMS; do
4889- unset $param
4890-done
4891-unset _OS_PARAMS
4892
4893=== removed file 'novarcv3_domain'
4894--- novarcv3_domain 2018-02-21 18:00:01 +0000
4895+++ novarcv3_domain 1970-01-01 00:00:00 +0000
4896@@ -1,16 +0,0 @@
4897-_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
4898-for param in $_OS_PARAMS; do
4899- unset $param
4900-done
4901-unset _OS_PARAMS
4902-export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v3
4903-export OS_USERNAME=admin
4904-export OS_PASSWORD=openstack
4905-export OS_REGION_NAME=RegionOne
4906-export OS_DOMAIN_NAME=admin_domain
4907-export OS_USER_DOMAIN_NAME=admin_domain
4908-export OS_IDENTITY_API_VERSION=3
4909-# Swift needs this:
4910-export OS_AUTH_VERSION=3
4911-# Gnocchi needs this:
4912-export OS_AUTH_TYPE=password
4913
4914=== removed file 'novarcv3_project'
4915--- novarcv3_project 2018-02-21 18:00:01 +0000
4916+++ novarcv3_project 1970-01-01 00:00:00 +0000
4917@@ -1,17 +0,0 @@
4918-_OS_PARAMS=$(env | awk 'BEGIN {FS="="} /^OS_/ {print $1;}' | paste -sd ' ')
4919-for param in $_OS_PARAMS; do
4920- unset $param
4921-done
4922-unset _OS_PARAMS
4923-export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -f keystone`:5000/v3
4924-export OS_USERNAME=admin
4925-export OS_PASSWORD=openstack
4926-export OS_USER_DOMAIN_NAME=admin_domain
4927-export OS_PROJECT_DOMAIN_NAME=admin_domain
4928-export OS_PROJECT_NAME=admin
4929-export OS_REGION_NAME=RegionOne
4930-export OS_IDENTITY_API_VERSION=3
4931-# Swift needs this:
4932-export OS_AUTH_VERSION=3
4933-# Gnocchi needs this
4934-export OS_AUTH_TYPE=password
4935
4936=== removed directory 'profiles'
4937=== removed file 'profiles/arm64'
4938--- profiles/arm64 2017-09-08 19:24:02 +0000
4939+++ profiles/arm64 1970-01-01 00:00:00 +0000
4940@@ -1,39 +0,0 @@
4941-#!/bin/bash -ex
4942-# An experimental configuration script for configuring a ppc64el OpenStack test cloud.
4943-# Useful in manual deployment testing.
4944-
4945-. ./profiles/common
4946-
4947-[[ -z "$GATEWAY" ]] && export GATEWAY="10.245.168.1"
4948-[[ -z "$CIDR_EXT" ]] && export CIDR_EXT="10.245.168.0/21"
4949-[[ -z "$FIP_RANGE" ]] && export FIP_RANGE="10.245.172.0:10.245.172.255"
4950-[[ -z "$NAMESERVER" ]] && export NAMESERVER="10.245.168.6"
4951-[[ -z "$CIDR_PRIV" ]] && export CIDR_PRIV="172.16.0.0/22"
4952-
4953-export BARE_METAL="True"
4954-
4955-# Accept network type as first parameter, assume gre if unspecified
4956-net_type=${1:-"gre"}
4957-
4958-# Configure neutron networking on overcloud
4959-source novarc
4960-./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
4961-./bin/neutron-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
4962-
4963-juju_config_neutron_mtu
4964-create_tempest_users
4965-create_tempest_flavors
4966-create_default_flavors
4967-
4968-# Install monitoring, probing and troubleshooting tools on all units
4969-juju run --all "sudo apt-get install htop atop nload iptraf nmap multitail iperf pastebinit stress sysstat -y"
4970-
4971-# Load images into glance
4972-tools/images_arm64.sh
4973-
4974-# Set security groups and rules
4975-tools/sec_groups.sh
4976-
4977-# Tune for higher-density testing
4978-tools/flavor_shrink.sh
4979-tools/quota_million.sh
4980
4981=== removed file 'profiles/common'
4982--- profiles/common 2017-05-06 18:30:26 +0000
4983+++ profiles/common 1970-01-01 00:00:00 +0000
4984@@ -1,85 +0,0 @@
4985-#!/bin/bash
4986-
4987-function upload_image {
4988- src=$1
4989- image_name=$2
4990- image_file=$3
4991- image_format=${4:-"qcow2"}
4992- image_hv_type=${5:-"qemu"}
4993- image_arch=${6:-"x86_64"}
4994-
4995- case "$src" in
4996- swift) http_root="http://$SWIFT_IP:80/swift/v1/images";;
4997- cloudimages) http_root="http://cloud-images.ubuntu.com/${image_name}/current";;
4998- esac
4999-
5000- mkdir -vp ~/images
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: