Add functional tests and examples for merge
merge.py is undocumented and untested, which is undesirable, as it does not seem to be going away any time soon. Change-Id: I7e4870e58a32c567e5947b9a48893b8210ad4d65
This commit is contained in:
parent
b7f0bb6123
commit
0dbf2810a0
2
.gitignore
vendored
2
.gitignore
vendored
@ -39,3 +39,5 @@ nosetests.xml
|
||||
|
||||
*~
|
||||
*.swp
|
||||
|
||||
doc/_build
|
||||
|
3
Makefile
3
Makefile
@ -6,3 +6,6 @@ notcompute.yaml: $(NOTCOMPUTE)
|
||||
overcloud.yaml: overcloud-source.yaml nova-compute-instance.yaml
|
||||
python merge.py $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
test:
|
||||
@bash test_merge.bash
|
||||
|
@ -1,4 +1,10 @@
|
||||
templates
|
||||
=========
|
||||
|
||||
Generic templates to describe multi-host infrastructure, consumable by OpenStack Heat, Crowbar, others.
|
||||
Generic templates to describe multi-host infrastructure, consumable by OpenStack Heat, Crowbar, others.
|
||||
|
||||
|
||||
merge.py
|
||||
========
|
||||
|
||||
The Makefile contains several targets for generated templates, see its contents for all of them. To run functional tests for merge.py, run 'make test'.
|
||||
|
11
examples/lib.yaml
Normal file
11
examples/lib.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
Parameters:
|
||||
ImportantValue:
|
||||
Default: a_default
|
||||
Type: String
|
||||
Resources:
|
||||
GenericB:
|
||||
Type: OS::Nova::Server
|
||||
Properties:
|
||||
image: {Ref: BImage}
|
||||
Metadata:
|
||||
my_meta: {Ref: ImportantValue}
|
15
examples/source.yaml
Normal file
15
examples/source.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
Parameters:
|
||||
SourceImage:
|
||||
Type: String
|
||||
Default: my_image
|
||||
Resources:
|
||||
A:
|
||||
Type: OS::Nova::Server
|
||||
Properties:
|
||||
image: {Ref: SourceImage}
|
||||
B:
|
||||
Type: FileInclude
|
||||
Path: examples/lib.yaml
|
||||
SubKey: Resources.GenericB
|
||||
Parameters:
|
||||
ImportantValue: {'Fn::Join': [ '', ['one', 'two', 'three']]}
|
24
examples/source_lib_result.yaml
Normal file
24
examples/source_lib_result.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
Description: examples/source.yaml
|
||||
HeatTemplateFormatVersion: '2012-12-12'
|
||||
Parameters:
|
||||
AImage: null
|
||||
Default: my_image
|
||||
Type: String
|
||||
Resources:
|
||||
A:
|
||||
Properties:
|
||||
image:
|
||||
Ref: AImage
|
||||
Type: OS::Nova::Server
|
||||
B:
|
||||
Metadata:
|
||||
my_meta:
|
||||
Fn::Join:
|
||||
- ''
|
||||
- - one
|
||||
- two
|
||||
- three
|
||||
Properties:
|
||||
image:
|
||||
Ref: BImage
|
||||
Type: OS::Nova::Server
|
24
test_merge.bash
Normal file
24
test_merge.bash
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -ue
|
||||
result=""
|
||||
cleanup() {
|
||||
if [ -n "$result" ] ; then
|
||||
rm -f $result
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
result=$(mktemp /tmp/test_merge.XXXXXX)
|
||||
fail=0
|
||||
python merge.py examples/source.yaml > $result
|
||||
if ! cmp $result examples/source_lib_result.yaml ; then
|
||||
diff -u $result examples/source_lib_result.yaml
|
||||
echo
|
||||
echo FAIL - merge of source.yaml result does not match expected output
|
||||
echo
|
||||
fail=1
|
||||
else
|
||||
echo
|
||||
echo PASS - merge of source.yaml result matches expected output
|
||||
echo
|
||||
fi
|
||||
exit $fail
|
Loading…
Reference in New Issue
Block a user