Just FYI, I made it past this particular problem by editing the deploy script and setting more open permissions on that file. However, I then run into another issue. I will figure this out, but just wanted to mention it here. Thanks for all your work on this open source project, I think it's great and am looking forward to getting an all in one node up and running. :)

Current error message:

2018-10-22 01:11:54,269 ERROR    - - - promenade.config:__init__ [ 35] An unknown Deckhand exception occurred while trying to render documents.
Traceback (most recent call last):
  File "/opt/promenade/promenade/config.py", line 32, in __init__
    documents = [dict(d) for d in deckhand_eng.render()]
  File "/usr/local/lib/python3.6/site-packages/deckhand/engine/layering.py", line 699, in render
    pass
  File "/usr/local/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/local/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/deckhand/engine/layering.py", line 693, in render
    self.secrets_substitution.substitute_all(doc))
  File "/usr/local/lib/python3.6/site-packages/deckhand/engine/secrets_manager.py", line 307, in substitute_all
    src_doc, document)
  File "/usr/local/lib/python3.6/site-packages/deckhand/engine/secrets_manager.py", line 229, in _check_src_secret_is_not_none
    dest_name=dest_doc.name)
deckhand.errors.SubstitutionSourceDataNotFound: Required substitution source secret was not found at path .dns.node_domain in source document [pegleg/CommonAddresses/v1, site] common-addresses which is referenced by destination document [promenade/Genesis/v1, global] genesis under its `metadata.substitutions`.
2018-10-22 01:11:54,270 ERROR    - - - promenade.exceptions:display [222] Required substitution source secret was not found at path .dns.node_domain in source document [pegleg/CommonAddresses/v1, site] common-addresses which is referenced by destination document [promenade/Genesis/v1, global] genesis under its `metadata.substitutions`.
+ error 'generating genesis'
+ set +x
Error when generating genesis.
+ exit 1
+ clean
+ set +x
To remove files generated during this script's execution, delete /root/deploy.
This VM is disposable. Re-deployment in this same VM will lead to unpredictable results.


Thanks,
Curtis

On Sun, Oct 21, 2018 at 11:05 AM Curtis <serverascode@gmail.com> wrote:
Hi,

I looked around a fair bit and am not sure where to enter bugs in the airship project. This is probably my fault...I found some items in the stories application, but I'm not sure if that is the best place.

I tried airship-in-a-bottle this morning, but when promenade runs it fails with a file permission error.

SNIP!
Status: Downloaded newer image for quay.io/airshipit/promenade:master
+ PORT=9000
+ UWSGI_TIMEOUT=300
+ PROMENADE_THREADS=1
+ PROMENADE_WORKERS=4
+ '[' promenade = server ']'
+ exec promenade generate-certs -o /target deployment_files.yaml
/usr/local/lib/python3.6/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.23) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
Usage: promenade generate-certs [OPTIONS] [CONFIG_FILES]...

Error: Invalid value for "config_files": Could not open file: deployment_files.yaml: Permission denied
+ cp /root/deploy/genesis/certificates.yaml /root/deploy/airship-in-a-bottle/deployment_files/site/demo/secrets
cp: cannot stat '/root/deploy/genesis/certificates.yaml': No such file or directory
+ error 'setting up certs with Promenade'
+ set +x
Error when setting up certs with Promenade.
+ exit 1
+ clean
+ set +x
To remove files generated during this script's execution, delete /root/deploy.
This VM is disposable. Re-deployment in this same VM will lead to unpredictable results.


Looks like the promenade user can't access the deployment_files.yaml file.

If I exec in to a promenade container...

promenade@acd8e1ec1b9d:/target$ cat deployment_files.yaml
cat: deployment_files.yaml: Permission denied
promenade@acd8e1ec1b9d:/target$ ls -la
total 328
drwxrwxrwx+  2 root root   4096 Oct 21 14:31 .
drwxr-xr-x+ 79 root root   4096 Oct 21 14:56 ..
-rw-------   1 root root 324269 Oct 21 14:31 deployment_files.yaml

Thanks,
Curtis


--
Blog: serverascode.com