Set umask

Ensure we have a known-good umask.  Otherwise files such as
/etc/polkit-1/rules.d/50-libvirt-$STACK_USER.rules may not be readable
by non-root users afterwards.

Also reworded some comments to be more clear.

Change-Id: I7653d4eee062cf32df22aa158da6269b1aa9a558
Closes-Bug: #1265195
Fix comments about System Functions

This commit fixes comments about "System Functions".
 * Add a missing comment about System Functions in the header
 * Fix singular to plural like others

Change-Id: I3feb94cd11a6683ca80093574d60fdf7420e3af2
Implements fix to run lbaas service on fedora with devstack

changes 'user_group = nobody' in 'haproxy' section of lbaas_agent.ini

Change-Id: I801fec5a11d8abd97cb6f5cdff35fabb9eaf9000
Closes-Bug: 1283064
Make admin_bind_host configurable

The use case is running devstack inside an OpenStack vm and running tempest
from some other machine. To make the catalog export urls that can be accessed
from off the devstack machine, you need to set KEYSTONE_SERVICE_HOST to an
external IP. But devstack uses that address in its setup of keystone in
addition to exporting in the catalog. Because OpenStack has an issue where
a vm cannot access itself through its own floating ip, devstack fails. There
is no way to have this use case by providing an ip address. The workaround
is to use the hostname of the devstack machine. That worked until recently
when a change was made to set admin_bind_host to the value of
KEYSTONE_SERVICE_HOST. The result is that port 35357 is only opened locally.
This change allows the devstack user to restore the original behavior
allowing this use case.

Change-Id: I97b938b305b7dd878397e7e64462650064e59cd2
Closes-Bug: #1283803
Savanna: use heat infra engine if available

In Savanna we have two provisioning engines:

* "savanna" that directly work with nova/neutron/glance/cinder/etc and
   we'd like to deprecate it early in Juno release cycle, but it's still
   useful due to the fact that it could work ok w/o Heat;
* "heat" engine uses Heat for provisioning of cluster resources, it's
   currently under active development and we're ready to make it default
   for OpenStack installations with enabled Heat.

Change-Id: I937337b3921e9e51768a118fb4b6bd95962622bd
enable -o errexit

devstack should run under -o errexit to ensure that we fail early
when something has gone wrong, otherwise determination of the root
failure location is often quite challenging.

this clears all the normal use cases for devstack, there could be
tests which now die early, which we're going to have to check for
later.

Change-Id: Ibd828c4f4fd95a60d3918d3d7ae90e10649479ab
Fix libvirt polkit settings

After the https://review.openstack.org/#/c/75314 merged
the /etc/polkit-1/rules.d/50-libvirt-stack.rules files contains
subject.user == '"stack"' instead of
subject.user == 'stack'.

Change-Id: I09f252b2d0e53f012facb9f7eaa21c1e1bdf492b
Merge "enable -o errexit"
Fix exit_trap() error if no child processes

Bug-Id: 1285776
Change-Id: Iad7a9f2c03cc39159beda55345f232cefed10520
Handle non-zero exit code from git diff

The check for a changed repo in setup_develop() 'git diff --exit-code'
returns a status of 1 when the repo has changes; trap that so errexit
does not abort the script.

Bug-Id: 1285780
Change-Id: Ic97e68348f46245b271567893b447fcedbd7bd6e
Stop trying to create the 'ironic' user twice

After 09bd7c8fd5a6 landed, a conflict between lib/ironic and
extras.d/50-ironic.sh was exposed, breaking Ironic's check and gate
tests.

This resolves that conflict by only creating the 'ironic' user once.

Change-Id: Ic41517f0977c84a82f92f58565aaee6b5cc7eb3e
Enforce function declaration format in bash8

Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check.  Add a note to HACKING.rst

Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
Fix Neutron enabled check

* Remove the check for neutron enabled on a block of variable settings, there
  is no conflict and serves no purpose.
* Also floating_ips.sh and volume.sh needed to properly source lib/neutron
  for do ping_check() to work properly.

The current error in check-devstack-dsvm-neutron is not related to this fix.

Change-Id: I1c458aaa787ffb98c945aefc3afa80c6861a405f
make service_check fatal

if we fail service check, we should do so in a fatal way, because
something is not right. This will be very useful in grenade.

Change-Id: I18811b0d8e6d06f364685c366cdc8f5dda3b8f7e
Merge "Fix comments about System Functions"
Merge "Savanna: use heat infra engine if available"
Merge "Make admin_bind_host configurable"
Merge "Implements fix to run lbaas service on fedora with devstack"
Merge "Fix libvirt polkit settings"
Merge "Set umask"