5454import com .cloud .hypervisor .xenserver .resource .XenServer610Resource ;
5555import com .cloud .hypervisor .xenserver .resource .XenServer620Resource ;
5656import com .cloud .hypervisor .xenserver .resource .XenServer620SP1Resource ;
57+ import com .cloud .hypervisor .xenserver .resource .XenServer650Resource ;
5758import com .cloud .hypervisor .xenserver .resource .XenServerConnectionPool ;
5859import com .cloud .hypervisor .xenserver .resource .Xenserver625Resource ;
59- import com .cloud .hypervisor .xenserver .resource .XenServer650Resource ;
6060import com .cloud .resource .Discoverer ;
6161import com .cloud .resource .DiscovererBase ;
6262import com .cloud .resource .ResourceStateAdapter ;
8181import com .xensource .xenapi .Types .SessionAuthenticationFailed ;
8282import com .xensource .xenapi .Types .UuidInvalid ;
8383import com .xensource .xenapi .Types .XenAPIException ;
84-
8584import org .apache .cloudstack .hypervisor .xenserver .XenserverConfigs ;
8685import org .apache .log4j .Logger ;
8786import org .apache .xmlrpc .XmlRpcException ;
8887
8988import javax .inject .Inject ;
9089import javax .naming .ConfigurationException ;
9190import javax .persistence .EntityExistsException ;
92-
9391import java .net .InetAddress ;
9492import java .net .URI ;
9593import java .net .UnknownHostException ;
@@ -408,8 +406,6 @@ else if (prodBrand.equals("XenServer") && prodVersion.equals("6.0.2"))
408406 return new XenServer600Resource ();
409407 else if (prodBrand .equals ("XenServer" ) && prodVersion .equals ("6.1.0" ))
410408 return new XenServer610Resource ();
411- else if (prodBrand .equals ("XenServer" ) && prodVersion .equals ("6.5.0" ))
412- return new XenServer650Resource ();
413409 else if (prodBrand .equals ("XenServer" ) && prodVersion .equals ("6.2.0" )) {
414410 if (hotfix != null && hotfix .equals (XenserverConfigs .XSHotFix62ESP1004 )) {
415411 return new Xenserver625Resource ();
@@ -426,9 +422,18 @@ else if (prodBrand.equals("XenServer") && prodVersion.equals("6.2.0")) {
426422 }
427423 } else if (prodBrand .equals ("XCP_Kronos" )) {
428424 return new XcpOssResource ();
425+ } else if (prodBrand .equals ("XenServer" )) {
426+ final String [] items = prodVersion .split ("\\ ." );
427+ if ((Integer .parseInt (items [0 ]) > 6 ) ||
428+ (Integer .parseInt (items [0 ]) == 6 && Integer .parseInt (items [1 ]) >= 4 )) {
429+ s_logger .warn ("defaulting to xenserver650 resource for product brand: " + prodBrand + " with product " +
430+ "version: " + prodVersion );
431+ //default to xenserver650 resource.
432+ return new XenServer650Resource ();
433+ }
429434 }
430435 String msg =
431- "Only support XCP 1.0.0, 1.1.0, 1.4.x, 1.5 beta, 1.6.x; XenServer 5.6, XenServer 5.6 FP1, XenServer 5.6 SP2, Xenserver 6.0, 6.0.2, 6.1.0, 6.2.0, 6.5 .0 but this one is " +
436+ "Only support XCP 1.0.0, 1.1.0, 1.4.x, 1.5 beta, 1.6.x; XenServer 5.6, XenServer 5.6 FP1, XenServer 5.6 SP2, Xenserver 6.0, 6.0.2, 6.1.0, 6.2.0, >6.4 .0 but this one is " +
432437 prodBrand + " " + prodVersion ;
433438 s_logger .warn (msg );
434439 throw new RuntimeException (msg );
0 commit comments