add rhos installs to multinode playbook

* group by product
* hardcode the packstack CONFIG_USE_EPEL=n as
  EPEL should never be used w/ RHOS tests

* updates
  * moved common role back out

Change-Id: I763ef0234082e45c07d5e8657bddfbd81d38ae8d
dump_settings: support passing run_settings filename

Change-Id: I359f735d23b8b22c73b3490e5b6869aedf28f83d
get_nodes: do not force net_3_name to be defined

Not defining the net_3_name will result in the jinja template
failing silently and none of the variables are set. The failure
happens because net_3_name is undefined and
item.0.info.addresses[net_3_name] cannot be evaluated.

Change-Id: I3555714c81112ca1ba372782420f36867b682355
run.sh adds log_error function

Change-Id: I189b2f11fe96d5b4e496ef3b7030a6245dd64360
run.sh: make errors stand out

Change-Id: Ife5344c2617a30cb520f553e53d706f23dd7bafd
run.sh adds --dry-run flag

Change-Id: Ib70cfb6d95537c54266e316044445081b0fe589a
run.sh fix VERBOSE

Change-Id: I1f575a2ead2df5d01d3582997293ada4d9192615
khaleesi-settings: file load order matches the argument order

Ensures that files are loaded in the order in which they are
specified in the command line.

For e.g.:
ksgen ... generate --foo fooz --too moo --foo-bar baz --foo-arg val

will result in loading
- fooz   <- first argument
- baz    <- sub-child
- arg    <- next sibling
- moo    <- argument after --foo

Change-Id: Ifb57de0362c1c9980adb7ce5fc26d24595e1f651
rename: khaleesi-settings -> ksgen

Change-Id: I09a23a8ff9a61f4d8a117668e8e0aab1e5ce05b6
ksgen: README updated

Change-Id: If2d23e4247368c243108921f739864304c22be6b
rdo/common: always repodiff against production

Change-Id: Ifcd69a38c2bb040b8da18812c35c9659400d3b81
khaleesi: change repo lookup keys to string

Change-Id: Ib60a18e87e9b9ae22a4f2fd4f87fc93015320cde
ksgen/tree: fix error when construction using dict

Change-Id: I4a9ea866edf2919f84685ad458b6cd91b34db986