I have been able to successfully run the vFWCL closed loop policy test via 
robot a number of times.

Now, I am trying to connect the dots to figure out how it works.



I see the vFW sending out VES events.  The identifying info I see in the event 
message are these:

      "eventName": "vFirewallBroadcastPackets",

      "reportingEntityName": "ete-vfwclvfwsnk-55bad04b-0",

      "sourceName": "Ete_vFWCLvFWSNK_55bad04b_0",







I see a policy that looks like (I updated the closedLoopControlName in Consul 
to match my service):

  {

      "eventName": "vFirewallBroadcastPackets",

      "controlLoopSchemaType": "VM",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

      "thresholds": [

        {

          "closedLoopControlName": 
"ControlLoop-vFirewall-cd1780bc-a451-478d-a052-89b2e79a02d3",

          "version": "1.0.2",

          "fieldPath": 
"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",

          "thresholdValue": 300,

          "direction": "LESS_OR_EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ONSET"

        },

        {

          "closedLoopControlName": 
"ControlLoop-vFirewall-cd1780bc-a451-478d-a052-89b2e79a02d3",

          "version": "1.0.2",

          "fieldPath": 
"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",

          "thresholdValue": 700,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    },



If I query DCAE as follows, I see events as follows:

curl -X GET   
http://10.12.5.110:30227/events/unauthenticated.DCAE_CL_OUTPUT/group1/C1   -H 
'Accept: application/json'   -H 'Content-Type: application/c

ambria'



{

  "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",

  "policyVersion": "v0.0.1",

  "policyName": "DCAE.Config_tca-hi-lo",

  "policyScope": "DCAE",

  "target_type": "VM",

  "AAI": {

    "vserver.prov-status": "ACTIVE",

    "vserver.resource-version": "1564514347926",

    "vserver.is-closed-loop-disabled": false,

    "vserver.vserver-name2": "Ete_vFWCLvFWSNK_55bad04b_0",

    "vserver.vserver-id": "f1245f7f-ff31-482b-babe-69f0bbe8d63a",   <-- Id in 
Openstack of the VM

    "vserver.vserver-selflink": 
"http://10.12.25.2:8774/v2.1/6bbd2981b210461dbc8fe846df1a7808/servers/f1245f7f-ff31-482b-babe-69f0bbe8d63a";,

    "vserver.in-maint": false,

    "vserver.vserver-name": "Ete_vFWCLvFWSNK_55bad04b_0"

  },

  "closedLoopAlarmStart": 1564594293276883,

  "closedLoopEventStatus": "ONSET",

  "closedLoopControlName": 
"ControlLoop-vFirewall-cd1780bc-a451-478d-a052-89b2e79a02d3",

  "version": "1.0.2",

  "target": "vserver.vserver-name",

  "requestID": "19883bd6-5558-4e51-b0f2-1ad24edb786e",

  "from": "DCAE"

}



Some questions:
1.      when an event from 'Ete_vFWCLvFWSNK_55bad04b_0' with event name of 
'vFirewallBroadcastPackets' is received, something is able to look up the 
vserver by name in AAI and associate the event with the policy which has a 
control loop name based on the invariant model id of the VNF (e.g. 
ControlLoop-vFirewall-cd1780bc-a451-478d-a052-89b2e79a02d3) - is that basically 
right - or is there another step(s)?
2.      What if I have another Service (based on a different vFW model) that I 
also want to do the same kind of closed loop policy for:
a.      Do I add another similar policy with the correct closedLoopControlName 
for that service?
b.      Or, do I just add entries for the correct closedLoopControlName in the 
threasholds list of the existing policy (like the one above)?
c.      And how do I do it - via pushing to policy - or editing the 
'dcae-tca-analytics' key/value in consul? (like I did to get the vfwcl via 
robot test to work)
3.      Once the policy is triggered, I suppose APPC is somehow invoked to 
cause the vPKTGEN to be configured to 5 streams.
a.      I don't see where that configuration of '5' streams is specified in the 
policy - is that done somewhere else?
b.      I see the appc netconf mount for the vPKTGEN - e.g.

<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">

    <node-id>d0dda659-d2be-4f9e-9aaa-19fbe585b4ce</node-id>

    <reconnect-on-changed-schema 
xmlns="urn:opendaylight:netconf-node-topology">false</reconnect-on-changed-schema>

    <password xmlns="urn:opendaylight:netconf-node-topology">admin</password>

    <username xmlns="urn:opendaylight:netconf-node-topology">admin</username>

    <sleep-factor 
xmlns="urn:opendaylight:netconf-node-topology">1.5</sleep-factor>

    <port xmlns="urn:opendaylight:netconf-node-topology">2831</port>

    <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>

    <connection-timeout-millis 
xmlns="urn:opendaylight:netconf-node-topology">20000</connection-timeout-millis>

    <max-connection-attempts 
xmlns="urn:opendaylight:netconf-node-topology">0</max-connection-attempts>

    <host xmlns="urn:opendaylight:netconf-node-topology">10.12.6.219</host>

    <between-attempts-timeout-millis 
xmlns="urn:opendaylight:netconf-node-topology">2000</between-attempts-timeout-millis>

    <keepalive-delay 
xmlns="urn:opendaylight:netconf-node-topology">120</keepalive-delay>

</node>

But, I don't see where it is configured (or how appc? knows) to talk to 
http://{{VPKTGEN_IP}}:8183/restconf/config/stream-count:stream-count/<http://%7b%7bVPKTGEN_IP%7d%7d:8183/restconf/config/stream-count:stream-count/>
 to configure the stream count of the vPKTGEN.





Any answer, pointers on docs, other queries to look at, etc. are greatly 
appreciated.

Thanks,
Eric

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#18369): https://lists.onap.org/g/onap-discuss/message/18369
Mute This Topic: https://lists.onap.org/mt/32673950/21656
Group Owner: [email protected]
Unsubscribe: https://lists.onap.org/g/onap-discuss/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to