Uploaded image for project: 'Vnfsdk'
  1. Vnfsdk
  2. VNFSDK-133

Implement Batch event processing API in Java and C VES library

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Beijing Release
    • None
    • None

      Implemented Batch API to group set of VES of messages for sending over http.

        Tested against VES Collector.

         Enhanced test collector for Batch processing.

      Java Sample code:

      EvelBatch be = new EvelBatch();
      EvelFault flt2 = new EvelFault("Fault_vVNF", "vmname_ip",
      "NIC error", "Hardware failed",
      EvelHeader.PRIORITIES.EVEL_PRIORITY_HIGH,
      EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,
      EVEL_SOURCE_TYPES.EVEL_SOURCE_CARD,
      EVEL_VF_STATUSES.EVEL_VF_STATUS_ACTIVE);
      flt2.evel_fault_addl_info_add("nichw", "fail");
      flt2.evel_fault_addl_info_add("nicsw", "fail");
      be.addEvent(flt2);

      EvelFault flt3 = new EvelFault("Fault_vVNF", "vmname_ip2",
      "NIC error", "Hardware failed",
      EvelHeader.PRIORITIES.EVEL_PRIORITY_NORMAL,
      EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,
      EVEL_SOURCE_TYPES.EVEL_SOURCE_CARD,
      EVEL_VF_STATUSES.EVEL_VF_STATUS_ACTIVE);
      flt3.evel_fault_type_set("Interface fault");
      flt3.evel_fault_category_set("Failed category");
      flt3.evel_fault_interface_set("An Interface Card");
      flt3.evel_fault_addl_info_add("nichw", "fail");
      flt3.evel_fault_addl_info_add("nicsw", "fail");
      be.addEvent(flt3);

       

      EvelStateChange stc = new EvelStateChange("StateChange_vVNF", "vmname_ip",
      EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_IN_SERVICE,
      EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_OUT_OF_SERVICE,"bgp");
      stc.evel_statechange_addl_info_add("bgpa", "fail");
      stc.evel_statechange_addl_info_add("bgpb", "fail");
      //AgentMain.evel_post_event(stc);

      be.addEvent(stc);
      AgentMain.evel_post_event(be);

       

      C sample code

      batch = evel_new_batch("batchname","batchtest");
      /***************************************************************************/
      /* Fault */
      /***************************************************************************/
      fault = evel_new_fault("alarmname","alarmid", "An alarm condition",
      "Things are broken",
      EVEL_PRIORITY_NORMAL,
      EVEL_SEVERITY_MAJOR,
      EVEL_SOURCE_VIRTUAL_MACHINE,
      EVEL_VF_STATUS_READY_TERMINATE);

      if (fault != NULL)
      {
      evel_nfcnamingcode_set((EVENT_HEADER*)fault, "TEST");
      evel_nfnamingcode_set((EVENT_HEADER*)fault, "TEST");
      //evel_rc = evel_post_event((EVENT_HEADER *)fault);
      //if (evel_rc != EVEL_SUCCESS)
      //{
      // EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
      //}
      }
      else
      {
      EVEL_ERROR("New Fault failed");
      }
      printf(" Processed batch Fault %p\n",fault);
      evel_batch_add_event(batch,fault);

       

      fault2 = evel_new_fault("alarmname","alarmid", "Another alarm condition",
      "It broke badly",
      EVEL_PRIORITY_NORMAL,
      EVEL_SEVERITY_MAJOR,
      EVEL_SOURCE_PORT,
      EVEL_VF_STATUS_REQ_TERMINATE);
      if (fault2 != NULL)
      {
      evel_nfcnamingcode_set((EVENT_HEADER*)fault2, "TEST");
      evel_nfnamingcode_set((EVENT_HEADER*)fault2, "TEST");
      evel_fault_type_set(fault2, "Bad things happening");
      evel_fault_category_set(fault2, "Failed category");
      evel_fault_interface_set(fault2, "An Interface Card");
      //evel_rc = evel_post_event((EVENT_HEADER *)fault);
      //if (evel_rc != EVEL_SUCCESS)
      //{
      // EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
      //}
      }
      else
      {
      EVEL_ERROR("New Fault failed");
      }
      evel_batch_add_event(batch,fault2);

      fault3 = evel_new_fault("alarmname","alarmid", "My alarm condition",
      "It broke very badly",
      EVEL_PRIORITY_NORMAL,
      EVEL_SEVERITY_MAJOR,
      EVEL_SOURCE_HOST,
      EVEL_VF_STATUS_PREP_TERMINATE);
      if (fault3 != NULL)
      {
      evel_nfcnamingcode_set((EVENT_HEADER*)fault3, "TEST");
      evel_nfnamingcode_set((EVENT_HEADER*)fault3, "TEST");
      evel_fault_type_set(fault3, "Bad things happen...");
      evel_fault_interface_set(fault3, "My Interface Card");
      evel_fault_addl_info_add(fault3, "name1", "value1");
      evel_fault_addl_info_add(fault3, "name2", "value2");
      evel_batch_add_event(batch,fault3);
      evel_rc = evel_post_event((EVENT_HEADER *)batch);
      if (evel_rc != EVEL_SUCCESS)
      {
      EVEL_ERROR("Post batch event failed %d (%s)", evel_rc, evel_error_string());
      }
      }
      else
      {
      EVEL_ERROR("New Fault failed");
      }
      printf(" Processed full batch Fault %p\n",fault3);

      }

            gokuls gokuls
            gokuls gokuls
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: