Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-47827

Support passing a user/uid into containerTemplate

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Major Major
    • kubernetes-plugin
    • None
    • kubernetes 1.7.3
      kubernetes-plugin 1.1
      jenkins 2.83
    • Fixed

      Currently, the kubernetes plugin can't run jobs in containers that have unpriveleged users baked into their image metadata. 

      Supporting jobs running as unpriveleged users is a more difficult task. Maybe a minimal solution to this is to allow the user to override the user. Kubernetes supports this, so it should be reasonably straight forward to add a "user" field to the containerTemplate() call.

       

      When a job is run as an unpriveleged user, we see the following error:

       

      // running a job as any user other than root
      sh: 1: cannot create /home/jenkins/workspace/CS-Core-Speedy@tmp/durable-b7e7d045/pid: Permission denied
      sh: 1: cannot create /home/jenkins/workspace/CS-Core-Speedy@tmp/durable-b7e7d045/jenkins-log.txt: Permission denied
      sh: 1: cannot create /home/jenkins/workspace/CS-Core-Speedy@tmp/durable-b7e7d045/jenkins-result.txt: Permission denied
      

       

          [JENKINS-47827] Support passing a user/uid into containerTemplate

          Why not supporting passing the runAsUser throught the containerTemplate ? It would be very useful for many and easier to maintain instead of YAML files..

          Valentin Delaye added a comment - Why not supporting passing the runAsUser throught the containerTemplate ? It would be very useful for many and easier to maintain instead of YAML files..

          Feel free to open a PR

          Carlos Sanchez added a comment - Feel free to open a PR

          Ivan Martinez added a comment -

          I agree with other users it would be quite helpful to add support through containerTemplate. 

          Ivan Martinez added a comment - I agree with other users it would be quite helpful to add support through containerTemplate. 

          ASHOK MOHANTY added a comment -

          Thanks, any update when can we expect the fix !!

          ASHOK MOHANTY added a comment - Thanks, any update when can we expect the fix !!

          Ohhh so cool to see it's in progress

          Valentin Delaye added a comment - Ohhh so cool to see it's in progress

          elhay efrat added a comment -

          elhay efrat added a comment - Guys can you please approve  [JENKINS-47827 ] adding support Support passing a user/uid into containerTemplate    

          elhay efrat added a comment -

          Waiting for code review and merge no conflicts and test covered and pass 

          elhay efrat added a comment - Waiting for code review and merge no conflicts and test covered and pass 

          elhay efrat added a comment -

          Guys, should I close it and close the PR? I see that there is a lot of people that resist this change adding this functionality, I have added it locally in our Jenkins because I have no time for endless conversions  

          elhay efrat added a comment - Guys, should I close it and close the PR? I see that there is a lot of people that resist this change adding this functionality, I have added it locally in our Jenkins because I have no time for endless conversions  

          Oh no, what a shame really... Waiting for this feature since long time.

          Valentin Delaye added a comment - Oh no, what a shame really... Waiting for this feature since long time.

          elhay efrat added a comment -

          jonesbusy i finished adding it , only test not finished yet , but as i understand i got blocked   

          elhay efrat added a comment - jonesbusy i finished adding it , only test not finished yet , but as i understand i got blocked   

            elhay elhay efrat
            mogthesprog Morgan Jones
            Votes:
            5 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: