diff --git a/VERSION b/VERSION
index 519af9a..3f6d5ce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-6.0.0.dev
+6.0.0.dev0
diff --git a/containers/chameleon/Dockerfile.chameleon b/containers/chameleon/Dockerfile.chameleon
index 7d69ed8..2fc9937 100644
--- a/containers/chameleon/Dockerfile.chameleon
+++ b/containers/chameleon/Dockerfile.chameleon
@@ -25,7 +25,9 @@
 COPY tmp.chameleon /chameleon/chameleon
 
 # Build the protos
-RUN chdir chameleon/chameleon/protos && VOLTHA_BASE=anything make
+RUN pip install docker==3.1.4 klein==17.10.0 fluent-logger==0.9.2 \
+ && chdir chameleon/chameleon/protos \
+ && VOLTHA_BASE=anything make
 
 # Label image
 ARG org_label_schema_schema_version=1.0
diff --git a/containers/xos/Dockerfile.base b/containers/xos/Dockerfile.base
index d94e4db..19359f7 100644
--- a/containers/xos/Dockerfile.base
+++ b/containers/xos/Dockerfile.base
@@ -1,4 +1,3 @@
-
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,49 +12,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 # Dockerfile.base
 # This image isn't used, but installs the prereqs for the other XOS images
-FROM ubuntu:14.04.5
+FROM ubuntu:16.04
 
 # Install apt packages, including docker
-RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
+RUN apt-get update && apt-get install -y \
     apt-transport-https \
+    build-essential \
     curl \
-    cython \
-    gcc \
-    geoip-database \
-    git \
-    graphviz \
-    graphviz-dev \
-    libcurl4-gnutls-dev \
-    libffi-dev \
-    libgeoip1 \
     libpq-dev \
-    libxslt1-dev \
-    libxslt1.1 \
     libyaml-dev \
-    m4 \
     openssh-client \
-    pkg-config \
-    python-dev \
     python-pip \
-    rsync \
     software-properties-common \
     sshpass \
-    supervisor \
-    unzip \
-    wget \
- && apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 \
-    --recv-keys 58118E89F3A912897C070ADBF76221572C52609D \
- && echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | \
-    tee /etc/apt/sources.list.d/docker.list \
  && apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 \
     --recv-keys 46095ACC8548582C1A2699A9D27D666CD88E42B4 \
  && echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | \
     tee -a /etc/apt/sources.list.d/elastic-6.x.list \
  && apt-get update \
