Add additional null checks when building pserver objects from 22/106122/1
authorMunir Ahmad <munir.ahmad@bell.ca>
Thu, 16 Apr 2020 16:00:19 +0000 (12:00 -0400)
committerMunir Ahmad <munir.ahmad@bell.ca>
Thu, 16 Apr 2020 19:14:53 +0000 (19:14 +0000)
openstack server object. This error is not reproduceable with
mitaka and queens release of openstack

    Issue-ID: SO-2802

Signed-off-by: Munir Ahmad <munir.ahmad@bell.ca>
Change-Id: I8c7a31d98ba4ef05faaf07ded0da13120fddf2c7
(cherry picked from commit 07ce5295b9bdb628cfb67f41026a30470942ce61)

adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/helpers/AaiHelper.java

index 6d3b0ab..e83ec83 100644 (file)
@@ -278,6 +278,9 @@ public class HeatBridgeImpl implements HeatBridgeApi {
     @Override
     public void createPserversAndPinterfacesIfNotPresentInAai(final List<Resource> stackResources)
             throws HeatBridgeException {
+        if (stackResources == null) {
+            return;
+        }
         Map<String, Pserver> serverHostnames = getPserverMapping(stackResources);
         createPServerIfNotExists(serverHostnames);
         List<String> portIds =
@@ -294,8 +297,13 @@ public class HeatBridgeImpl implements HeatBridgeApi {
     private Map<String, Pserver> getPserverMapping(final List<Resource> stackResources) {
         List<Server> osServers = getAllOpenstackServers(stackResources);
         Map<String, Pserver> pserverMap = new HashMap<>();
-        for (Server server : osServers) {
-            pserverMap.put(server.getHost(), aaiHelper.buildPserver(server));
+        if (osServers != null) {
+            for (Server server : osServers) {
+                Pserver pserver = aaiHelper.buildPserver(server);
+                if (pserver != null) {
+                    pserverMap.put(server.getHost(), pserver);
+                }
+            }
         }
         return pserverMap;
     }
index adcde92..727cdcc 100644 (file)
@@ -146,6 +146,9 @@ public class AaiHelper {
      * @return AAI Pserver object
      */
     public Pserver buildPserver(final Server server) {
+        if (server == null || server.getHypervisorHostname() == null) {
+            return null;
+        }
         Pserver pserver = new Pserver();
         pserver.setInMaint(false);
         pserver.setHostname(server.getHypervisorHostname());