Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

kubectl-run pipe tries to write unmodifiable artifact

cgray May 3, 2021

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.

1 answer

1 accepted

0 votes
Answer accepted
Halyna Berezovska
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 5, 2021

@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

cgray May 5, 2021

Yes that works.  Thank you for your help.

Like Halyna Berezovska likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events