1 diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c
2 index ced29b2..892e4b6 100644
3 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c
4 +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c
5 @@ -166,7 +166,8 @@ void evel_init_header(EVENT_HEADER * const header,const char *const eventname)
6 header->last_epoch_microsec = tv.tv_usec + 1000000 * tv.tv_sec;
7 header->priority = EVEL_PRIORITY_NORMAL;
8 header->reporting_entity_name = strdup(openstack_vm_name());
9 - header->source_name = strdup(openstack_vm_name());
10 + /* header->source_name = strdup(openstack_vm_name()); */
11 + header->source_name = strdup(openstack_vnf_id()); /* vCPE quick hack */
12 header->sequence = event_sequence;
13 header->start_epoch_microsec = header->last_epoch_microsec;
14 header->major_version = EVEL_HEADER_MAJOR_VERSION;
15 @@ -180,7 +181,8 @@ void evel_init_header(EVENT_HEADER * const header,const char *const eventname)
16 evel_init_option_string(&header->nfcnaming_code);
17 evel_init_option_string(&header->nfnaming_code);
18 evel_force_option_string(&header->reporting_entity_id, openstack_vm_uuid());
19 - evel_force_option_string(&header->source_id, openstack_vm_uuid());
20 + /* evel_force_option_string(&header->source_id, openstack_vm_uuid()); */
21 + evel_force_option_string(&header->source_id, openstack_vnf_id()); /* vCPE quick hack */
22 evel_init_option_intheader(&header->internal_field);
25 @@ -215,7 +217,8 @@ void evel_init_header_nameid(EVENT_HEADER * const header,const char *const event
26 header->last_epoch_microsec = tv.tv_usec + 1000000 * tv.tv_sec;
27 header->priority = EVEL_PRIORITY_NORMAL;
28 header->reporting_entity_name = strdup(openstack_vm_name());
29 - header->source_name = strdup(openstack_vm_name());
30 + /* header->source_name = strdup(openstack_vm_name()); */
31 + header->source_name = strdup(openstack_vnf_id()); /* vCPE quick hack */
32 header->sequence = event_sequence;
33 header->start_epoch_microsec = header->last_epoch_microsec;
34 header->major_version = EVEL_HEADER_MAJOR_VERSION;
35 @@ -229,7 +232,8 @@ void evel_init_header_nameid(EVENT_HEADER * const header,const char *const event
36 evel_init_option_string(&header->nfcnaming_code);
37 evel_init_option_string(&header->nfnaming_code);
38 evel_force_option_string(&header->reporting_entity_id, openstack_vm_uuid());
39 - evel_force_option_string(&header->source_id, openstack_vm_uuid());
40 + /* evel_force_option_string(&header->source_id, openstack_vm_uuid()); */
41 + evel_force_option_string(&header->source_id, openstack_vnf_id()); /* vCPE quick hack */
42 evel_init_option_intheader(&header->internal_field);
45 diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c
46 index 11fef1b..d82f282 100644
47 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c
48 +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c
49 @@ -59,6 +59,11 @@ static char vm_uuid[MAX_METADATA_STRING+1] = {0};
50 static char vm_name[MAX_METADATA_STRING+1] = {0};
52 /**************************************************************************//**
53 + * ID of the VNF extracted from the OpenStack metadata service.
54 + *****************************************************************************/
55 +static char vnf_id[MAX_METADATA_STRING+1] = {0};
57 +/**************************************************************************//**
58 * How many metadata elements we allow for in the retrieved JSON.
59 *****************************************************************************/
60 static const int MAX_METADATA_TOKENS = 128;
61 @@ -289,6 +294,19 @@ EVEL_ERR_CODES openstack_metadata(int verbosity)
63 EVEL_DEBUG("VM Name: %s", vm_name);
65 + if (json_get_string(rx_chunk.memory,
69 + vnf_id) != EVEL_SUCCESS)
71 + rc = EVEL_BAD_METADATA;
72 + EVEL_ERROR("Failed to extract VNF ID from OpenStack metadata");
76 + EVEL_DEBUG("VNF Id: %s", vnf_id);
81 @@ -318,6 +336,9 @@ void openstack_metadata_initialize()
83 "Dummy VM name - No Metadata available",
86 + "Dummy VNF ID - No Metadata available",
87 + MAX_METADATA_STRING);
90 /**************************************************************************//**
91 @@ -590,3 +611,13 @@ const char *openstack_vm_uuid()
96 +/**************************************************************************//**
97 + * Get the VM UUID provided by the metadata service.
100 + *****************************************************************************/
101 +const char *openstack_vnf_id()
105 diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h
106 index 1ee4409..b9ed21c 100644
107 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h
108 +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h
109 @@ -55,4 +55,11 @@ const char *openstack_vm_name();
110 *****************************************************************************/
111 const char *openstack_vm_uuid();
113 +/**************************************************************************//**
114 + * Get the VNF ID provided by the metadata service.
117 + *****************************************************************************/
118 +const char *openstack_vnf_id();