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

This issue is archived. You can view it, but you can't modify it. Learn more

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());
          }
      

            Assignee:
            Vincent Latombe
            Reporter:
            Kyle Cronin
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: