From f5619f428b2e8ab25a2ce1ac8c03262714bc32cb Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Thu, 11 Dec 2014 15:13:36 +0100 Subject: [PATCH] CLOUDSTACK-8051: fix NPE in updateNetwork due to static nat rules exist but no StaticNat provider --- server/src/com/cloud/network/IpAddressManagerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/IpAddressManagerImpl.java b/server/src/com/cloud/network/IpAddressManagerImpl.java index 43353491b18..96736efe8d2 100644 --- a/server/src/com/cloud/network/IpAddressManagerImpl.java +++ b/server/src/com/cloud/network/IpAddressManagerImpl.java @@ -1697,11 +1697,17 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage @Override public boolean applyStaticNats(List staticNats, boolean continueOnError, boolean forRevoke) throws ResourceUnavailableException { + if (staticNats == null || staticNats.size() == 0) { + s_logger.debug("There are no static nat rules for the network elements"); + return true; + } + Network network = _networksDao.findById(staticNats.get(0).getNetworkId()); boolean success = true; - if (staticNats == null || staticNats.size() == 0) { - s_logger.debug("There are no static nat rules for the network elements"); + // Check if the StaticNat service is supported + if (!_networkModel.areServicesSupportedInNetwork(network.getId(), Service.StaticNat)) { + s_logger.debug("StaticNat service is not supported in specified network id"); return true; }