Policy push to default PDP groups #policy #drools


I tried to push the operational policy from policy GUI to default PDP group, but I can see the error message from drool log like below. 

[2019-10-03T17:52:51.345+00:00|WARN|PolicyEngineManager|DMAAP-source-PDPD-CONFIGURATION] Policy Controller default not found
[2019-10-03T17:52:51.345+00:00|WARN|PolicyEngineManager|DMAAP-source-PDPD-CONFIGURATION] controller default does not exist. Attempting recovery from disk
[2019-10-03T17:52:51.346+00:00|ERROR|PolicyEngineManager|DMAAP-source-PDPD-CONFIGURATION] PolicyEngineManager [alive=true, locked=false]: cannot update-policy-controller because of properties for default-controller are not persisted.
[2019-10-03T17:52:51.347+00:00|ERROR|PolicyEngineManager|DMAAP-source-PDPD-CONFIGURATION] transaction

Should I enable any policy feature to fix this issue or I should make a new PDP group from policy GUI and push to that group?
Below is the state of features in drool container.
name                      version         status
----                      -------         ------
pooling-dmaap             1.3.7           disabled
test-transaction          1.3.7           disabled
controlloop-casablanca    1.3.7           disabled
state-management          1.3.7           disabled
active-standby-management 1.3.7           disabled
controlloop-utils         1.3.7           disabled
distributed-locking       1.3.7           enabled
healthcheck               1.3.7           enabled
eelf                      1.3.7           disabled
session-persistence       1.3.7           disabled
controlloop-trans         1.3.7           enabled
controlloop-amsterdam     1.3.7           enabled
pooling: OK @ 1811

I will appreciate if anyone can give a idea.

Jorge Hernandez

Check out in the drools container the $POLICY_LOGS/network.log , look for configuration messages over the PDPD-CONFIGURATION channel, you should see an update configuration request commanding drools to use a given maven artifact. Pay attention to the "controller" field in that message, based on the log messages you showed, it seems that the message sent by the brmsgw has the name "default".  If you could verify that the message looks correct and the name "amsterdam" and the right maven coordinates are relayed on the message from the brmsgw.  A priori, it seems that the association between the policy and the controller in the GUI is not quite right.  If you can look to see if there is something wrong in that area.




Thank you for your response. I could see below message sent from brmwgw

And debug.log shows the error message that I posted initially. 

Can I ask what do you mean that the association between policy and controller is not quite right? 

Min Yoon

Jorge Hernandez

Hi Min,

Yes, in the message, the "name":"default", should be "name":"amsterdam" to match the drools controller name.   If you look in the actual "createPolicy" messages using the legacy APIs, https://git.onap.org/oom/tree/kubernetes/policy/resources/config/pe/push-policies.sh?h=casablanca, (see the association with "amsterdam" controller in the MATCHING section in the message for BRMSParamvFirewall policy).   

That association would have to be done when somewhere through the GUI when you edit the policy, take a look and see if you see an obvious option to do it, otherwise may be Praveen or Utkarsh could provide advice on how to go about it.

Best regards,


Hello Jorge, 

I sent the message to "PDPD-CONFIGURATION" channel by changing the name to "amsterdam" using postman and I could see drool container success to deploy the artifact. I probably need to create a new group in policy GUI. Thank you for your help.