Skip to content

Commit 841ad05

Browse files
committed
Fix #162 error PodEnvVar is missing its descriptor
Upgrading from 0.12 causes class org.csanchez.jenkins.plugins.kubernetes.PodEnvVar is missing its descriptor
1 parent 2f3ddda commit 841ad05

File tree

4 files changed

+39
-14
lines changed

4 files changed

+39
-14
lines changed

src/main/java/org/csanchez/jenkins/plugins/kubernetes/ContainerEnvVar.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,16 @@ public String toString() {
2323
return "ContainerEnvVar [getValue()=" + getValue() + ", getKey()=" + getKey() + "]";
2424
}
2525

26+
public Descriptor<KeyValueEnvVar> getDescriptor() {
27+
return new DescriptorImpl();
28+
}
29+
2630
@Extension
2731
@Symbol("containerEnvVar")
2832
/**
2933
* deprecated, use envVar
3034
*/
31-
public static class DescriptorImplContainer extends Descriptor<KeyValueEnvVar> {
35+
public static class DescriptorImpl extends Descriptor<KeyValueEnvVar> {
3236
@Override
3337
public String getDisplayName() {
3438
return "Environment Variable";

src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodEnvVar.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
package org.csanchez.jenkins.plugins.kubernetes;
22

33
import org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar;
4+
import org.jenkinsci.Symbol;
45
import org.kohsuke.stapler.DataBoundConstructor;
56

7+
import hudson.Extension;
8+
import hudson.model.Descriptor;
9+
610
/**
711
* Deprecated, use KeyValueEnvVar
812
*/
913
@Deprecated
1014
public class PodEnvVar extends KeyValueEnvVar {
1115

16+
private static final long serialVersionUID = 5426623531408300311L;
17+
1218
@DataBoundConstructor
1319
public PodEnvVar(String key, String value) {
1420
super(key, value);
@@ -18,4 +24,17 @@ public PodEnvVar(String key, String value) {
1824
public String toString() {
1925
return "PodEnvVar [getValue()=" + getValue() + ", getKey()=" + getKey() + "]";
2026
}
27+
28+
public Descriptor<KeyValueEnvVar> getDescriptor() {
29+
return new DescriptorImpl();
30+
}
31+
32+
@Extension
33+
@Symbol("podEnvVar")
34+
public static class DescriptorImpl extends Descriptor<KeyValueEnvVar> {
35+
@Override
36+
public String getDisplayName() {
37+
return "Global Environment Variable (applied to all containers)";
38+
}
39+
}
2140
}

src/test/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar;
3333
import org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume;
3434
import org.csanchez.jenkins.plugins.kubernetes.volumes.HostPathVolume;
35+
import org.junit.Before;
3536
import org.junit.Rule;
3637
import org.junit.Test;
3738
import org.jvnet.hudson.test.JenkinsRule;
@@ -47,22 +48,28 @@ public class KubernetesTest {
4748
@Rule
4849
public JenkinsRule r = new JenkinsRule();
4950

51+
private KubernetesCloud cloud;
52+
53+
@Before
54+
public void before() throws Exception {
55+
cloud = r.jenkins.clouds.get(KubernetesCloud.class);
56+
r.configRoundtrip();
57+
}
58+
5059
@Test
5160
@LocalData()
52-
public void upgradeFrom_0_8() {
53-
KubernetesCloud cloud = r.jenkins.clouds.get(KubernetesCloud.class);
61+
public void upgradeFrom_0_12() throws Exception {
5462
List<PodTemplate> templates = cloud.getTemplates();
5563
assertPodTemplates(templates);
64+
assertEquals(Arrays.asList(new KeyValueEnvVar("pod_a_key", "pod_a_value"),
65+
new KeyValueEnvVar("pod_b_key", "pod_b_value")), templates.get(0).getEnvVars());
5666
}
5767

5868
@Test
5969
@LocalData()
60-
public void upgradeFrom_0_12() {
61-
KubernetesCloud cloud = r.jenkins.clouds.get(KubernetesCloud.class);
70+
public void upgradeFrom_0_8() throws Exception {
6271
List<PodTemplate> templates = cloud.getTemplates();
6372
assertPodTemplates(templates);
64-
assertEquals(Arrays.asList(new KeyValueEnvVar("pod_a_key", "pod_a_value"),
65-
new KeyValueEnvVar("pod_b_key", "pod_b_value")), templates.get(0).getEnvVars());
6673
}
6774

6875
private void assertPodTemplates(List<PodTemplate> templates) {

src/test/resources/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest/upgradeFrom_0_12/config.xml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,8 @@
55
<numExecutors>2</numExecutors>
66
<mode>NORMAL</mode>
77
<useSecurity>true</useSecurity>
8-
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
9-
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
10-
</authorizationStrategy>
11-
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
12-
<disableSignup>true</disableSignup>
13-
<enableCaptcha>false</enableCaptcha>
14-
</securityRealm>
8+
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
9+
<securityRealm class="hudson.security.SecurityRealm$None"/>
1510
<disableRememberMe>false</disableRememberMe>
1611
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
1712
<workspaceDir>/var/jenkins_home/workspace/</workspaceDir>

0 commit comments

Comments
 (0)