support other components using apache mod_wsgi

Keystone is moving to use apache mod_wsgi instead of standalone
eventlet daemon.  Packstack should support deployment of keystone
using this model.  A new command line switch --keystone-service-name
is added, and a new config parameter CONFIG_KEYSTONE_SERVICE_NAME
is added.  If this is set to 'httpd', keystone will be set up to use
apache mod_wsgi, otherwise, it will be a standalone eventlet service.

There is some common apache configuration that must be done by
every module that uses apache.  There is a new class in packstack
called packstack::apache_common.  Each component that uses apache
must call "include packstack::apache_common".  This ensures that
a subsequent component manifest will not wipe out apache
configuration created by a previous component manifest or the initial
apache configuration created by prescript.pp.

Change-Id: I73b853507dffb2540638182f3072e65e4d7ad485
Closes-Bug: #1348732
Remove firewalld workaround as it should be part of puppet-firewall now

Change-Id: Idbf62b7433d2f3587562c5a3556fd765aaa04aef
Fix Neutron FWaaS configuration

The Neutron FWaaS driver was always loaded, even if
CONFIG_NEUTRON_FWAAS was set to "n". This, and the fact that it
was configured after the L3 agent was started, caused
neutron-l3-agent to be down after Packstack execution. This patch
fixes it by setting the right configuration order and making sure
the driver is only configured if needed.

Change-Id: Idc37f53d64ddf5e08e3229be9241bae2f8ac9e67
Merge "Remove firewalld workaround as it should be part of puppet-firewall now"
Switch packstack o-p-m branch to master-patches

The o-p-m master-patches branch contains rpm released master version of
o-p-m plus rpm patches applied to it ensuring that packstack will work
with it as in some cases master o-p-m is unusable for packstack.

Change-Id: Ib4e642bb96de1d87a5d36c20d5e2d4e2650353be
Merge "support other components using apache mod_wsgi"
Always enable EPEL repo when installing RDO

The EPEL repository is a requirement for RDO installation. This
requirement was previously handled by a downstream patch on the
package changing the default value of CONFIG_USE_EPEL, but this is
complex to maintain. This patch overrides the specified value of
CONFIG_USE_EPEL when RDO is being installed, while respecting it
for other distributions.

Change-Id: I393128333abacc841bf32adcf104d4635f616539
Check for puppet execution errors

If the puppet package is installed, but puppet fails to execute
due to some unforeseen reason (e.g. not having execution
permissions), Packstack will silently ignore the issue. Fixing
that.

Change-Id: I530e83413feca175f2579239362f6afaa8434bf3
Fixes: bz#1153296
Merge "Check for puppet execution errors"
Merge "Always enable EPEL repo when installing RDO"
Adds Hiera implementation within Packstack

Packstack configures Hiera as data backend. Packstack puppet templates are now
using hiera() and hiera_array() functions to fetch data from hiera backend.

Packstack generates a defaults.yaml file in the /var/tmp/packstack directory.

Firewall rules for each openstack components are inserted into the hiera
backend as hash and created by the create_resources function.

Change-Id: Iab553a71264b0fc0f26d33a6304b545ad302f664
Fixes: rhbz#1145223
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
temporary branch change
Add posibility to install FreeIPA

Unsupported option to setup FreeIPA server and to join hosts into IPA
domnain. In future it might be possible to support this if the IPA node
would be standalone from controller as there are serious caveats othervise.

Closes-Bug: rhbz#903645
Fix several deprecation warnings

database_user -> mysql_user
mysql_module removal
sql_connection -> database_connection

Change-Id: Ia7e22b0d809e40e64dc664f281f7274a4102751c
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>

Conflicts:
	packstack/puppet/templates/cinder_rabbitmq.pp
Allow --default-password with --gen-answer-file

Previously, it was not possible to specify a default password when
creating an answer file. This patch fixes that by allowing to run
"packstack --gen-answer-file=<file> --default-password=<password".
The answer file will have the specified default password included.

Change-Id: I52b55f02468f79ebbab4793e727810ed99eaac69