- && apt-get install -y docker-engine \
  && apt-get install -y filebeat \
  && update-rc.d filebeat defaults 95 10 \
  && rm -rf /var/lib/apt/lists/* \
@@ -66,11 +42,13 @@
 COPY filebeat.yml /etc/filebeat/filebeat.yml
 
 # Install python packages with pip
+# Upgrade methodology - pip_requested.txt is the manually generated list of pip
+# packages desired, without any added dependencies. It is used to generate
+# pip_requirements.txt by running: pip install -r pip_requested.txt then use
+# `pipdeptree` to make sure dependencies aren't broken, then
+# `pip freeze > pip_requirements.txt` and manually clean up.
 COPY pip_requirements.txt /tmp/pip_requirements.txt
-
-# Upgrade requests from apt installed version
-RUN pip install --no-deps -U -I requests==2.11.1 \
- && pip install --no-deps -U -I pip==9.0.1 setuptools==36.0.1 \
+RUN pip install --no-deps -U -I pip==9.0.3 setuptools==39.0.1 requests==2.18.4 \
  && pip install --no-deps -r /tmp/pip_requirements.txt \
  && pip freeze > /var/xos/pip_freeze_pip_up_`date -u +%Y%m%dT%H%M%S`
 
diff --git a/containers/xos/Dockerfile.xos-core b/containers/xos/Dockerfile.xos-core
index c43853e..1c6ce85 100644
--- a/containers/xos/Dockerfile.xos-core
+++ b/containers/xos/Dockerfile.xos-core
@@ -1,4 +1,3 @@
-
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,7 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 # xosproject/xos-core
 FROM xosproject/xos-libraries:candidate
 
@@ -21,14 +19,13 @@
 ADD xos /opt/xos
 ADD lib /opt/xos/lib
 
-RUN chmod +x /opt/xos/tools/xos-manage \
- && mkdir -p /opt/cord_profile /opt/xos_services /opt/xos_libraries \
- && sync \
- && /opt/xos/tools/xos-manage genkeys
-
-RUN xosgenx --output /opt/xos/core/models --target django.xtarget --dest-extension py --write-to-file model /opt/xos/core/models/core.xproto
-RUN xosgenx --output /opt/xos/core/models --target django-security.xtarget --dest-file security.py --write-to-file single /opt/xos/core/models/core.xproto
-RUN xosgenx --output /opt/xos/core/models --target init.xtarget --dest-file __init__.py --write-to-file single /opt/xos/core/models/core.xproto
+RUN mkdir -p /opt/cord_profile /opt/xos_services /opt/xos_libraries \
+ && xosgenx --output /opt/xos/core/models --target django.xtarget --dest-extension py \
+      --write-to-file model /opt/xos/core/models/core.xproto \
+ && xosgenx --output /opt/xos/core/models --target django-security.xtarget --dest-file security.py \
+      --write-to-file single /opt/xos/core/models/core.xproto \
+ && xosgenx --output /opt/xos/core/models --target init.xtarget --dest-file __init__.py \
+      --write-to-file single /opt/xos/core/models/core.xproto
 
 # Set environment variables
 ENV HOME /root
diff --git a/containers/xos/pip_requested.txt b/containers/xos/pip_requested.txt
new file mode 100644
index 0000000..ddb2e1a
--- /dev/null
+++ b/containers/xos/pip_requested.txt
@@ -0,0 +1,49 @@
+Django==1.11.11
+Jinja2==2.10
+Pattern==2.6
+PyYAML==3.12
+Twisted==16.6.0
+Werkzeug==0.14.1
+ansible==2.5.0
+astunparse==1.5.0
+django-extensions==2.0.6
+django-timezones==0.2
+djangorestframework==3.7.7
+dnspython==1.15.0
+functools32==3.2.3-2
+futures==3.2.0
+google-api-python-client==1.6.5
+grpcio-tools==1.9.1
+grpcio==1.9.1
+keystoneauth1==3.4.0
+mock==2.0.0
+multistructlog==1.5
+netaddr==0.7.19
+networkx==1.11
+nose==1.3.7
+oslo.log==3.37.0
+oslo.messaging==5.36.0
+oslo.serialization==2.25.0
+oslo.utils==3.36.0
+ply==3.11
+plyxproto==3.0.1
+protobuf==3.5.2
+# Avoids a warning, see http://initd.org/psycopg/docs/faq.html#faq-compile
+psycopg2==2.7.4 --no-binary psycopg2
+pyOpenSSL==17.5.0
+pykwalify==1.6.1
+python-consul==0.7.2
+python-glanceclient==2.9.1
+python-keystoneclient==3.15.0
+python-logstash==0.4.6
+python-neutronclient==5.1.0
+python-novaclient==10.1.0
+python-openstackclient==3.14.0
+pytz==2018.3
+redis==2.10.6
+requests==2.18.4
+service-identity==17.0.0
+shade==1.27.1
+six==1.11.0
+structlog==18.1.0
+tosca-parser==0.9.0
diff --git a/containers/xos/pip_requirements.txt b/containers/xos/pip_requirements.txt
index 3e9b703..9ebf227 100644
--- a/containers/xos/pip_requirements.txt
+++ b/containers/xos/pip_requirements.txt
@@ -1,168 +1,141 @@
-pytz==2018.3
-sphinx==1.3.1
-Babel==2.3.4
-Django==1.11.10
-Jinja2==2.9.6
-Markdown==2.6.8
+Babel==2.5.3
+Django==1.11.11
+Jinja2==2.10
 MarkupSafe==1.0
 Paste==2.0.3
 PasteDeploy==1.5.2
+Pattern==2.6
+PyNaCl==1.2.1
 PyYAML==3.12
-Routes==2.3.1
-WebOb==1.6.1
-amqp==1.4.9
-attrs==17.2.0
-ansible==2.2.2.0
-anyjson==0.3.3
-appdirs==1.4.0
-asn1crypto==0.22.0
-backports.ssl-match-hostname==3.5.0.1
-ca-certs-locater==1.0
-cachetools==1.1.6
-cached-property==1.3.0
-cffi==1.10.0
-cliff==2.2.0
-cmd2==0.6.8
+Routes==2.4.1
+Twisted==16.6.0
+WebOb==1.7.4
+Werkzeug==0.14.1
+amqp==2.2.2
+ansible==2.5.0
+appdirs==1.4.3
+asn1crypto==0.24.0
+astunparse==1.5.0
+attrs==17.4.0
+bcrypt==3.1.4
+cachetools==2.0.1
+certifi==2018.1.18
+cffi==1.11.5
+chardet==3.0.4
+cliff==2.11.0
+cmd2==0.8.2
 colorama==0.3.9
 constantly==15.1.0
-contextlib2==0.5.4
-coreapi==1.32.3
-coverage==4.4.1
-cryptography==1.9
-debtcollector==1.8.0
-decorator==4.1.2
-django-extensions==1.9.9
-django-filter==1.1.0
-django-ipware==2.0.1
+contextlib2==0.5.5
+cryptography==2.2.2
+debtcollector==1.19.0
+decorator==4.2.1
+deprecation==2.0
+django-extensions==2.0.6
 django-timezones==0.2
 djangorestframework==3.7.7
-dnslib==0.9.6
-docutils==0.13.1
-docker==3.1.4
-docker_pycreds==0.2.1
+dnspython==1.15.0
 docopt==0.6.2
-dogpile.cache==0.6.2
+dogpile.cache==0.6.5
+enum-compat==0.0.2
 enum34==1.1.6
-eventlet==0.19.0
+eventlet==0.20.0
 fasteners==0.14.1
 funcsigs==1.0.2
 functools32==3.2.3-2
-futures==3.0.5
-futurist==0.18.0
-google-api-python-client==1.5.3
-greenlet==0.4.10
-sphinx_rtd_theme==0.1.9
-grpcio==1.9.1
+futures==3.2.0
+futurist==1.6.0
+google-api-python-client==1.6.5
+greenlet==0.4.13
 grpcio-tools==1.9.1
-html5lib==0.999
-httplib2==0.9.2
-idna==2.1
-ipaddress==1.0.16
-incremental==16.10.1
-iso8601==0.1.11
-itypes==1.1.0
-fluent-logger==0.9.2
-jsonpatch==1.14
-jsonpointer==1.10
-jsonschema==2.5.1
-keystoneauth1==2.12.1
-klein==17.10.0
-kombu==3.0.35
-lxml==3.6.4
-meld3==0.6.10
+grpcio==1.9.1
+httplib2==0.11.1
+idna==2.6
+incremental==17.5.0
+ipaddress==1.0.19
+iso8601==0.1.12
+jmespath==0.9.3
+jsonpatch==1.21
+jsonpointer==2.0
+jsonschema==2.6.0
+keystoneauth1==3.4.0
+kombu==4.1.0
 mock==2.0.0
-monotonic==1.2
-msgpack-python==0.4.8
+monotonic==1.4
+msgpack==0.5.6
 multistructlog==1.5
+munch==2.2.0
+netaddr==0.7.19
+netifaces==0.10.6
 networkx==1.11
-numpy==1.13.1
-munch==2.0.4
-ndg-httpsclient==0.4.2
-netaddr==0.7.18
-netifaces==0.10.5
 nose==1.3.7
-oauth2client==3.0.0
-openapi-codec==1.0.0
-openstacksdk==0.9.4
-os-client-config==1.21.0
-osc-lib==1.1.0
-oslo.concurrency==3.14.0
-oslo.config==3.17.0
-oslo.context==2.9.0
-oslo.i18n==3.9.0
-oslo.log==3.16.0
-oslo.messaging==5.10.0
-oslo.middleware==3.19.0
-oslo.serialization==2.13.0
-oslo.service==1.16.0
-oslo.utils==3.16.0
-osprofiler==1.4.0
-paramiko==2.0.2
-pattern==2.6
-pbr==1.10.0
-pika==0.10.0
+oauth2client==4.1.2
+openstacksdk==0.12.0
+os-client-config==1.29.0
+os-service-types==1.2.0
+osc-lib==1.10.0
+oslo.concurrency==3.26.0
+oslo.config==6.0.0
+oslo.context==2.20.0
+oslo.i18n==3.20.0
+oslo.log==3.37.0
+oslo.messaging==5.36.0
+oslo.middleware==3.35.0
+oslo.serialization==2.25.0
+oslo.service==1.30.0
+oslo.utils==3.36.0
+packaging==17.1
+paramiko==2.4.1
+pbr==4.0.0
 pika-pool==0.1.3
-ply==3.10
-positional==1.1.1
+pika==0.10.0
+pipdeptree==0.11.0
+ply==3.11
+plyxproto==3.0.1
+positional==1.2.1
 prettytable==0.7.2
 protobuf==3.5.2
-psycopg2==2.6.2
-pyOpenSSL==16.2.0
-pyasn1==0.1.9
-pyasn1-modules==0.0.8
+# Avoids a warning, see http://initd.org/psycopg/docs/faq.html#faq-compile
+psycopg2==2.7.4 --no-binary psycopg2
+pyOpenSSL==17.5.0
+pyasn1-modules==0.2.1
+pyasn1==0.4.2
 pycparser==2.18
-pycrypto==2.6.1
-pycurl==7.43.0
-pygraphviz==1.3.1
-pykwalify==1.6.0
-pyparsing==2.1.8
-python-cinderclient==1.8.0
-python-consul==0.7.0
-python-dateutil==2.5.3
-python-designateclient==2.3.0
-python-gflags==3.0.6
-python-glanceclient==2.5.0
-python-heatclient==1.4.0
-python-ironicclient==1.6.0
-python-keyczar==0.716
-python-keystoneclient==3.5.0
+pyinotify==0.9.6
+pykwalify==1.6.1
+pyparsing==2.2.0
+pyperclip==1.6.0
+python-cinderclient==3.5.0
+python-consul==0.7.2
+python-dateutil==2.7.2
+python-glanceclient==2.9.1
+python-keystoneclient==3.15.0
 python-logstash==0.4.6
-python-magnumclient==2.3.0
-python-mistralclient==2.1.0
 python-neutronclient==5.1.0
-python-novaclient==5.1.0
-python-openstackclient==3.1.0
-python-swiftclient==3.0.0
-python-troveclient==2.5.0
-repoze.lru==0.6
-requests==2.11.1
-requestsexceptions==1.1.3
-retrying==1.3.3
-rfc3986==0.4.1
+python-novaclient==10.1.0
+python-openstackclient==3.14.0
+pytz==2018.3
+redis==2.10.6
+repoze.lru==0.7
+requests==2.18.4
+requestsexceptions==1.4.0
+rfc3986==1.1.0
 rsa==3.4.2
-ruamel.ordereddict==0.4.9
-ruamel.yaml==0.11.15
-service_identity==17.0.0
-shade==1.9.0
-simplejson==3.8.2
+service-identity==17.0.0
+shade==1.27.1
+simplejson==3.13.2
 six==1.11.0
-stevedore==1.17.1
+statsd==3.2.2
+stevedore==1.28.0
 structlog==18.1.0
-supervisor==3.0b2
-texttable==0.8.7
-tosca-parser==0.8.1
-twisted==16.6.0
+subprocess32==3.2.7
+tenacity==4.9.0
+tosca-parser==0.9.0
+typing==3.6.4
 unicodecsv==0.14.1
-uritemplate==0.6
-urllib3==1.7.1
-warlock==1.2.0
-websocket_client==0.39.0
-werkzeug==0.11.15
-wheel==0.24.0
-wrapt==1.10.8
-wsgiref==0.1.2
-zope.interface==4.3.3
-redis==2.10.5
-astunparse==1.5.0
-plyxproto==3.0.1
-setuptools==38.5.2
+uritemplate==3.0.0
+urllib3==1.22
+vine==1.1.4
+warlock==1.3.0
+wrapt==1.10.11
+zope.interface==4.4.3
diff --git a/lib/xos-config/setup.py b/lib/xos-config/setup.py
index 098f544..777a7a1 100644
--- a/lib/xos-config/setup.py
+++ b/lib/xos-config/setup.py
@@ -31,5 +31,9 @@
       author='Matteo Scandolo',
       author_email='teo@onlab.us',
       packages=['xosconfig'],
-      include_package_data=True
+      include_package_data=True,
+      # TODO add all deps to the install_requires section
+      install_requires=[
+          'pykwalify>=1.6.0'
+          ]
      )
diff --git a/xos/core/models/core.xproto b/xos/core/models/core.xproto
index 2c3fbf1..07b4dd4 100644
--- a/xos/core/models/core.xproto
+++ b/xos/core/models/core.xproto
@@ -320,7 +320,7 @@
      required manytoone owner->Slice:ownedNetworks = 8 [help_text = "Slice that owns control of this Network", null = False, db_index = True, blank = False];
      required bool permit_all_slices = 10 [default = False, null = False, db_index = False, blank = True];
      required bool autoconnect = 17 [help_text = "This network can be autoconnected to the slice that owns it", default = True, null = False, db_index = False, blank = True];
-     required manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18 [db_index = False, null = False, blank = True];
+     required manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18 [db_index = False, blank = True];
 }
 
 
@@ -371,7 +371,7 @@
 }
 message NodeLabel (XOSBase) {
      required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "label name", null = False, db_index = False];
-     required manytomany node->Node/NodeLabel_node:nodelabels = 2 [db_index = False, null = False, blank = True];
+     required manytomany node->Node/NodeLabel_node:nodelabels = 2 [db_index = False, blank = True];
 }
 
 policy port_validator < (obj.instance.slice in obj.network.permitted_slices.all()) | (obj.instance.slice = obj.network.owner) | obj.network.permit_all_slices >
diff --git a/xos/synchronizers/new_base/ansible_helper.py b/xos/synchronizers/new_base/ansible_helper.py
index 210fa6d..a1332cb 100644
--- a/xos/synchronizers/new_base/ansible_helper.py
+++ b/xos/synchronizers/new_base/ansible_helper.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 
 # Copyright 2017-present Open Networking Foundation
 #
@@ -13,9 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-#!/usr/bin/env python
-
 import jinja2
 import tempfile
 import os
@@ -124,7 +122,7 @@
     f = open(fqp,'w')
     f.write(buffer)
     f.flush()
-    
+
     """
     q = Queue()
     p = Process(target=run_playbook, args=(ansible_hosts, ansible_config, fqp, opts, q,))
@@ -165,7 +163,7 @@
                     pass
 
             # FIXME (zdw, 2017-02-19) - may not be needed with new callback logging
-            
+
             ofile.write('%s: %s\n'%(x._task, str(x._result)))
 
 	    if (object):
@@ -202,8 +200,6 @@
         else:
             raise
 
-    
-            
     processed_results = map(lambda x:x._result, ok_results)
     return processed_results[1:] # 0 is setup
 
@@ -226,7 +222,7 @@
 
     (opts, fqp) = get_playbook_fn(opts, path)
     private_key_pathname = fqp + ".key"
-    config_pathname = fqp + ".config"
+    config_pathname = fqp + ".cfg"
     hosts_pathname = fqp + ".hosts"
 
     f = open(private_key_pathname, "w")
diff --git a/xos/synchronizers/new_base/ansible_runner.py b/xos/synchronizers/new_base/ansible_runner.py
index b7595f2..83eee03 100644
--- a/xos/synchronizers/new_base/ansible_runner.py
+++ b/xos/synchronizers/new_base/ansible_runner.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 
 # Copyright 2017-present Open Networking Foundation
 #
@@ -13,9 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-#!/usr/bin/env python
-
 import os
 import sys
 import pdb
@@ -26,8 +24,8 @@
 constants = reload(constants)
 
 from tempfile import NamedTemporaryFile
-from ansible.inventory import Inventory
-from ansible.vars import VariableManager
+from ansible.inventory.manager import InventoryManager
+from ansible.vars.manager import VariableManager
 from ansible.parsing.dataloader import DataLoader
 from ansible.executor import playbook_executor
 from ansible.utils.display import Display
@@ -218,56 +216,97 @@
     """
     Options class to replace Ansible OptParser
     """
-    def __init__(self, verbosity=None, inventory=None, listhosts=None, subset=None, module_paths=None, extra_vars=None,
-                 forks=None, ask_vault_pass=None, vault_password_files=None, new_vault_password_file=None,
-                 output_file=None, tags=None, skip_tags=None, one_line=None, tree=None, ask_sudo_pass=None, ask_su_pass=None,
-                 sudo=None, sudo_user=None, become=None, become_method=None, become_user=None, become_ask_pass=None,
-                 ask_pass=None, private_key_file=None, remote_user=None, connection=None, timeout=None, ssh_common_args=None,
-                 sftp_extra_args=None, scp_extra_args=None, ssh_extra_args=None, poll_interval=None, seconds=None, check=None,
-                 syntax=None, diff=None, force_handlers=None, flush_cache=None, listtasks=None, listtags=None, module_path=None):
-        self.verbosity = verbosity
-        self.inventory = inventory
-        self.listhosts = listhosts
-        self.subset = subset
-        self.module_paths = module_paths
-        self.extra_vars = extra_vars
-        self.forks = forks
-        self.ask_vault_pass = ask_vault_pass
-        self.vault_password_files = vault_password_files
-        self.new_vault_password_file = new_vault_password_file
-        self.output_file = output_file
-        self.tags = tags
-        self.skip_tags = skip_tags
-        self.one_line = one_line
-        self.tree = tree
-        self.ask_sudo_pass = ask_sudo_pass
+    def __init__(self,
+                 ask_pass=None,
+                 ask_su_pass=None,
+                 ask_sudo_pass=None,
+                 become=None,
+                 become_ask_pass=None,
+                 become_method=None,
+                 become_user=None,
+                 check=None,
+                 connection=None,
+                 diff=None,
+                 flush_cache=None,
+                 force_handlers=None,
+                 forks=1,
+                 listtags=None,
+                 listtasks=None,
+                 module_path=None,
+                 new_vault_password_file=None,
+                 one_line=None,
+                 output_file=None,
+                 poll_interval=None,
+                 private_key_file=None,
+                 remote_user=None,
+                 scp_extra_args=None,
+                 seconds=None,
+                 sftp_extra_args=None,
+                 skip_tags=None,
+                 ssh_common_args=None,
+                 ssh_extra_args=None,
+                 sudo=None,
+                 sudo_user=None,
+                 syntax=None,
+                 tags=None,
+                 timeout=None,
+                 tree=None,
+                 vault_password_files=None,
+                 ask_vault_pass=None,
+                 extra_vars=None,
+                 inventory=None,
+                 listhosts=None,
+                 module_paths=None,
+                 subset=None,
+                 verbosity=None
+                 ):
+
+        if tags:
+            self.tags = tags
+
+        if skip_tags:
+            self.skip_tags = skip_tags
+
+        self.ask_pass = ask_pass
         self.ask_su_pass = ask_su_pass
-        self.sudo = sudo
-        self.sudo_user = sudo_user
+        self.ask_sudo_pass = ask_sudo_pass
+        self.ask_vault_pass = ask_vault_pass
         self.become = become
+        self.become_ask_pass = become_ask_pass
         self.become_method = become_method
         self.become_user = become_user
-        self.become_ask_pass = become_ask_pass
-        self.ask_pass = ask_pass
+        self.check = check
+        self.connection = connection
+        self.diff = diff
+        self.extra_vars = extra_vars
+        self.flush_cache = flush_cache
+        self.force_handlers = force_handlers
+        self.forks = forks
+        self.inventory = inventory
+        self.listhosts = listhosts
+        self.listtags = listtags
+        self.listtasks = listtasks
+        self.module_path = module_path
+        self.module_paths = module_paths
+        self.new_vault_password_file = new_vault_password_file
+        self.one_line = one_line
+        self.output_file = output_file
+        self.poll_interval = poll_interval
         self.private_key_file = private_key_file
         self.remote_user = remote_user
-        self.connection = connection
-        self.timeout = timeout
-        self.ssh_common_args = ssh_common_args
-        self.sftp_extra_args = sftp_extra_args
         self.scp_extra_args = scp_extra_args
-        self.ssh_extra_args = ssh_extra_args
-        self.poll_interval = poll_interval
         self.seconds = seconds
-        self.check = check
+        self.sftp_extra_args = sftp_extra_args
+        self.ssh_common_args = ssh_common_args
+        self.ssh_extra_args = ssh_extra_args
+        self.subset = subset
+        self.sudo = sudo
+        self.sudo_user = sudo_user
         self.syntax = syntax
-        self.diff = diff
-        self.force_handlers = force_handlers
-        self.flush_cache = flush_cache
-        self.listtasks = listtasks
-        self.listtags = listtags
-        self.module_path = module_path
-
+        self.timeout = timeout
+        self.tree = tree
+        self.vault_password_files = vault_password_files
+        self.verbosity = verbosity
 
 class Runner(object):
 
@@ -299,20 +338,18 @@
         self.loader = DataLoader()
         try:
             self.loader.set_vault_password(os.environ['VAULT_PASS'])
-        except KeyError:
+        except AttributeError:
             pass
 
-        # All the variables from all the various places
-        self.variable_manager = VariableManager()
-        self.variable_manager.extra_vars = {} # self.run_data
-
         # Set inventory, using most of above objects
         if (host_file):
-            self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager, host_list = host_file)
+            self.inventory = InventoryManager(loader=self.loader, sources = host_file)
         else:
-            self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager)
+            self.inventory = InventoryManager(loader=self.loader)
 
-        self.variable_manager.set_inventory(self.inventory)
+        # All the variables from all the various places
+        self.variable_manager = VariableManager(loader=self.loader, inventory=self.inventory)
+        self.variable_manager.extra_vars = {} # self.run_data
 
         # Setup playbook executor, but don't run until run() called
         self.pbex = playbook_executor.PlaybookExecutor(
