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

Cloud 1 can prevent nodes from Cloud 2 from starting

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • openstack-cloud-plugin
    • None
    • CloudBees CI Managed Controller Version 2.452.4.1

      Forgive me for not using the right terminology or being vague... I'm just a Jenkins user (as opposed to an administrator) who has experienced a problem.

      My team has their own project/cloud in a Jenkins server which has a handful of other projects for unrelated teams. I believe most of the projects start Openstack instances for worker nodes and occasionally we have a situation where Jenkins can't start nodes for one of the projects:

      Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@265841ef failed
      jenkins.plugins.openstack.compute.JCloudsCloud$LoginFailure: Failure to authenticate for cloud project1: AuthenticationException{message=UNAUTHORIZED, status=401, X-Openstack-Request-Id=req-6736b833-6224-4c05-8bd6-54174a09e747, request=POST https://cloud-foo.com:5000/v3/auth/tokens}
      	at jenkins.plugins.openstack.compute.JCloudsCloud.getOpenstack(JCloudsCloud.java:494)
      	at jenkins.plugins.openstack.compute.JCloudsCloud.getAvailableTemplateProvider(JCloudsCloud.java:260)
      	at jenkins.plugins.openstack.compute.JCloudsCloud.provision(JCloudsCloud.java:298)
      	at hudson.slaves.Cloud.provision(Cloud.java:227)
      	at hudson.slaves.NodeProvisioner$StandardStrategyImpl.apply(NodeProvisioner.java:726)
      	at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:325)
      	at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823)
      	at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:92)
      	at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:67)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
      	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
      	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      	at java.base/java.lang.Thread.run(Thread.java:840)
      

      I believe this is because project1 is using a user whose credentials have expired for the Openstack server. The problem is that the fact that nodes can't be started for project1 can prevent nodes starting for project2 even though they use their own unique credentials, the credentials that project2 uses have not expired, and they have no relationship other than using the same Jenkins server.

      This doesn't make sense to me but I'm describing the behavior that I'm experiencing. I think that a problem in one project shouldn't affect another project.

            Unassigned Unassigned
            pfuntner John Pfuntner
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: