Eli Mesika has posted comments on this change.
Change subject: API: Adding support for external events
......................................................................
Patch Set 2: (11 inline comments)
....................................................
File
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
Line 1458: <xs:element ref="template" minOccurs="0" />
Line 1459: <xs:element ref="cluster" minOccurs="0" />
Line 1460: <xs:element ref="data_center" minOccurs="0" />
Line 1461: <xs:element name="origin" type="xs:string" minOccurs="0"
maxOccurs="1" />
Line 1462: <xs:element name="custom_event_id" type="xs:int"
minOccurs="0" maxOccurs="1" />
Done
Line 1463: <xs:element name="event_flood_in_sec" type="xs:int"
minOccurs="0" maxOccurs="1" />
Line 1464: <xs:element name="custom_data" type="xs:string"
minOccurs="0" maxOccurs="1" />
Line 1465: </xs:sequence>
Line 1466: </xs:extension>
Line 1459: <xs:element ref="cluster" minOccurs="0" />
Line 1460: <xs:element ref="data_center" minOccurs="0" />
Line 1461: <xs:element name="origin" type="xs:string" minOccurs="0"
maxOccurs="1" />
Line 1462: <xs:element name="custom_event_id" type="xs:int"
minOccurs="0" maxOccurs="1" />
Line 1463: <xs:element name="event_flood_in_sec" type="xs:int"
minOccurs="0" maxOccurs="1" />
Done
Line 1464: <xs:element name="custom_data" type="xs:string"
minOccurs="0" maxOccurs="1" />
Line 1465: </xs:sequence>
Line 1466: </xs:extension>
Line 1467: </xs:complexContent>
Line 1460: <xs:element ref="data_center" minOccurs="0" />
Line 1461: <xs:element name="origin" type="xs:string" minOccurs="0"
maxOccurs="1" />
Line 1462: <xs:element name="custom_event_id" type="xs:int"
minOccurs="0" maxOccurs="1" />
Line 1463: <xs:element name="event_flood_in_sec" type="xs:int"
minOccurs="0" maxOccurs="1" />
Line 1464: <xs:element name="custom_data" type="xs:string"
minOccurs="0" maxOccurs="1" />
Done
Line 1465: </xs:sequence>
Line 1466: </xs:extension>
Line 1467: </xs:complexContent>
Line 1468: </xs:complexType>
....................................................
File
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata_v-3.1.yaml
Line 1252: parameterType: null
Line 1253: signatures: []
Line 1254: urlparams: {}
Line 1255: headers: {}
Line 1256:
Done
Line 1257: - name: /api/events|rel=add
Line 1258: request:
Line 1259: body:
Line 1260: parameterType: Event
Line 1258: request:
Line 1259: body:
Line 1260: parameterType: Event
Line 1261: signatures:
Line 1262: - mandatoryArguments: {event.description: 'xs:string',
event.severity: 'xs:string', event.origin: 'xs:string', event.customEventId:
'xs:int'}
Replying there
Line 1263: optionalArguments:{event.host.id: 'xs:string',event.user.id:
'xs:string',event.vm.id: 'xs:string',event.storageDomain.id:
'xs:string',event.template.id: 'xs:string',event.cluster.id:
'xs:string',event.dataCenter.id: 'xs:string',}
Line 1264: urlparams: {}
Line 1265: headers:
Line 1266: Content-Type: {value: application/xml|json, required: true}
Line 1259: body:
Line 1260: parameterType: Event
Line 1261: signatures:
Line 1262: - mandatoryArguments: {event.description: 'xs:string',
event.severity: 'xs:string', event.origin: 'xs:string', event.customEventId:
'xs:int'}
Line 1263: optionalArguments:{event.host.id: 'xs:string',event.user.id:
'xs:string',event.vm.id: 'xs:string',event.storageDomain.id:
'xs:string',event.template.id: 'xs:string',event.cluster.id:
'xs:string',event.dataCenter.id: 'xs:string',}
As custom events may be applied on a specific entity instance, one or more IDs
may be set, so all are optional
Line 1264: urlparams: {}
Line 1265: headers:
Line 1266: Content-Type: {value: application/xml|json, required: true}
Line 1267: Expect: {value: 201-created, required: false}
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
Line 60: }
Line 61:
Line 62: @Override
Line 63: public Response add(Event event) {
Line 64: validateParameters(event, "origin", "severity",
"eventFloodInSec", "description");
origin identifies the plug-in and is mandatory !
description is actually the message text and is mandatory
Line 65: AuditLog entity = map(event);
Line 66: return performCreation(VdcActionType.AddExternalEvent,
Line 67: new AddExternalEventParameters(entity),
Line 68: new
QueryIdResolver<Long>(VdcQueryType.GetAuditLogById,
GetAuditLogByIdParameters.class));
Line 61:
Line 62: @Override
Line 63: public Response add(Event event) {
Line 64: validateParameters(event, "origin", "severity",
"eventFloodInSec", "description");
Line 65: AuditLog entity = map(event);
Done
Line 66: return performCreation(VdcActionType.AddExternalEvent,
Line 67: new AddExternalEventParameters(entity),
Line 68: new
QueryIdResolver<Long>(VdcQueryType.GetAuditLogById,
GetAuditLogByIdParameters.class));
Line 69: }
Line 69: }
Line 70:
Line 71: @Override
Line 72: protected Response performRemove(String id) {
Line 73: return performAction(VdcActionType.RemoveExternalEvent, new
RemoveExternalEventParameters(Long.valueOf(id)));
Done
Line 74: }
....................................................
File
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/EventMapper.java
Line 85: return model;
Line 86: }
Line 87:
Line 88: @Mapping(from = Event.class, to = AuditLog.class)
Line 89: public static AuditLog map(Event event, AuditLog entity) {
Done
Line 90: AuditLog auditLog = (entity != null) ? entity : new AuditLog();
Line 91: auditLog.setseverity(map(event.getSeverity(), null));
Line 92: auditLog.setlog_time(event.getTime() == null ? new
Date((Calendar.getInstance().getTimeInMillis()))
Line 93: : event.getTime().toGregorianCalendar().getTime());
Line 122: }
Line 123: if (StringUtils.isNotEmpty(event.getCorrelationId())) {
Line 124: auditLog.setCorrelationId(event.getCorrelationId());
Line 125: }
Line 126: if (StringUtils.isNotEmpty(event.getCorrelationId())) {
Done
Line 127: auditLog.setCorrelationId(event.getCorrelationId());
Line 128: }
Line 129: if (StringUtils.isNotEmpty(event.getOrigin())) {
Line 130: auditLog.setOrigin(event.getOrigin());
--
To view, visit http://gerrit.ovirt.org/10097
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibdaf39df28c5f87db4c1bf9b5807c45a0a8ea9a8
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <[email protected]>
Gerrit-Reviewer: Eli Mesika <[email protected]>
Gerrit-Reviewer: Michael Pasternak <[email protected]>
Gerrit-Reviewer: Ori Liel <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches