Uploaded image for project: 'Policy Framework'
  1. Policy Framework
  2. POLICY-3144

API: native drools policy type creation in jmeter failing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • Honolulu Release
    • Honolulu Release
    • api

      JSON against API components:

      POST /policy/api/v1/policytypes:
      
      {
          "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
          "policy_types": {
              "onap.policies.Native": {
                  "derived_from": "tosca.policies.Root",
                  "description": "a base policy type for all native PDP policies",
                  "version": "1.0.0"
              },
              "onap.policies.native.Drools": {
                  "derived_from": "onap.policies.Native",
                  "description": "a base policy type for all native PDP policies",
                  "version": "1.0.0"
              },
              "onap.policies.native.drools.Controller": {
                  "derived_from": "onap.policies.native.Drools",
                  "description": "a policy type for a drools controller configuration",
                  "version": "9.0.0",
                  "properties": {
                      "controllerName": {
                          "type": "string",
                          "required": true,
                          "description": "the drools controller name"
                      },
                      "sourceTopics": {
                          "type": "list",
                          "required": false,
                          "description": "source topics and applicable events",
                          "entry_schema": {
                              "type": "onap.datatypes.dmaap.topic"
                          }
                      },
                      "sinkTopics": {
                          "type": "list",
                          "required": false,
                          "description": "sink topics and applicable events",
                          "entry_schema": {
                              "type": "onap.datatypes.dmaap.topic"
                          }
                      },
                      "customConfig": {
                          "type": "map",
                          "required": false,
                          "description": "any use case specific configurations relevant to the drools controller",
                          "entry_schema": {
                              "type": "string"
                          }
                      }
                  }
              },
              "onap.policies.native.drools.Artifact": {
                  "derived_from": "onap.policies.native.Drools",
                  "description": "a policy type for native drools artifact policies",
                  "version": "9.0.0",
                  "properties": {
                      "rulesArtifact": {
                          "type": "onap.datatypes.native.rules_artifact",
                          "required": true,
                          "description": "the GAV information of the maven artifact"
                      },
                      "controller": {
                          "type": "onap.datatypes.drools.controller.relation",
                          "required": true,
                          "description": "the drools controller to which the current native policy is assigned"
                      }
                  }
              }
          },
          "data_types": {
              "onap.datatypes.dmaap.topic": {
                  "derived_from": "tosca.datatypes.Root",
                  "properties": {
                      "topicName": {
                          "type": "string",
                          "required": true,
                          "description": "the dmaap topic name"
                      },
                      "events": {
                          "type": "list",
                          "required": true,
                          "description": "events used by this topic",
                          "entry_schema": {
                              "type": "onap.datatypes.dmaap.events"
                          }
                      }
                  }
              },
              "onap.datatypes.dmaap.events": {
                  "derived_from": "tosca.datatypes.Root",
                  "properties": {
                      "eventClass": {
                          "type": "string",
                          "required": true,
                          "description": "the event canonical class for serialization"
                      },
                      "eventFilter": {
                          "type": "string",
                          "required": false,
                          "description": "the JSONPath based condition to filter out the events to serialize"
                      },
                      "customSerialization": {
                          "type": "onap.datatypes.dmaap.custom_serialization",
                          "required": false,
                          "description": "overrides the default serialization/deserialization mechanisms with custom ones"
                      }
                  }
              },
              "onap.datatypes.dmaap.custom_serialization": {
                  "derived_from": "tosca.datatypes.Root",
                  "properties": {
                      "customSerializerClass": {
                          "type": "string",
                          "required": true,
                          "description": "the class that contains the JSON parser serializer/deserializer."
                      },
                      "jsonParser": {
                          "type": "string",
                          "required": true,
                          "description": "static field in customSerialized class with the json parser (currently only gson supported)"
                      }
                  }
              },
              "onap.datatypes.native.rules_artifact": {
                  "derived_from": "tosca.datatypes.Root",
                  "properties": {
                      "groupId": {
                          "type": "string",
                          "required": true,
                          "description": "the groupId of the maven artifact"
                      },
                      "artifactId": {
                          "type": "string",
                          "required": true,
                          "description": "the artifactId of the maven artifact"
                      },
                      "version": {
                          "type": "string",
                          "required": true,
                          "description": "the version of the maven artifact"
                      }
                  }
              },
              "onap.datatypes.drools.controller.relation": {
                  "derived_from": "tosca.datatypes.Root",
                  "properties": {
                      "controllerName": {
                          "type": "string",
                          "required": true,
                          "description": "the name of drools controller policy"
                      }
                  }
              }
          }
      }

      I believe this used to work in previous releases as part of the jmeter runs.

       

      {
          "code": "NOT_ACCEPTABLE",
          "error": "\"incoming fragment\" INVALID, item has status INVALID\n  item \"entity\" value \"onap.datatypes.drools.controller.relation:0.0.0\" INVALID, does not equal existing entity\n",
          "details": [
              "\"incoming fragment\" INVALID, item has status INVALID\n  item \"entity\" value \"onap.datatypes.drools.controller.relation:0.0.0\" INVALID, does not equal existing entity\n"
          ]
      }

      Stack Trace:

       

      21:13:33.817 [qtp1623148876-21] WARN  o.o.p.a.main.rest.ApiRestController - POST /policytypes21:13:33.817 [qtp1623148876-21] WARN  o.o.p.a.main.rest.ApiRestController - POST /policytypesorg.onap.policy.models.base.PfModelRuntimeException: "incoming fragment" INVALID, item has status INVALID  item "entity" value "onap.datatypes.drools.controller.relation:0.0.0" INVALID, does not equal existing entity
       at org.onap.policy.models.tosca.utils.ToscaServiceTemplateUtils.addFragment(ToscaServiceTemplateUtils.java:96) at org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider.appendToServiceTemplate(SimpleToscaProvider.java:108) at org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider.createPolicyTypes(SimpleToscaProvider.java:390) at org.onap.policy.models.tosca.authorative.provider.AuthorativeToscaProvider.createPolicyTypes(AuthorativeToscaProvider.java:311) at org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl.createPolicyTypes(DatabasePolicyModelsProviderImpl.java:134) at org.onap.policy.api.main.rest.provider.PolicyTypeProvider.createPolicyType(PolicyTypeProvider.java:85) at org.onap.policy.api.main.rest.ApiRestController.createPolicyType(ApiRestController.java:437)

            lapentad lapentad
            jhh jhh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: