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

Container and Pod template runAsGroup and runAsUser default to root on config roundtrip

XMLWordPrintable

    • kubernetes-1.21.0

      version 1.20.2 introduced runAsUser and runAsGroup properties but the config round trip defaults the value to 0 which is the root user. This is probably not what is intended and happens to breaks certain environments where the containers are expected to run with default user and group ids. This can be demonstrated with a simple test in KubernetesCloudTest.java

      @Test
          public void defaultRoundTrip() throws Exception {
              KubernetesCloud cloud = new KubernetesCloud("kubernetes");
              ContainerTemplate ct = new ContainerTemplate("jnlp", "jenkins:jnlp");
              assertNull(ct.getRunAsUser());
              assertNull(ct.getRunAsGroup());
              PodTemplate pt = new PodTemplate("default", new ArrayList<>(), Arrays.asList(ct));
              cloud.addTemplate(pt);
              j.jenkins.clouds.add(cloud);
              j.jenkins.save();
              // roundtrip
              j.configRoundtrip();
              cloud = j.jenkins.clouds.get(KubernetesCloud.class);
              PodTemplate podTemplate = cloud.getTemplates().get(0);
              assertNull(podTemplate.getRunAsGroup());
              assertNull(podTemplate.getRunAsUser());
              ContainerTemplate containerTemplate = podTemplate.getContainers().get(0);
              assertNull(podTemplate.getRunAsUser());
              assertNull(containerTemplate.getRunAsUser());
          }
      

            vlatombe Vincent Latombe
            kylecronin Kyle Cronin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: