Some relevant logs when running the overcloud deploy command with --debug Environment directory: environments-ssl Environment directory file: environments-ssl/01-puppet-pacemaker.yaml Environment directory file: environments-ssl/02-network-isolation.yaml Environment directory file: environments-ssl/03-ips-from-pool-all.yaml Environment directory file: environments-ssl/04-storage-environment.yaml Environment directory file: environments-ssl/05-enable-tls.yaml Environment directory file: environments-ssl/06-tls-endpoints-public-dns.yaml Environment directory file: environments-ssl/10-nuclab-host-definitions.yaml Environment directory file: environments-ssl/11-nuclab-storage-environment.yaml Environment directory file: environments-ssl/12-nuclab-network-environment.yaml Environment directory file: environments-ssl/13-nuclab-customisations.yaml Environment directory file: environments-ssl/14-nuclab-enable-ssl.yaml Processing environment files ['/home/stack/overcloud-env.json', u'environments-ssl/01-puppet-pacemaker.yaml', u'environments-ssl/02-network-isolation.yaml', u'environments-ssl/03-ips-from-pool-all.yaml', u'environments-ssl/04-storage-environment.yaml', u'environments-ssl/05-enable-tls.yaml', u'environments-ssl/06-tls-endpoints-public-dns.yaml', u'environments-ssl/10-nuclab-host-definitions.yaml', u'environments-ssl/11-nuclab-storage-environment.yaml', u'environments-ssl/12-nuclab-network-environment.yaml', u'environments-ssl/13-nuclab-customisations.yaml', u'environments-ssl/14-nuclab-enable-ssl.yaml'] Processing environment files /home/stack/overcloud-env.json Processing environment files environments-ssl/01-puppet-pacemaker.yaml Error Could not fetch contents for file:///home/stack/nuclab-tripleo/openstack-deployment/puppet/services/pacemaker/rabbitmq.yaml processing environment file environments-ssl/01-puppet-pacemaker.yaml Rewriting environments-ssl/01-puppet-pacemaker.yaml environment to /tmp/tripleoclient-NgU9zS/tripleo-heat-templates/env-haproxy-Eqxtrc.yaml Processing environment files environments-ssl/02-network-isolation.yaml Error Could not fetch contents for file:///home/stack/nuclab-tripleo/openstack-deployment/network/ports/internal_api.yaml processing environment file environments-ssl/02-network-isolation.yaml Rewriting environments-ssl/02-network-isolation.yaml environment to /tmp/tripleoclient-NgU9zS/tripleo-heat-templates/env-noop-jgHLkX.yaml Processing environment files environments-ssl/03-ips-from-pool-all.yaml Error Could not fetch contents for file:///home/stack/nuclab-tripleo/openstack-deployment/network/ports/noop.yaml processing environment file environments-ssl/03-ips-from-pool-all.yaml Rewriting environments-ssl/03-ips-from-pool-all.yaml environment to /tmp/tripleoclient-NgU9zS/tripleo-heat-templates/env-storage_from_pool-QT9JSS.yaml Processing environment files environments-ssl/04-storage-environment.yaml Error Could not fetch contents for file:///home/stack/nuclab-tripleo/openstack-deployment/puppet/services/ceph-client.yaml processing environment file environments-ssl/04-storage-environment.yaml Rewriting environments-ssl/04-storage-environment.yaml environment to /tmp/tripleoclient-NgU9zS/tripleo-heat-templates/env-ceph-mon-UXWcV_.yaml Processing environment files environments-ssl/05-enable-tls.yaml Error Could not fetch contents for file:///home/stack/nuclab-tripleo/openstack-deployment/puppet/extraconfig/tls/tls-cert-inject.yaml processing environment file environments-ssl/05-enable-tls.yaml Rewriting environments-ssl/05-enable-tls.yaml environment to /tmp/tripleoclient-NgU9zS/tripleo-heat-templates/env-tls-cert-inject-qKlVUZ.yaml Processing environment files environments-ssl/06-tls-endpoints-public-dns.yaml Processing environment files environments-ssl/10-nuclab-host-definitions.yaml Processing environment files environments-ssl/11-nuclab-storage-environment.yaml Processing environment files environments-ssl/12-nuclab-network-environment.yaml Processing environment files environments-ssl/13-nuclab-customisations.yaml Processing environment files environments-ssl/14-nuclab-enable-ssl.yaml You can see that the environment registry part of the symlinked environment files doesn't get populated as the paths the files is referencing is wrong. This is the same if I copy the files in directly from templates. However, if I copy the files in from templates, then edit their resource registries to have the right path, it works. I think this needs to be changed to be more intelligent if we hope to have people use --environment-directory and existing environment files from tht. Also we could do with better error message (and the deploy failing) when this problem occurs, instead of attempting to do the deploy with the files not included leading to inconsistent and confusing results.