Update PrivateIp to first_private_address.

Update the PrivateIp attribute to first_private_address as a result of
the change to the OS::Nova::Server type.

Change-Id: Id90f8c7c4e0217e1f94d3e5134744a810390e7b7
Allow customising the Nova BM architecture.

Nova BM can only run one architecture at a time, and the incubator
currently documents running sed against undercloud-vm.yaml!

Change-Id: Ib157cf405a40fa983f1df3fb3ed62d04262e3e81
Replace broken usage of first_private_address

The OpenStack native OS::Nova::Server gives us the full list of
networks rather than AWS::EC2::Instance's contrived view of 'private'
and 'public'. We know we want ctlplane, and use Fn::Select to choose
that network directly. The outer Fn::Select is meant to choose the
first network every time, which may not always be correct, but is at
this point.

Change-Id: Iae54ab8d9ac8d84f4f6e2f86ac1b66aacb687473
Finish correcting all OS::Nova::Server references

Some references to first_private_address were missed and some of the
Fn::Select calls were only half-completed.

Change-Id: I92a4e5e67784e5d64ec6e44ddcac55762cde81eb
Set NoEcho: true for parameters containing secrets

This prevents secret values being returned for stack-show.

Change-Id: I82eff26fda31511b66c6371f6ded2a5fb559f3fb
Fixes-Bug: #1226730
Provide Neutron password in compute metadata

overcloud compute node makes requests to Neutron API
and requires quantum_admin_password option of nova.conf
to be set (it is defined in nova image element like
quantum_admin_password={{neutron.service-password}}).

Without this, booting of a user instance in overcloud
fails, because nova-compute service can't authorize
requests to Neutron API.

Change-Id: Ie726d0c3d54abc6c24a45fde3f5af03fd2cf9e37
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
Refactor test_merge.bash for multiple tests

We will be adding more tests, so make it more of a framework for that.

Also fix up minor lib.yaml formatting bug.

Change-Id: Ic0fe1679f8d62680dfd0acf215c849aa38b913da
Make it possible to enable native neutron PXE.

This is used to control the dhcp_options_enabled flag in nova.conf,
needed to enable PXE orchestration (until Nova assumes all Neutron
libraries and servers support it).

Change-Id: I035a2341d829a9987eeeebdd9c22f039e69489db
Set the undercloud host name to 'undercloud'.

This makes more sense than calling it 'ubuntu'.

Note: This will require an associated incubator change which
I will push momentarily.

Change-Id: I166b45a6ceb34635ed5ef7e29dd028f8c6a4cbe3
Merge "Set the undercloud host name to 'undercloud'."
Merge "Make it possible to enable native neutron PXE."
Add recursive whole-file __include__ tag

We can now merge an entire file with minimal effort.

Change-Id: If86657fb9f9cca0f048c9e01100a3667597a6596