Introduces the stdstream logger

This callback plugin will log everything about a task. Its result,
the stdout, stderr. Usage instructions added to README.md.

Change-Id: I6fb848efbedb9391d931a57670fd1ce75b0813ca
Make results a "top-level" log item

Change-Id: If92faa262d1b946874744daed346cec5dd6b3575
Change some tags in foreman playbook

Add all possible tags to the group_by
Change some tags for node install tasks

Change-Id: Ifd44afed0369b7c8ed9aea0e978868267e635d88
Add --debug to puppet call for node installs

Change-Id: Iab4eb23d3028e75ee2b3db898ce384ecca68ddd7
Remove tags from group_by

Change-Id: I2b35bb034e28bee823d69743ecb20f79ee03a059
increase the retry for nova floatingip 2->3

* also introduce a 10 second delay on reattempts

Change-Id: Ia40882d137e138a71490287a98f6c933aac2f156
_get_server_floating_ip is not returing a float in all cases

In some cases.. depending on the tenant networking _get_server_floating_ip
was not returning the float. This change properly goes through all networks
and returns the floating ip address.

Change-Id: Ie48b0c48a5969589d921cb5f27b4174422837286
networks in the openstack host env can vary open default ansible_ipv4 for tempest

Noticed in some env default and private are the same address.
Ensure tempest can connect to the controller by openging the
port to the default ipv4 address
"tempest_default_ip": "192.168.40.3"
"tempest_private_ip": "192.168.40.3"
"hostvars[tempest_name].ansible_default_ipv4.address": "192.168.50.3"

Change-Id: I7087701c63906f2a9843a4479947eb4fe8c7fd4e
Somewhat revert I7087701c63906f2a9843a4479947eb4fe8c7fd4e

The tempest_default_ip doesn't need to be a new fact. This was already
in the iptables defaults, but commented out. Uncommented the default,
and changed the task to match the tempest_ip name.

Change-Id: Ic69057b25f9cd378b536c40ee71295f5ed223d87
BZ:1080369 - Workaround to patch provision_700.py

Bug: 1080369 prevents multinode installation.
This changeset workaround the issue by copying a patched version
of provision_700.py if the installed version of openstack-packstack
matches any of the regex in packstack_versions_to_patch list.

Change-Id: I2dc331637f1152cf401d103853c5dbd4a19f9fb7
Adds missing provision tag

Change-Id: I6b9c084e6d95f997d9aa0360cb09c17d7dec6de0
Run all tasks on localhost without sudo

Playbooks are written to be run with '-s' or --sudo set so that
most tasks need not specify sudo: yes. This inadvertently forces
sudo (nopasswd) to  on development machine/localhost (making it
insecure) unless tasks run on localhost explicitly sets
  sudo: no

Change-Id: Ia20ac2f89dc1b02fb1286b71ac7959b31e8d28c2
removes unused compute_nodes.yml file

Change-Id: I82d63601a84367f5cbb23432b1255757ed724520
Use instance name as prefix when snapshot_name not defined

Change-Id: Icaaa90e1f8761cd59a8c932ee00856222f358860
add repodiff output based on the configured repo

* repo diff between old=production new=stage
* or repo diff between old=stage new=testing

Capture the data in the console and log
This is not capturing all the output w/ command, shell
or raw.

Change-Id: I78ed406bd036dfe927ad82f5d07b7edb3adb4d32
Refactor and simplify bash scripts

Simplifies run.sh by
- moving all common methods to functions.bash
- sharing the generate_settings_file function between run and
  generate-settings-file.sh
- making setting.sh into an executable script so that the
  following works
      source /path/to/my-khaleesi-settings.rc
     ./generate-settings-file.sh icehouse-multi-rhel7.yml

Change-Id: Iaf59ea066c2909393b879a84326c633b69da5bfe
get_nodes: more robust handling of network-type

When hosts are added, add_hosts gets called for 'nova' and 'neutron'
without verifying if the nodes_created and floating_ips have any value.
This resulted in long skip messages and fails when nodes_created is
None but floating_ips is just text "unchanged ... ".

This changeset
- ensures that tasks are skipped when any of the nodes_created or
  floating_ips is Node
- The task prints the current os_network_type and the expected_network_type
- simplifies when: '"{{ foo }}" == "bar"' to "foo == 'bar'"

Change-Id: I13daf729fa54c6198ccdde7ec669367712cd88e5
run.sh: fix typo in var names that caused critical errors

Change-Id: I606d8147811a1eb8f3c62ecfe237f6955cd7ee73
Collapse all fact setting to a single task

Use the template during set_facts that may or may not be set for
individual nodes. This gets rid of extraneous tasks just for slightly
different node types.

Do the same thing during get_nodes when first adding the hosts to the
in-memory inventory.

Change-Id: I3ae30b10e65c35456daecbee34d82bf4b0fd6a5a
packstack/neutron: add ml2-plugin role

Change-Id: I2789169304e3badfa59fb43ca23f5e646c2a1bb2