fixed NPE
diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java
index 214dbd4..4a9b526 100644
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java
@@ -169,7 +169,6 @@
vmr.actionsAfterCrash = Types.OnCrashBehaviour.DESTROY;
vmr.actionsAfterShutdown = Types.OnNormalExit.DESTROY;
- Map<String, String> details = vmSpec.getDetails();
if (isDmcEnabled(conn, host) && vmSpec.isEnableDynamicallyScaleVm()) {
//scaling is allowed
vmr.memoryStaticMin = getStaticMin(vmSpec.getOs(), vmSpec.getBootloader() == BootloaderType.CD, vmSpec.getMinRam(), vmSpec.getMaxRam());
@@ -193,18 +192,21 @@
vmr.VCPUsMax = 32L;
}
- String timeoffset = details.get("timeoffset");
- if (timeoffset != null) {
- Map<String, String> platform = vmr.platform;
- platform.put("timeoffset", timeoffset);
- vmr.platform = platform;
- }
+ Map<String, String> details = vmSpec.getDetails();
+ if ( details != null ) {
+ String timeoffset = details.get("timeoffset");
+ if (timeoffset != null) {
+ Map<String, String> platform = vmr.platform;
+ platform.put("timeoffset", timeoffset);
+ vmr.platform = platform;
+ }
- String coresPerSocket = details.get("cpu.corespersocket");
- if (coresPerSocket != null) {
- Map<String, String> platform = vmr.platform;
- platform.put("cores-per-socket", coresPerSocket);
- vmr.platform = platform;
+ String coresPerSocket = details.get("cpu.corespersocket");
+ if (coresPerSocket != null) {
+ Map<String, String> platform = vmr.platform;
+ platform.put("cores-per-socket", coresPerSocket);
+ vmr.platform = platform;
+ }
}
vmr.VCPUsAtStartup = (long) vmSpec.getCpus();