Wrong package in kubernetes and java pulumi
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 85
- Forks
- 26
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 22
Description
What happened?
When I create a simple EKS cluster, I get the following package error:
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: com/pulumi/kubernetes/core_v1/ConfigMap
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Caused by: java.lang.NoClassDefFoundError: com/pulumi/kubernetes/core_v1/ConfigMap
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3578)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2676)
at com.pulumi.serialization.internal.Converter.processSetters(Converter.java:851)
at com.pulumi.serialization.internal.Converter.collectSetters(Converter.java:847)
at com.pulumi.serialization.internal.Converter.checkTargetType(Converter.java:829)
at com.pulumi.serialization.internal.Converter.checkTargetType(Converter.java:675)
at com.pulumi.serialization.internal.Converter.convertValue(Converter.java:78)
at com.pulumi.core.internal.OutputCompletionSource.setValue(OutputCompletionSource.java:95)
at com.pulumi.deployment.internal.DeploymentImpl$ReadOrRegisterResourceInternal.lambda$completeResourceAsync$0(DeploymentImpl.java:1187)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.pulumi.kubernetes.core_v1.ConfigMap
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 17 more
The right package from com.pulumi:kubernetes 4.3.0 is com.pulumi.kubernetes.core.v1.ConfigMap with a . and not a _
Example
import com.pulumi.eks.Cluster;
import com.pulumi.eks.ClusterArgs;
public class EKS {
public Cluster createEKS(Network network, Context ctx) {
Role role = getClusterRole();
var cluster = new Cluster("pulumi-cluster", ClusterArgs.builder()
.minSize(2)
.maxSize(5)
.desiredCapacity(2)
.vpcId(network.vpc().id())
.version("1.27")
.instanceType("t2.small")
.publicSubnetIds(network.subnetsEksId())
.privateSubnetIds(network.subnetsEksId())
.serviceRole(role)
.build());
}
private Role getClusterRole() {
var role = new Role("pulumi-eks-role", RoleArgs.builder()
.assumeRolePolicy(
"""
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
""").build());
new RolePolicyAttachment("pulumi-eks-policy-attachment",
RolePolicyAttachmentArgs.builder()
.policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
.role(role.id()).build());
return role;
}
}
Output of pulumi about
CLI
Version 3.84.0
Go Version go1.21.1
Go Compiler gc
Plugins
NAME VERSION
aws 6.3.0
eks 1.0.3
java unknown
kubernetes 4.3.0
Host
OS darwin
Version 12.4
Arch x86_64
This project is written in java: executable='/usr/bin/java' version='java 21 2023-09-19 LTS
Java(TM) SE Runtime Environment (build 21+35-LTS-2513)
Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode, sharing)' maven='Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)' java='/usr/bin/java' javac='21'
Current Stack: organization/poc-pulumi/dev
TYPE URN
pulumi:pulumi:Stack urn:pulumi:dev::poc-pulumi::pulumi:pulumi:Stack::poc-pulumi-dev
pulumi:providers:aws urn:pulumi:dev::poc-pulumi::pulumi:providers:aws::default_6_3_0
aws:ec2/vpc:Vpc urn:pulumi:dev::poc-pulumi::aws:ec2/vpc:Vpc::pulumi
aws:iam/role:Role urn:pulumi:dev::poc-pulumi::aws:iam/role:Role::pulumi-eks-node-role
aws:iam/group:Group urn:pulumi:dev::poc-pulumi::aws:iam/group:Group::pulumi-eks-group
aws:ec2/internetGateway:InternetGateway urn:pulumi:dev::poc-pulumi::aws:ec2/internetGateway:InternetGateway::pulumi-gw
aws:iam/policy:Policy urn:pulumi:dev::poc-pulumi::aws:iam/policy:Policy::pulumi-eks-admin-policy
aws:iam/role:Role urn:pulumi:dev::poc-pulumi::aws:iam/role:Role::pulumi-eks-role
aws:ec2/routeTable:RouteTable urn:pulumi:dev::poc-pulumi::aws:ec2/routeTable:RouteTable::pulumi-rt
aws:ec2/subnet:Subnet urn:pulumi:dev::poc-pulumi::aws:ec2/subnet:Subnet::pulumi-subnet-eks-a
aws:ec2/subnet:Subnet urn:pulumi:dev::poc-pulumi::aws:ec2/subnet:Subnet::pulumi-subnet-ec2
aws:ec2/subnet:Subnet urn:pulumi:dev::poc-pulumi::aws:ec2/subnet:Subnet::pulumi-subnet-rds-a
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-eks-policy-node-attachment-1
aws:ec2/subnet:Subnet urn:pulumi:dev::poc-pulumi::aws:ec2/subnet:Subnet::pulumi-subnet-rds-b
aws:ec2/defaultSecurityGroup:DefaultSecurityGroup urn:pulumi:dev::poc-pulumi::aws:ec2/defaultSecurityGroup:DefaultSecurityGroup::pulumi-sg
aws:ec2/subnet:Subnet urn:pulumi:dev::poc-pulumi::aws:ec2/subnet:Subnet::pulumi-subnet-eks-b
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-eks-policy-node-attachment-2
aws:iam/groupPolicyAttachment:GroupPolicyAttachment urn:pulumi:dev::poc-pulumi::aws:iam/groupPolicyAttachment:GroupPolicyAttachment::pulumi-eks-group-attachment
aws:ec2/internetGatewayAttachment:InternetGatewayAttachment urn:pulumi:dev::poc-pulumi::aws:ec2/internetGatewayAttachment:InternetGatewayAttachment::pulumi-gw-attachment
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-eks-policy-attachment
aws:ec2/route:Route urn:pulumi:dev::poc-pulumi::aws:ec2/route:Route::pulumi-route
aws:ec2/routeTableAssociation:RouteTableAssociation urn:pulumi:dev::poc-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::pulumi-rt-association-1
aws:ec2/routeTableAssociation:RouteTableAssociation urn:pulumi:dev::poc-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::pulumi-rt-association-2
aws:ec2/routeTableAssociation:RouteTableAssociation urn:pulumi:dev::poc-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::pulumi-rt-association-5
aws:ec2/routeTableAssociation:RouteTableAssociation urn:pulumi:dev::poc-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::pulumi-rt-association-3
aws:ec2/routeTableAssociation:RouteTableAssociation urn:pulumi:dev::poc-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::pulumi-rt-association-4
pulumi:providers:eks urn:pulumi:dev::poc-pulumi::pulumi:providers:eks::default_2_0_0_alpha_2_4accbaf2
pulumi:providers:pulumi urn:pulumi:dev::poc-pulumi::pulumi:providers:pulumi::default
pulumi:providers:aws urn:pulumi:dev::poc-pulumi::pulumi:providers:aws::default_6_0_4
eks:index:Cluster urn:pulumi:dev::poc-pulumi::eks:index:Cluster::pulumi-cluster
eks:index:ServiceRole urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:ServiceRole::pulumi-cluster-instanceRole
pulumi:providers:eks urn:pulumi:dev::poc-pulumi::pulumi:providers:eks::default
eks:index:RandomSuffix urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:RandomSuffix::pulumi-cluster-cfnStackName
aws:iam/role:Role urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:ServiceRole$aws:iam/role:Role::pulumi-cluster-instanceRole-role
aws:ec2/securityGroup:SecurityGroup urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroup:SecurityGroup::pulumi-cluster-eksClusterSecurityGroup
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:ServiceRole$aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-cluster-instanceRole-03516f97
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:ServiceRole$aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-cluster-instanceRole-3eb088f2
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksClusterInternetEgressRule
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:ServiceRole$aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-cluster-instanceRole-e1b295bd
aws:iam/instanceProfile:InstanceProfile urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:iam/instanceProfile:InstanceProfile::pulumi-cluster-instanceProfile
aws:eks/cluster:Cluster urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:eks/cluster:Cluster::pulumi-cluster-eksCluster
pulumi:providers:kubernetes urn:pulumi:dev::poc-pulumi::eks:index:Cluster$pulumi:providers:kubernetes::pulumi-cluster-eks-k8s
aws:ec2/securityGroup:SecurityGroup urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroup:SecurityGroup::pulumi-cluster-nodeSecurityGroup
kubernetes:core/v1:ConfigMap urn:pulumi:dev::poc-pulumi::eks:index:Cluster$kubernetes:core/v1:ConfigMap::pulumi-cluster-nodeAccess
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksClusterIngressRule
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksNodeIngressRule
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksNodeInternetEgressRule
eks:index:VpcCni urn:pulumi:dev::poc-pulumi::eks:index:Cluster$eks:index:VpcCni::pulumi-cluster-vpc-cni
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksExtApiServerClusterIngressRule
aws:ec2/launchConfiguration:LaunchConfiguration urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/launchConfiguration:LaunchConfiguration::pulumi-cluster-nodeLaunchConfiguration
aws:ec2/securityGroupRule:SecurityGroupRule urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::pulumi-cluster-eksNodeClusterIngressRule
aws:cloudformation/stack:Stack urn:pulumi:dev::poc-pulumi::eks:index:Cluster$aws:cloudformation/stack:Stack::pulumi-cluster-nodes
pulumi:providers:kubernetes urn:pulumi:dev::poc-pulumi::eks:index:Cluster$pulumi:providers:kubernetes::pulumi-cluster-provider
aws:eks/cluster:Cluster urn:pulumi:dev::poc-pulumi::aws:eks/cluster:Cluster::pulumi-cluster
aws:eks/addon:Addon urn:pulumi:dev::poc-pulumi::aws:eks/addon:Addon::vpc-cni
aws:eks/addon:Addon urn:pulumi:dev::poc-pulumi::aws:eks/addon:Addon::kube-proxy
aws:eks/addon:Addon urn:pulumi:dev::poc-pulumi::aws:eks/addon:Addon::coredns
aws:eks/nodeGroup:NodeGroup urn:pulumi:dev::poc-pulumi::aws:eks/nodeGroup:NodeGroup::pulumi-ng-default
Found no pending operations associated with dev
Backend
Name romainnv-W0XGR
URL file://~
User romainnv
Organizations
No dependencies found
Pulumi locates its logs in /var/folders/yw/crxbgmnx2kz0bd_t1cg3b7f40000gn/T/ by default
warning: A new version of Pulumi is available. To upgrade from version '3.84.0' to '3.87.0', run
$ brew update && brew upgrade pulumi
or visit https://pulumi.com/docs/install/ for manual instructions and release notes.
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the EKS example with the listed Pulumi CLI, EKS, and Kubernetes versions, then inspect how the Java Kubernetes package exposes ConfigMap. Compare the failing com.pulumi.kubernetes.core_v1.ConfigMap reference with the expected com.pulumi.kubernetes.core.v1.ConfigMap name; done when the example runs without NoClassDefFoundError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100