Update The problem is not layer-basic the problem is dependencies. Several dependencies try to install newer versions of setuptools and setuptools_scm. By adding setuptools<42.0.0 to octavia's wheelhouse.txt we get past the `allow-hosts` error. However that is just the beginning of trobules. Several other dependecies including importlib-resources and cmd2 want setuptools_scm. I have yet to get a succesfull deploy. NOTE this include building on Xenial. With a wheelhouse: setuptools<42.0.0 Jinja2<=2.10.1 keystoneauth1 pbr python-novaclient python-neutronclient # REMOVEME -- fix for https://github.com/pyparsing/pyparsing/issues/164 pyparsing==2.4.2 neutron_lib pytest-runner # python-zipp 2.x introduces a requirement for setuptools 42.x which is not available. # resolve conflict: # layer-basic requires setuptools<42, zipp>=2.0.0 requires setuptools>42 # LP: #1862186 zipp < 2.0.0 On Bionic because the allow-hosts block is working we run into: unit-octavia-0: 22:54:31 DEBUG unit.octavia/0.install Collecting importlib-resources unit-octavia-0: 22:54:31 DEBUG unit.octavia/0.install Installing build dependencies: started unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Installing build dependencies: finished with status 'error' unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Complete output from command /var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-by707cp0 --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=30.3 wheel setuptools_scm[toml]>=3.4.1: unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Looking in links: wheelhouse unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Collecting setuptools>=30.3 unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Collecting wheel unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Collecting setuptools_scm[toml]>=3.4.1 unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Could not find a version that satisfies the requirement setuptools_scm[toml]>=3.4.1 (from versions: 1.17.0) unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install No matching distribution found for setuptools_scm[toml]>=3.4.1 unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install ---------------------------------------- unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Command "/var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-by707cp0 --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=30.3 wheel setuptools_scm[toml]>=3.4.1" failed with error code 1 in None unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install Traceback (most recent call last): unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install File "/var/lib/juju/agents/unit-octavia-0/charm/hooks/install", line 8, in unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install basic.bootstrap_charm_deps() unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install File "lib/charms/layer/basic.py", line 207, in bootstrap_charm_deps unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install env=_get_subprocess_env()) unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install File "/usr/lib/python3.6/subprocess.py", line 311, in check_call unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install raise CalledProcessError(retcode, cmd) unit-octavia-0: 22:54:32 DEBUG unit.octavia/0.install subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-octavia-0/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'iso8601', 'sqlalchemy-migrate', 'traceback2', 'MarkupSafe', 'fasteners', 'WebTest', 'msgpack', 'pytest-runner', 'dogpile.cache', 'idna', 'oslo.log', 'colorama', 'testresources', 'osc-lib', 'importlib-metadata', 'testscenarios', 'cryptography', 'python-keystoneclient', 'fixtures', 'python-mimeparse', 'pyaml', 'jmespath', 'eventlet', 'jsonpatch', 'os-service-types', 'Paste', 'monotonic', 'alembic', 'oslo.db', 'waitress', 'oslo.versionedobjects', 'charmhelpers', 'os-ken', 'neutron-lib', 'decorator', 'logutils', 'pbr', 'amqp', 'unittest2', 'SQLAlchemy', 'pyinotify', 'sortedcontainers', 'wrapt', 'pyperclip', 'tinyrpc', 'prettytable', 'psutil', 'stevedore', 'beautifulsoup4', 'pytz', 'jsonpointer', 'sqlparse', 'wheel', 'WebOb', 'chardet', 'python-editor', 'repoze.lru', 'oslo.context', 'argparse', 'rfc3986', 'futurist', 'cliff', 'zipp', 'pecan', 'openstacksdk', 'oslo.concurrency', 'python-novaclient', 'os-client-config', 'oslo.service', 'oslo.middleware', 'wcwidth', 'cffi', 'oslo.policy', 'Jinja2', 'oslo.i18n', 'certifi', 'Mako', 'pyparsing', 'charms.openstack', 'PasteDeploy', 'appdirs', 'six', 'importlib-resources', 'PyYAML', 'yappi', 'attrs', 'netaddr', 'ovs', 'cachetools', 'oslo.config', 'oslo.messaging', 'cmd2', 'vine', 'simplejson', 'oslo.serialization', 'kombu', 'osprofiler', 'oslo.utils', 'python-neutronclient', 'requestsexceptions', 'pycparser', 'setproctitle', 'linecache2', 'requests', 'dnspython', 'urllib3', 'os-traits', 'soupsieve', 'munch', 'Routes', 'statsd', 'testtools', 'extras', 'charms.reactive', 'python-dateutil', 'Tempita', 'debtcollector', 'keystoneauth1', 'greenlet', 'netifaces']' returned non-zero exit status 1. It is possible this is the wrong approach, and we should install later versions of setuptools and abandon allow-hosts but this leads to wait time in egresss firewalled enviorments. We have more to discuss on how to solve this.