I am trying to change our kubernetes yaml files so that they are generated by a tool. This tool creates the files and they are saved as artifacts and then passed to the step that runs the kubectl-run pipe. The kubectl-run pipe tries to modify these files and fails with the error
Traceback (most recent call last):
File "/pipe.py", line 121, in <module>
pipe.run()
File "/pipe.py", line 112, in run
self.handle_apply()
File "/pipe.py", line 77, in handle_apply
self.update_labels_in_metadata(template_file, labels)
File "/pipe.py", line 33, in update_labels_in_metadata
with open(template, 'w') as template_file:
PermissionError: [Errno 13] Permission denied: 'kubernetes/foo-service-staging-deployment.yml'
It appears that this is caused by the pipe attempting to add some metadata about the bitbucket build, etc. This metadata is nice but not necessary. It would be better if the pipe would wrap the write in a try/catch so that the pipe doesn't fail if it can't be added.
@cgray i see one of possible root cause that you may set the owner while working with files or file that you will pass as RESOURCE_PATH variable.
If that helps you, try executing such lines before running a pipe:
chmod +rw $RESOURCE_PATH (adding -R option if resource path is a folder, not a single file).
Looking forward to see your feedback. In the meantime we'll try to reproduce this edgecase.
Thank you for raising question.
Regards, Galyna
Yes that works. Thank you for your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.