@@ -69,15 +69,16 @@ public VSphereBuildStep getBuildStep() {
6969
7070 @ Override
7171 public boolean perform (final AbstractBuild <?, ?> build , final Launcher launcher , final BuildListener listener ) {
72- try {
72+ VSphere vsphere = null ;
73+ try {
7374 EnvVars env = build .getEnvironment (listener );
7475 env .overrideAll (build .getBuildVariables ()); // Add in matrix axes..
7576 String expandedServerName = env .expand (serverName );
7677
7778 startLogs (listener .getLogger (), expandedServerName );
7879 //Need to ensure this server is same as one that was previously saved.
7980 //TODO - also need to improve logging here.
80- VSphere vsphere ;
81+
8182 // select by hash if we have one
8283 if (serverHash != null ) {
8384 vsphere = VSphereBuildStep .VSphereBuildStepDescriptor .getVSphereCloudByHash (serverHash ).vSphereInstance ();
@@ -86,15 +87,16 @@ public boolean perform(final AbstractBuild<?, ?> build, final Launcher launcher,
8687 }
8788
8889 buildStep .setVsphere (vsphere );
89-
90- Boolean buildStepResult = buildStep .perform (build , launcher , listener );
91- vsphere .disconnect ();
9290
93- return buildStepResult ;
91+ return buildStep . perform ( build , launcher , listener ) ;
9492 } catch (Exception e ) {
95- VSphereLogger .vsLogger (listener .getLogger (), e .getMessage ());
96- }
97- return false ;
93+ VSphereLogger .vsLogger (listener .getLogger (), e );
94+ } finally {
95+ if (vsphere != null ) {
96+ vsphere .disconnect ();
97+ }
98+ }
99+ return false ;
98100 }
99101
100102 private void startLogs (PrintStream logger , String serverName ){
0 commit comments