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

Pipline script for vSphere ExposeGuestInfo generates <object of type org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo>. Pipeline DSL ExposeGuestInfo Build fails

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • vsphere-cloud-plugin
    • vSphere Cloud Plugin v2.17, Jenkins v2.116, Jenkins v2.117

      After upgrading vSphere Cloud Plugin from 2.15 to v 2.17

      Pipline script for vSphere ExposeGuestInfo generates:
      vSphere buildStep: <object of type org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo>, serverName: ''

      Should generate:
      vSphere buildStep: [$class: 'ExposeGuestInfo', envVariablePrefix: 'VSPHERE', vm: 'vmName', waitForIp4: boolean], serverName: ""

       

      When run DSL Pipline with using vSphere build step: "Expose Guest Info" it fails with Error: null.

      #!/usr/bin/env groovy
      pipeline {
          agent any
          stages {
              stage('Expose VM IP') {
                  steps {
                      script{
                          hostIP = vSphere buildStep: [$class: 'ExposeGuestInfo', envVariablePrefix: 'VSPHERE', vm: test.ci.kit], serverName: 'testvcs'
                          echo "$hostIP"
                      }
                  }

              }
          }
          post {
              always {
                  // Clean-up the workspace
                  cleanWs()
              }
          }
      }

       
      Started by user
      vassil
      Running in Durability level: MAX_SURVIVABILITY[Pipeline] nodeRunning on
      slave-u1604-1
      in /opt/riajenk/workspace/Abivahendid/Vassilharjutab/ExposeGuestIP[Pipeline] {[Pipeline] stage[Pipeline] { (Expose VM IP)[Pipeline] script[Pipeline] {[Pipeline] vSphere[vSphere]
      [vSphere] Performing vSphere build step: "Expose Guest Info"
      [vSphere] Attempting to use server configuration: "testvcs"
      [vSphere] Exposing guest info for VM "vassilm-test.ci.kit" as environment variables
      [vSphere] Added environmental variable "VSPHERE_IpAddress" with a value of "10.0.24.55"
      [vSphere] Added environmental variable "VSPHERE_GuestId" with a value of "ubuntu64Guest"
      [vSphere] Added environmental variable "VSPHERE_ToolsVersion" with a value of "2147483647"
      [vSphere] Skipped "Disk" as it is of type class [Lcom.vmware.vim25.GuestDiskInfo;
      [vSphere] Added environmental variable "VSPHERE_AppState" with a value of "none"
      [vSphere] Added environmental variable "VSPHERE_GuestOperationsReady" with a value of "true"
      [vSphere] Added environmental variable "VSPHERE_InteractiveGuestOperationsReady" with a value of "false"
      [vSphere] Added environmental variable "VSPHERE_GuestStateChangeSupported" with a value of "true"
      [vSphere] Skipped "GenerationInfo" as it is of type class [Lcom.vmware.vim25.GuestInfoNamespaceGenerationInfo;
      [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus2" with a value of "guestToolsUnmanaged"
      [vSphere] Added environmental variable "VSPHERE_ToolsRunningStatus" with a value of "guestToolsRunning"
      [vSphere] Added environmental variable "VSPHERE_GuestFullName" with a value of "Ubuntu Linux (64-bit)"
      [vSphere] Skipped "Net" as it is of type class [Lcom.vmware.vim25.GuestNicInfo;
      [vSphere] Skipped "IpStack" as it is of type class [Lcom.vmware.vim25.GuestStackInfo;
      [vSphere] Skipped "Screen" as it is of type class com.vmware.vim25.GuestScreenInfo
      [vSphere] Added environmental variable "VSPHERE_GuestState" with a value of "running"
      [vSphere] Added environmental variable "VSPHERE_AppHeartbeatStatus" with a value of "appStatusGray"
      [vSphere] Skipped "GuestKernelCrashed" as it is a null value
      [vSphere] Added environmental variable "VSPHERE_ToolsStatus" with a value of "toolsOk"
      [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus" with a value of "guestToolsUnmanaged"
      [vSphere] Added environmental variable "VSPHERE_GuestFamily" with a value of "linuxGuest"
      [vSphere] Added environmental variable "VSPHERE_HostName" with a value of "vassilm-test"[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace...[WS-CLEANUP] done[Pipeline] }[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of PipelineERROR: null
      Finished: FAILURE

       

          [JENKINS-50773] Pipline script for vSphere ExposeGuestInfo generates <object of type org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo>. Pipeline DSL ExposeGuestInfo Build fails

          Please anybody, is there some workaround to get guest IP address from vSphere using DSL pipline

          vassil marjunits added a comment - Please anybody, is there some workaround to get guest IP address from vSphere using DSL pipline

          pjdarton added a comment - - edited

          FYI it looks like this issue was introduced in pr#64.

          Judging from the plugin code changes, if you were able to specify a waitForIp4 parameter with value true then the code should work as you expect.  Unfortunately I have no idea how the "generate pipleline script" functionality works - I can see from your example that it isn't working properly, but this is jenkins-core functionality (not this plugin) that's generating this pipeline code and I don't know what information it's expecting from the plugin for this to work.  FYI I don't see anything particularly unusual about the ExposeGuestInfo code that might cause this. I can see that ExposeGuestInfo.java line 133 is likely to null-pointer-exception if the parameter wasn't set, which is probably a bug, and also that the config.jelly claims the default for waitForIp4 is "true" whereas in the Java the default is null, but neither of though would explain why nothing one sets in those fields appears in the generated pipeline code.

          What you want, in your pipeline script, is to create an ExposeGuestInfo instance (giving it 3 parameters: String vm, String envVariablePrefix, Boolean waitForIp4) and then to create a VSphereBuildStepContainer instance giving it two parameters, the first being the ExposeGuestInfo instance you created (as the buildStep parameter) and the second being String serverName (being the name of your vSphere cloud).

          pjdarton added a comment - - edited FYI it looks like this issue was introduced in pr#64 . Judging from the plugin code changes, if you were able to specify a waitForIp4 parameter with value true then the code should work as you expect.  Unfortunately I have no idea how the "generate pipleline script" functionality works - I can see from your example that it isn't working properly, but this is jenkins-core functionality (not this plugin) that's generating this pipeline code and I don't know what information it's expecting from the plugin for this to work.  FYI I don't see anything particularly unusual about the ExposeGuestInfo code that might cause this. I can see that ExposeGuestInfo.java line 133 is likely to null-pointer-exception if the parameter wasn't set, which is probably a bug, and also that the config.jelly claims the default for waitForIp4 is "true" whereas in the Java the default is null, but neither of though would explain why nothing one sets in those fields appears in the generated pipeline code. What you want, in your pipeline script, is to create an ExposeGuestInfo instance (giving it 3 parameters : String vm, String envVariablePrefix, Boolean waitForIp4) and then to create a VSphereBuildStepContainer instance giving it two parameters , the first being the ExposeGuestInfo instance you created (as the buildStep parameter) and the second being String serverName (being the name of your vSphere cloud).

          thanx bro,
          I added waitForIp4 parameter.

          It seems to be common issue with exposing  vSphere variables to the Jenkins environmental variables in a pipeline mode.
          Its disaster fo my CI automation. I dont have experiences with Java to fix vSphere plugin for Jenkins pipeline mode.

          #!/usr/bin/env groovy

          def vmDomainName = 'vassilm-test.ci.kit'
          node() {
              stage ('Build'){
                  vSphere buildStep: [$class: 'ExposeGuestInfo', envVariablePrefix: 'VSPHERE', vm: vmDomainName, waitForIp4: true], serverName: 'testvcs'
                  vSphere buildStep: [$class: 'PowerOn', timeoutInSeconds: 180, vm: vmDomainName], serverName: 'testvcs'
                 
                  echo "This is env variable BUILD ID: ${BUILD_ID}"
                  
                  def IPfromGuestInfo = env.VSPHERE_IpAddress
                  def IPfromPowerON = env.VSPHERE_IP
                  echo "This is VSPHERE_IpAddress from ExposeGuestInfo instance: $IPfromGuestInfo"
                  echo "This is VSPHERE_IP from PowerOn instance $IPfromPowerON"
                  echo "For stack trace: ${VSPHERE_IpAddress}"
              }    
          }

          Started by user
          someuser
          Running in Durability level: MAX_SURVIVABILITY[Pipeline] nodeRunning on
          Jenkins
          in /var/lib/jenkins/workspace/PowerOnVmPipeline[Pipeline] {[Pipeline] stage[Pipeline] { (Build)[Pipeline] vSphere[vSphere] Performing vSphere build step: "Expose Guest Info"
          [vSphere] Attempting to use server configuration: "testvcs"
          [vSphere] Exposing guest info for VM "vassilm-test.ci.kit" as environment variables
          [vSphere] Added environmental variable "VSPHERE_InteractiveGuestOperationsReady" with a value of "false"
          [vSphere] Added environmental variable "VSPHERE_GuestStateChangeSupported" with a value of "true"
          [vSphere] Skipped "GenerationInfo" as it is of type class [Lcom.vmware.vim25.GuestInfoNamespaceGenerationInfo;
          [vSphere] Added environmental variable "VSPHERE_ToolsStatus" with a value of "toolsOk"
          [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus" with a value of "guestToolsUnmanaged"
          [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus2" with a value of "guestToolsUnmanaged"
          [vSphere] Added environmental variable "VSPHERE_ToolsRunningStatus" with a value of "guestToolsRunning"
          [vSphere] Added environmental variable "VSPHERE_ToolsVersion" with a value of "2147483647"
          [vSphere] Added environmental variable "VSPHERE_GuestFamily" with a value of "linuxGuest"
          [vSphere] Added environmental variable "VSPHERE_GuestFullName" with a value of "Ubuntu Linux (64-bit)"
          [vSphere] Skipped "Net" as it is of type class [Lcom.vmware.vim25.GuestNicInfo;
          [vSphere] Skipped "IpStack" as it is of type class [Lcom.vmware.vim25.GuestStackInfo;
          [vSphere] Skipped "Disk" as it is of type class [Lcom.vmware.vim25.GuestDiskInfo;
          [vSphere] Skipped "Screen" as it is of type class com.vmware.vim25.GuestScreenInfo
          [vSphere] Added environmental variable "VSPHERE_GuestState" with a value of "running"
          [vSphere] Added environmental variable "VSPHERE_AppHeartbeatStatus" with a value of "appStatusGray"
          [vSphere] Skipped "GuestKernelCrashed" as it is a null value
          [vSphere] Added environmental variable "VSPHERE_AppState" with a value of "none"
          [vSphere] Added environmental variable "VSPHERE_GuestOperationsReady" with a value of "true"
          [vSphere] Added environmental variable "VSPHERE_GuestId" with a value of "ubuntu64Guest"
          [vSphere] Added environmental variable "VSPHERE_IpAddress" with a value of "10.0.24.55"
          [vSphere] Added environmental variable "VSPHERE_HostName" with a value of "vassilm-test"
          [vSphere] Successfully exposed guest info for VM "vassilm-test.ci.kit"
          [Pipeline] vSphere
          [vSphere]
          [vSphere] Performing vSphere build step: "Power-On/Resume VM"
          [vSphere] Attempting to use server configuration: "testvcs"
          [vSphere] Successfully retrieved IP for "vassilm-test.ci.kit" : 10.0.24.55
          [vSphere] Exposing 10.0.24.55 as environment variable VSPHERE_IP
          [Pipeline] echo
          This is env variable BUILD ID: 33
          [Pipeline] echo
          This is VSPHERE_IpAddress from ExposeGuestInfo instance: null
          [Pipeline] echo
          This is VSPHERE_IP from PowerOn instance null
          [Pipeline] }
          [Pipeline] // stage
          [Pipeline] }
          [Pipeline] // node
          [Pipeline] End of Pipeline
          groovy.lang.MissingPropertyException: No such property: VSPHERE_IpAddress for class: groovy.lang.Binding
          at groovy.lang.Binding.getVariable(Binding.java:63)
          at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:242)
          at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:268)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:268)
          at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
          at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
          at WorkflowScript.run(WorkflowScript:15)
          at __cps.transform__(Native Method)
          at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
          at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
          at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
          at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          at com.cloudbees.groovy.cps.Next.step(Next.java:83)
          at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
          at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
          at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
          at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
          at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
          at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$101(SandboxContinuable.java:34)
          at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.lambda$run0$0(SandboxContinuable.java:59)
          at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
          at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:58)
          at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:332)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200(CpsThreadGroup.java:83)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:244)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:232)
          at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131)
          at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:748)
          Finished: FAILURE

          vassil marjunits added a comment - thanx bro, I added waitForIp4 parameter. It seems to be common issue with exposing  vSphere variables to the Jenkins environmental variables in a pipeline mode. Its disaster fo my CI automation. I dont have experiences with Java to fix vSphere plugin for Jenkins pipeline mode. #!/usr/bin/env groovy def vmDomainName = 'vassilm-test.ci.kit' node() {     stage ('Build'){         vSphere buildStep: [$class: 'ExposeGuestInfo', envVariablePrefix: 'VSPHERE', vm: vmDomainName, waitForIp4: true] , serverName: 'testvcs'         vSphere buildStep: [$class: 'PowerOn', timeoutInSeconds: 180, vm: vmDomainName] , serverName: 'testvcs'                 echo "This is env variable BUILD ID: ${BUILD_ID}"                  def IPfromGuestInfo = env.VSPHERE_IpAddress         def IPfromPowerON = env.VSPHERE_IP         echo "This is VSPHERE_IpAddress from ExposeGuestInfo instance: $IPfromGuestInfo"         echo "This is VSPHERE_IP from PowerOn instance $IPfromPowerON"         echo "For stack trace: ${VSPHERE_IpAddress}"     }     } Started by user someuser Running in Durability level: MAX_SURVIVABILITY [Pipeline] node Running on Jenkins in /var/lib/jenkins/workspace/PowerOnVmPipeline [Pipeline] { [Pipeline] stage [Pipeline] { (Build) [Pipeline] vSphere [vSphere] Performing vSphere build step: "Expose Guest Info" [vSphere] Attempting to use server configuration: "testvcs" [vSphere] Exposing guest info for VM "vassilm-test.ci.kit" as environment variables [vSphere] Added environmental variable "VSPHERE_InteractiveGuestOperationsReady" with a value of "false" [vSphere] Added environmental variable "VSPHERE_GuestStateChangeSupported" with a value of "true" [vSphere] Skipped "GenerationInfo" as it is of type class [Lcom.vmware.vim25.GuestInfoNamespaceGenerationInfo; [vSphere] Added environmental variable "VSPHERE_ToolsStatus" with a value of "toolsOk" [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus" with a value of "guestToolsUnmanaged" [vSphere] Added environmental variable "VSPHERE_ToolsVersionStatus2" with a value of "guestToolsUnmanaged" [vSphere] Added environmental variable "VSPHERE_ToolsRunningStatus" with a value of "guestToolsRunning" [vSphere] Added environmental variable "VSPHERE_ToolsVersion" with a value of "2147483647" [vSphere] Added environmental variable "VSPHERE_GuestFamily" with a value of "linuxGuest" [vSphere] Added environmental variable "VSPHERE_GuestFullName" with a value of "Ubuntu Linux (64-bit)" [vSphere] Skipped "Net" as it is of type class [Lcom.vmware.vim25.GuestNicInfo; [vSphere] Skipped "IpStack" as it is of type class [Lcom.vmware.vim25.GuestStackInfo; [vSphere] Skipped "Disk" as it is of type class [Lcom.vmware.vim25.GuestDiskInfo; [vSphere] Skipped "Screen" as it is of type class com.vmware.vim25.GuestScreenInfo [vSphere] Added environmental variable "VSPHERE_GuestState" with a value of "running" [vSphere] Added environmental variable "VSPHERE_AppHeartbeatStatus" with a value of "appStatusGray" [vSphere] Skipped "GuestKernelCrashed" as it is a null value [vSphere] Added environmental variable "VSPHERE_AppState" with a value of "none" [vSphere] Added environmental variable "VSPHERE_GuestOperationsReady" with a value of "true" [vSphere] Added environmental variable "VSPHERE_GuestId" with a value of "ubuntu64Guest" [vSphere] Added environmental variable "VSPHERE_IpAddress" with a value of "10.0.24.55" [vSphere] Added environmental variable "VSPHERE_HostName" with a value of "vassilm-test" [vSphere] Successfully exposed guest info for VM "vassilm-test.ci.kit" [Pipeline] vSphere [vSphere] [vSphere] Performing vSphere build step: "Power-On/Resume VM" [vSphere] Attempting to use server configuration: "testvcs" [vSphere] Successfully retrieved IP for "vassilm-test.ci.kit" : 10.0.24.55 [vSphere] Exposing 10.0.24.55 as environment variable VSPHERE_IP [Pipeline] echo This is env variable BUILD ID: 33 [Pipeline] echo This is VSPHERE_IpAddress from ExposeGuestInfo instance: null [Pipeline] echo This is VSPHERE_IP from PowerOn instance null [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline groovy.lang.MissingPropertyException: No such property: VSPHERE_IpAddress for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:63) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:242) at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:268) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:268) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) at WorkflowScript.run(WorkflowScript:15) at __ cps.transform __(Native Method) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:83) at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174) at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163) at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122) at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$101(SandboxContinuable.java:34) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.lambda$run0$0(SandboxContinuable.java:59) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:58) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:332) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200(CpsThreadGroup.java:83) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:244) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:232) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Finished: FAILURE

          vassil marjunits added a comment - jswager1 and elordahl is there any recomendetion or workaround according to this https://issues.jenkins-ci.org/browse/JENKINS-50773?focusedCommentId=335473&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-335473?

          pjdarton added a comment -

          FYI Jason ceased to be the plugin maintainer some time ago, and Eric's involvement on this is equally minimal. They both have day jobs that does not include supporting this plugin (as do I).

          You might get somewhere by looking at the https://wiki.jenkins.io/display/JENKINS/Team+Concert+Plugin page's explanation of how to access their environment variables.  e.g. if you substituted org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo.VSphereEnvAction for com.ibm.team.build.internal.hjplugin.RTCBuildResultAction
          Neither that plugin nor this one was written with pipeline support in mind, so workarounds for one (or other similarly aged plugins) might well work for others.

          pjdarton added a comment - FYI Jason ceased to be the plugin maintainer some time ago, and Eric's involvement on this is equally minimal. They both have day jobs that does not include supporting this plugin (as do I). You might get somewhere by looking at the https://wiki.jenkins.io/display/JENKINS/Team+Concert+Plugin page's explanation of how to access their environment variables.  e.g. if you substituted org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo.VSphereEnvAction for com.ibm.team.build.internal.hjplugin.RTCBuildResultAction Neither that plugin nor this one was written with pipeline support in mind, so workarounds for one (or other similarly aged plugins) might well work for others.

          pjdarton thanx bro, for you effort with advising,
          Is there any way how can I donate for you?

          vassil marjunits added a comment - pjdarton thanx bro, for you effort with advising, Is there any way how can I donate for you?

          Nelu Vasilica added a comment -

          vassil, did you manage to get this working?

          Nelu Vasilica added a comment - vassil , did you manage to get this working?

          nelu sorry for delay.
          We decided to replace vSphere plugin with VMware SDK Perl toolkit and using Perl script to communicate with vSphere API.
          Why SDK Perl, because its is supported by VMware. https://code.vmware.com/web/sdk/67/vsphere-perl
          There is other SDK toolkit to - python, java.

          vassil marjunits added a comment - nelu sorry for delay. We decided to replace vSphere plugin with VMware SDK Perl toolkit and using Perl script to communicate with vSphere API. Why SDK Perl, because its is supported by VMware. https://code.vmware.com/web/sdk/67/vsphere-perl There is other SDK toolkit to - python, java.

          Max Trunov added a comment -

          def run = currentBuild.build()
          def action = run.getAction(org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo.VSphereEnvAction.class)
          def envVars = new hudson.EnvVars([:])
          action.buildEnvVars(null, envVars)
          println(envVars)

          Max Trunov added a comment - def run = currentBuild.build() def action = run.getAction(org.jenkinsci.plugins.vsphere.builders.ExposeGuestInfo.VSphereEnvAction.class) def envVars = new hudson.EnvVars( [:] ) action.buildEnvVars(null, envVars) println(envVars)

            Unassigned Unassigned
            vassil vassil marjunits
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: