the workaround to specify --environment-directory does not work, at least in queens, the .tripleo/environment directory is still being read. A file is being added here when one uses the upload-puppet-modules utility:
# normal undercloud (undercloud) [stack@s1undercloud-0 ~]$ openstack overcloud container image prepare container_images: - imagename: docker.io/tripleomaster/centos-binary-aodh-api:current-tripleo - imagename: docker.io/tripleomaster/centos-binary-aodh-evaluator:current-tripleo
# ..etc
# then upload-puppet-modules on plain puppet files:
(undercloud) [stack@s1undercloud-0 ~]$ mkdir -p tripleo-patch/puppet-tripleo (undercloud) [stack@s1undercloud-0 ~]$ cp -R /usr/share/openstack-puppet/modules/tripleo tripleo-patch/puppet-tripleo/ (undercloud) [stack@s1undercloud-0 ~]$ upload-puppet-modules -d tripleo-patch/puppet-tripleo Creating tarball... Tarball created. Creating new Swift Temp-URL-Key for container: overcloud-artifacts Creating heat environment file: /home/stack/.tripleo/environments/puppet-modules-url.yaml Uploading file to swift: /tmp/puppet-modules-h0MEFmT/puppet-modules.tar.gz +-----------------------+---------------------+----------------------------------+ | object | container | etag | +-----------------------+---------------------+----------------------------------+ | puppet-modules.tar.gz | overcloud-artifacts | 096bca64ab6da1058096d64d1840e66e | +-----------------------+---------------------+----------------------------------+ Upload complete.
# now image prepare is non-functional:
(undercloud) [stack@s1undercloud-0 ~]$ openstack overcloud container image prepare container_images: []
# same if you use --environment-directory:
(undercloud) [stack@s1undercloud-0 ~]$ openstack overcloud container image prepare --environment-directory=/tmp/ container_images: []
# remove the puppet-modules-url.yaml file, it works again:
(undercloud) [stack@s1undercloud-0 ~]$ mv .tripleo/environments/puppet-modules-url.yaml . (undercloud) [stack@s1undercloud-0 ~]$ openstack overcloud container image prepare --environment-directory=./foo/ container_images: - imagename: docker.io/tripleomaster/centos-binary-aodh-api:current-tripleo - imagename: docker.io/tripleomaster/centos-binary-aodh-evaluator:current-tripleo - imagename: docker.io/tripleomaster/centos-binary-aodh-listener:current-tripleo
I am at least super glad I found this issue because it's been driving me nuts for weeks.
the workaround to specify --environment- directory does not work, at least in queens, the .tripleo/ environment directory is still being read. A file is being added here when one uses the upload- puppet- modules utility:
# normal undercloud s1undercloud- 0 ~]$ openstack overcloud container image prepare io/tripleomaste r/centos- binary- aodh-api: current- tripleo io/tripleomaste r/centos- binary- aodh-evaluator: current- tripleo
(undercloud) [stack@
container_images:
- imagename: docker.
- imagename: docker.
# ..etc
# then upload- puppet- modules on plain puppet files:
(undercloud) [stack@ s1undercloud- 0 ~]$ mkdir -p tripleo- patch/puppet- tripleo s1undercloud- 0 ~]$ cp -R /usr/share/ openstack- puppet/ modules/ tripleo tripleo- patch/puppet- tripleo/ s1undercloud- 0 ~]$ upload- puppet- modules -d tripleo- patch/puppet- tripleo .tripleo/ environments/ puppet- modules- url.yaml modules- h0MEFmT/ puppet- modules. tar.gz ------- ------- ---+--- ------- ------- ----+-- ------- ------- ------- ------- ----+ ------- ------- ---+--- ------- ------- ----+-- ------- ------- ------- ------- ----+ modules. tar.gz | overcloud-artifacts | 096bca64ab6da10 58096d64d1840e6 6e | ------- ------- ---+--- ------- ------- ----+-- ------- ------- ------- ------- ----+
(undercloud) [stack@
(undercloud) [stack@
Creating tarball...
Tarball created.
Creating new Swift Temp-URL-Key for container: overcloud-artifacts
Creating heat environment file: /home/stack/
Uploading file to swift: /tmp/puppet-
+------
| object | container | etag |
+------
| puppet-
+------
Upload complete.
# now image prepare is non-functional:
(undercloud) [stack@ s1undercloud- 0 ~]$ openstack overcloud container image prepare
container_images: []
# same if you use --environment- directory:
(undercloud) [stack@ s1undercloud- 0 ~]$ openstack overcloud container image prepare --environment- directory= /tmp/
container_images: []
# remove the puppet- modules- url.yaml file, it works again:
(undercloud) [stack@ s1undercloud- 0 ~]$ mv .tripleo/ environments/ puppet- modules- url.yaml . s1undercloud- 0 ~]$ openstack overcloud container image prepare --environment- directory= ./foo/ io/tripleomaste r/centos- binary- aodh-api: current- tripleo io/tripleomaste r/centos- binary- aodh-evaluator: current- tripleo io/tripleomaste r/centos- binary- aodh-listener: current- tripleo
(undercloud) [stack@
container_images:
- imagename: docker.
- imagename: docker.
- imagename: docker.
I am at least super glad I found this issue because it's been driving me nuts for weeks.