Lock network facts unless specified

Due to a new upstream change in vswitch, ip addresses
for interfaces are now moved to bridges, which can confuse
facter's ipaddress facts. This change will lock the facts
to their initial value on the first run of the bootstrap
script, preventing issues arising from puppet referring to
facts that no longer exist (eg for the external interface)

Change-Id: I10c67c4d2b06f8438f3d3bf05b45f647de6449a7
Merge "Lock network facts unless specified"
Push stacktira scenario to icehouse

This patch moves stacktira to the icehouse release
and contains a couple of other minor fixes for the
stacktira scenario:

the default mirror has changed due to stability issues

services are being gradually moved to bind only to the
internal interface, and haproxy will forward traffic

notifications support has been added

the firewall on the internal interface between control
and compute has been opened to allow all traffic for VMs

Accommodate some changes in openstacklib structure

Add ML2 support.

Change-Id: I23fb8048f0e0463d8c16998b5bfa8c797a295445
Improved firewall support

Add support for new firewalling in openstacklib (soon
to be moved to openstack_extras) that manages SSH and
other basic rules, along with improved dashboard
firewall management.

Change-Id: Ib95254fd98e19111463e7b0c4c2e38d89f7b83da

Conflicts:
	data/scenarios/stacktira.yaml
Remove heat endpoints from class group

Endpoints are managed for all other services via
coi::profiles::endpoints. Heat currently isn't
because its class structure doesn't match, which
is due to it having a separate class for the
cloudformation endpoint.

This patch should be paired with a patch to puppet-coi
and any other consumers of enabled_services to handle
this special case.

Change-Id: I9bbb1c59cbebc8962bdd34c890e0af1f1a4be469
Add tarball comparison logic

This patch adds support for a very simple
update mechanism. Tarballs are downloaded,
md5 sums checked for changes from the current
one, and if they are different the new tarball
is extracted in place of the old one.

Change-Id: Ie23efc9795ba6520bb108d6797bb52651e44e273
Add network namespace support

RedHat kernels do not have network namespaces
enabled by default. This patch uses the netns class
in openstacklib to check if network namespaces are
available, and if they are not, install the latest kernel.

Ubuntu hosts are unaffected, and should contain netns support
in all common cases anyway.

Change-Id: Ided02a7bfe57ab3e318c7ac24df0eeb54b349c08

Conflicts:
	data/scenarios/stacktira.yaml
Add fqdn check to bootstrap script

This patch prevents the hosts file from
being overwritten if the fqdn fact is already
returning $hostname.$domain_name. This allows
A site that does not want the installer to manage
its hosts file to work cleanly.

Change-Id: I18c8a151aa98b979bc94caabad57680ed3b34570
Add ML2 support

Two new class groups have been added that enable the ml2
folder structure, and include extra classes on compute nodes
that were not previously required. Scenarios should swap over
to these class groups when they are ready.

core_plugin for neutron was previously set by plugin
choice, it is now set to ml2 in user.common.yaml. To use
the deprecated plugins this will need to be overridden
manually by the user. Mechanisms are set by plugin choice,
but there is currently only support for a single mechanism
at a time.

This patch focuses solely on gre support. VXLAN and others can
be added in future patches.

The service_plugins format has been changed to a curated list of
strings, and has been reduced to only include the router plugin
while support for other plugins is tested.

Change-Id: I258074d70bf136ac4d8eaf08abc06e8676db3829
(Workinprogress) Icehouse release megapatch

All the things.

Change-Id: I9576fcb221655e94a67893f6a928c165915159a1

Conflicts:
	contrib/aptira/puppet/user.yaml
	data/data_mappings/scenario/stacktira.yaml
	data/hiera_data/user.stacktira.yaml