if (priv->host->productVersion != esxVI_ProductVersion_ESX35 &&
priv->host->productVersion != esxVI_ProductVersion_ESX40 &&
priv->host->productVersion != esxVI_ProductVersion_ESX41 &&
- priv->host->productVersion != esxVI_ProductVersion_ESX4x) {
+ priv->host->productVersion != esxVI_ProductVersion_ESX4x &&
+ priv->host->productVersion != esxVI_ProductVersion_ESX50 &&
+ priv->host->productVersion != esxVI_ProductVersion_ESX5x) {
ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
- _("%s is neither an ESX 3.5 host nor an ESX 4.x host"),
+ _("%s is neither an ESX 3.5, 4.x nor 5.x host"),
hostname);
goto cleanup;
}
if (priv->vCenter->productVersion != esxVI_ProductVersion_VPX25 &&
priv->vCenter->productVersion != esxVI_ProductVersion_VPX40 &&
priv->vCenter->productVersion != esxVI_ProductVersion_VPX41 &&
- priv->vCenter->productVersion != esxVI_ProductVersion_VPX4x) {
+ priv->vCenter->productVersion != esxVI_ProductVersion_VPX4x &&
+ priv->vCenter->productVersion != esxVI_ProductVersion_VPX50 &&
+ priv->vCenter->productVersion != esxVI_ProductVersion_VPX5x) {
ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
- _("%s is neither a vCenter 2.5 server nor a vCenter "
- "4.x server"), hostname);
+ _("%s is neither a vCenter 2.5, 4.x nor 5.x server"),
+ hostname);
goto cleanup;
}
} else if (STRPREFIX(ctx->service->about->apiVersion, "4.")) {
ctx->apiVersion = esxVI_APIVersion_4x;
+ VIR_WARN("Found untested VI API major/minor version '%s'",
+ ctx->service->about->apiVersion);
+ } else if (STRPREFIX(ctx->service->about->apiVersion, "5.0")) {
+ ctx->apiVersion = esxVI_APIVersion_50;
+ } else if (STRPREFIX(ctx->service->about->apiVersion, "5.")) {
+ ctx->apiVersion = esxVI_APIVersion_5x;
+
VIR_WARN("Found untested VI API major/minor version '%s'",
ctx->service->about->apiVersion);
} else {
ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
- _("Expecting VI API major/minor version '2.5' or '4.x' "
- "but found '%s'"), ctx->service->about->apiVersion);
+ _("Expecting VI API major/minor version '2.5', '4.x' or "
+ "'5.x' but found '%s'"), ctx->service->about->apiVersion);
return -1;
}
} else if (STRPREFIX(ctx->service->about->version, "4.")) {
ctx->productVersion = esxVI_ProductVersion_ESX4x;
+ VIR_WARN("Found untested ESX major/minor version '%s'",
+ ctx->service->about->version);
+ } else if (STRPREFIX(ctx->service->about->version, "5.0")) {
+ ctx->productVersion = esxVI_ProductVersion_ESX50;
+ } else if (STRPREFIX(ctx->service->about->version, "5.")) {
+ ctx->productVersion = esxVI_ProductVersion_ESX5x;
+
VIR_WARN("Found untested ESX major/minor version '%s'",
ctx->service->about->version);
} else {
ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
- _("Expecting ESX major/minor version '3.5' or "
- "'4.x' but found '%s'"),
+ _("Expecting ESX major/minor version '3.5', "
+ "'4.x' or '5.x' but found '%s'"),
ctx->service->about->version);
return -1;
}
} else if (STRPREFIX(ctx->service->about->version, "4.")) {
ctx->productVersion = esxVI_ProductVersion_VPX4x;
+ VIR_WARN("Found untested VPX major/minor version '%s'",
+ ctx->service->about->version);
+ } else if (STRPREFIX(ctx->service->about->version, "5.0")) {
+ ctx->productVersion = esxVI_ProductVersion_VPX50;
+ } else if (STRPREFIX(ctx->service->about->version, "5.")) {
+ ctx->productVersion = esxVI_ProductVersion_VPX5x;
+
VIR_WARN("Found untested VPX major/minor version '%s'",
ctx->service->about->version);
} else {
ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
- _("Expecting VPX major/minor version '2.5' or '4.x' "
- "but found '%s'"), ctx->service->about->version);
+ _("Expecting VPX major/minor version '2.5', '4.x' "
+ "or '5.x' but found '%s'"),
+ ctx->service->about->version);
return -1;
}
} else {
/*
* virtualHW.version compatibility matrix:
*
- * 4 7 API
- * ESX 3.5 + 2.5
- * ESX 4.0 + + 4.0
- * ESX 4.1 + + 4.1
- * GSX 2.0 + + 2.5
+ * 4 7 8 API
+ * ESX 3.5 + 2.5
+ * ESX 4.0 + + 4.0
+ * ESX 4.1 + + 4.1
+ * ESX 5.0 + + + 5.0
+ * GSX 2.0 + + 2.5
*/
switch (productVersion) {
case esxVI_ProductVersion_ESX35:
case esxVI_ProductVersion_VPX4x:
return 7;
+ case esxVI_ProductVersion_ESX50:
+ case esxVI_ProductVersion_VPX50:
+ return 8;
+
+ case esxVI_ProductVersion_ESX5x:
+ case esxVI_ProductVersion_VPX5x:
+ return 8;
+
default:
ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unexpected product version"));
esxVI_APIVersion_25,
esxVI_APIVersion_40,
esxVI_APIVersion_41,
- esxVI_APIVersion_4x /* > 4.1 */
+ esxVI_APIVersion_4x, /* > 4.1 */
+ esxVI_APIVersion_50,
+ esxVI_APIVersion_5x /* > 5.0 */
};
/*
esxVI_ProductVersion_ESX40 = esxVI_ProductVersion_ESX | 2,
esxVI_ProductVersion_ESX41 = esxVI_ProductVersion_ESX | 3,
esxVI_ProductVersion_ESX4x = esxVI_ProductVersion_ESX | 4, /* > 4.1 */
+ esxVI_ProductVersion_ESX50 = esxVI_ProductVersion_ESX | 5,
+ esxVI_ProductVersion_ESX5x = esxVI_ProductVersion_ESX | 6, /* > 5.0 */
esxVI_ProductVersion_VPX = (1 << 2) << 16,
esxVI_ProductVersion_VPX25 = esxVI_ProductVersion_VPX | 1,
esxVI_ProductVersion_VPX40 = esxVI_ProductVersion_VPX | 2,
esxVI_ProductVersion_VPX41 = esxVI_ProductVersion_VPX | 3,
- esxVI_ProductVersion_VPX4x = esxVI_ProductVersion_VPX | 4 /* > 4.1 */
+ esxVI_ProductVersion_VPX4x = esxVI_ProductVersion_VPX | 4, /* > 4.1 */
+ esxVI_ProductVersion_VPX50 = esxVI_ProductVersion_VPX | 5,
+ esxVI_ProductVersion_VPX5x = esxVI_ProductVersion_VPX | 6 /* > 5.0 */
};
enum _esxVI_Occurrence {