Uploaded image for project: 'Service Orchestrator'
  1. Service Orchestrator
  2. SO-2940

Null pointer exception on cloud site create for hpa homing case

XMLWordPrintable

      When a service instance create is using  OOF homing, bpmn will add an entry to the cloudsites catalogdb table if it is not present.  This was observed to cause a null pointer exception when creating a service instnace, so the cloudsite entry was not created and ultimate deployment of the vfmodule failed due to the cloudsite entry not being present.

      (workaround - manually add the cloudsites into the catalogdb - but kind of defeats the purpose)

       

      Relevent log snipppet from the bpmn debug.log:

      2020-05-15T21:08:02.842Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** element: locationType *****
      2020-05-15T21:08:02.843Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** element: cloudClli *****
      2020-05-15T21:08:02.849Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** element: oof_directives *****
      2020-05-15T21:08:02.857Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** homing oofDirectives: {"directives":[{"directives":[{"attributes":[

      {"attribute_name":"firewall_flavor_name","attribute_value":"onap.hpa.flavor41"}

      ,{"attribute_name":"flavorId","attribute_value":"442"}],"type":"flavor_directives"}],"id":"vfw","type":"vnfc"},{"directives":[{"attributes":[

      {"attribute_name":"packetgen_flavor_name","attribute_value":"onap.hpa.flavor42"}

      ,{"attribute_name":"flavorId","attribute_value":"442"}],"type":"flavor_directives"}],"id":"vgenerator","type":"vnfc"},{"directives":[{"attributes":[

      {"attribute_name":"sink_flavor_name","attribute_value":"onap.hpa.flavor42"}

      ,{"attribute_name":"flavorId","attribute_value":"442"}],"type":"flavor_directives"}],"id":"vsink","type":"vnfc"}]} *****
      2020-05-15T21:08:02.874Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** homing cloudOwner: CloudOwner *****
      2020-05-15T21:08:02.876Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** homing cloudRegionId: ONAP-POD-01-Rail-07 *****
      2020-05-15T21:08:02.977Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** Cloud IdentityUrl: http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/ONAP-POD-01-Rail-07/infra_workload *****
      2020-05-15T21:08:03.022Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** CloudIdentity: CloudIdentity[id=ONAP-POD-01-Rail-07,identityUrl=http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/ONAP-POD-01-Rail-07/infra_workload,msoId=apih,projectDomain=<null>,userDomain=<null>,adminTenant=service,memberRole=<null>,tenantMetadata=<null>,identityServerType=KEYSTONE,identityAuthenticationType=USERNAME_PASSWORD] *****
      2020-05-15T21:08:03.024Z||org.onap.so.bpmn.common.scripts.OofHoming - ****** CloudSite: CloudSite[regionId=ONAP-POD-01-Rail-07,identityServiceId=ONAP-POD-01-Rail-07,cloudVersion=<null>,clli=<null>,cloudifyId=<null>,platform=<null>,orchestrator=multicloud,cloud-owner=<null>] *****
      2020-05-15T21:08:03.055Z||o.onap.logging.filter.base.AbstractMetricLogFilter - Could not Target Entity: http://so-catalog-db-adapter.onap:8082/cloudSite/ONAP-POD-01-Rail-07
      2020-05-15T21:08:03.063Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - ===========================request begin================================================
      2020-05-15T21:08:03.064Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - URI : http://so-catalog-db-adapter.onap:8082/cloudSite/ONAP-POD-01-Rail-07
      2020-05-15T21:08:03.067Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Method : GET
      2020-05-15T21:08:03.068Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Headers : [Accept:"application/hal+json", Content-Length:"0", Content-Type:"application/hal+json", X-ONAP-RequestID:"dd2e96a2-6d7b-4e37-bc18-9de769034052", X-RequestID:"dd2e96a2-6d7b-4e37-bc18-9de769034052", X-TransactionID:"dd2e96a2-6d7b-4e37-bc18-9de769034052", X-ECOMP-RequestID:"dd2e96a2-6d7b-4e37-bc18-9de769034052", X-ONAP-PartnerName:"UNKNOWN", X-InvocationID:"fbedb9e2-f5d9-461f-b822-cc1f35a7e6f0"]
      2020-05-15T21:08:03.069Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Request body:
      2020-05-15T21:08:03.070Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - ==========================request end================================================
      2020-05-15T21:08:03.606Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - ============================response begin==========================================
      2020-05-15T21:08:03.608Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Status code : 404 NOT_FOUND
      2020-05-15T21:08:03.609Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Status text :
      2020-05-15T21:08:03.610Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Headers : [Set-Cookie:"JSESSIONID=B42C8A5BA46E52823D3FF27219FC912A; Path=/; HttpOnly", X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", X-Frame-Options:"DENY", Content-Length:"0", Date:"Fri, 15 May 2020 21:08:03 GMT"]
      2020-05-15T21:08:03.611Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - Response body:
      2020-05-15T21:08:03.611Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|o.o.l.filter.spring.SpringClientPayloadFilter - =======================response end=================================================
      2020-05-15T21:08:03.622Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|org.onap.so.bpmn.common.util.OofInfraUtils - Error looking up or creating cloudsite : ONAP-POD-01-Rail-07
      2020-05-15T21:08:03.623Z|dd2e96a2-6d7b-4e37-bc18-9de769034052|org.onap.so.bpmn.common.util.OofInfraUtils - CloudSite Lookup/Creation Error: java.lang.NullPointerException

       

      Here's the relevant code in  MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java:

      public void createCloudSite(CloudSite cloudSite, DelegateExecution execution) {
      String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution);
      String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution);
      try {
      CloudSite getCloudsite;

      CatalogDbClient client = new CatalogDbClient(endpoint, auth);

      getCloudsite = Optional.ofNullable(client.getCloudSite(cloudSite.getId(), endpoint + "/cloudSite/"))
      .orElse(new CloudSite());
      if (!cloudSite.getId().equals(getCloudsite.getId())) {
      client.postCloudSite(cloudSite);
      logger.debug("Did not findd cloudsite : {}", cloudSite.getId());
      logger.debug("Will create cloudSite: {}", cloudSite.toString());
      } else {
      logger.debug("Found cloudsite : {}", cloudSite.getId());
      logger.debug("Will not create cloudSite: {}", cloudSite.toString());
      }
      } catch (Exception e) {
      logger.debug("Error looking up or creating cloudsite : {}", cloudSite.getId());
      logger.debug("CloudSite Lookup/Creation Error: " + e);
      }

            ewmulta ewmulta
            ewmulta ewmulta
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: