Merge "make generate_uuid return valid uuid"
This commit is contained in:
commit
b6a74b729c
@ -104,7 +104,7 @@ details):
|
||||
"name": "public"
|
||||
}
|
||||
],
|
||||
"id": "openstack:06747855d62547d4bfd707f75b8a1c54",
|
||||
"id": "06747855d62547d4bfd707f75b8a1c54",
|
||||
"name": "nova"
|
||||
},
|
||||
"observer": {
|
||||
@ -112,7 +112,7 @@ details):
|
||||
},
|
||||
# tags use to query events on,
|
||||
"tags": [
|
||||
"correlation_id?value=openstack:56cdde6f-6b4e-48a4-94e6-defb40522fb2"
|
||||
"correlation_id?value=56cdde6f-6b4e-48a4-94e6-defb40522fb2"
|
||||
],
|
||||
"eventType": "activity",
|
||||
"initiator": {
|
||||
@ -128,8 +128,8 @@ details):
|
||||
"agent": "python-novaclient",
|
||||
"address": "9.26.26.250"
|
||||
},
|
||||
"project_id": "openstack:e7e2bcc9c0df4f3eabcd412ae62503f6",
|
||||
"id": "openstack:68a3f50705a54f799ce94380fc02ed8a"
|
||||
"project_id": "e7e2bcc9c0df4f3eabcd412ae62503f6",
|
||||
"id": "68a3f50705a54f799ce94380fc02ed8a"
|
||||
},
|
||||
# optional Reason for activity event,
|
||||
"reason": {
|
||||
@ -148,7 +148,7 @@ details):
|
||||
],
|
||||
"action": "authenticate/logon",
|
||||
"outcome": "success",
|
||||
"id": "openstack:0a196053-95de-48f8-9890-4527b25b5007",
|
||||
"id": "0a196053-95de-48f8-9890-4527b25b5007",
|
||||
# Event model is extensible so additional attributes may be added to describe model,
|
||||
"requestPath": "/v2/e7e2bcc9c0df4f3eabcd412ae62503f6/os-certificates"
|
||||
}
|
||||
@ -188,7 +188,7 @@ Event serialisation:
|
||||
"eventTime": "2014-02-27T19:29:30.855665+0000",
|
||||
"target": {
|
||||
"typeURI": "service/compute/cpu",
|
||||
"id": "openstack:06747855d62547d4bfd707f75b8a1c54",
|
||||
"id": "06747855d62547d4bfd707f75b8a1c54",
|
||||
"name": "instance"
|
||||
},
|
||||
"observer": {
|
||||
@ -198,13 +198,13 @@ Event serialisation:
|
||||
"initiator": {
|
||||
"typeURI": "service/oss/monitoring",
|
||||
"name": "ceilometer-pollster",
|
||||
"id": "openstack:68a3f50705a54f799ce94380fc02ed8a"
|
||||
"id": "68a3f50705a54f799ce94380fc02ed8a"
|
||||
},
|
||||
"measurement": [
|
||||
{
|
||||
"result": "80",
|
||||
"metric": {
|
||||
"metricId": "openstack:<metric_id>",
|
||||
"metricId": "<metric_id>",
|
||||
"unit": "%",
|
||||
"name": "CPU utilisation metric"
|
||||
}
|
||||
@ -212,7 +212,7 @@ Event serialisation:
|
||||
],
|
||||
"action": "monitor",
|
||||
"outcome": "success",
|
||||
"id": "openstack:0a196053-95de-48f8-9890-4527b25b5007"
|
||||
"id": "0a196053-95de-48f8-9890-4527b25b5007"
|
||||
}
|
||||
|
||||
.. note::
|
||||
|
@ -54,7 +54,7 @@ Serialisation
|
||||
|
||||
{
|
||||
"typeURI": "http://schemas.dmtf.org/cloud/audit/1.0/event",
|
||||
"id": "openstack:a80dc5ee-be83-48ad-ad5e-6577f2217637",
|
||||
"id": "a80dc5ee-be83-48ad-ad5e-6577f2217637",
|
||||
"eventType": "activity",
|
||||
"action": "read",
|
||||
"outcome": "success",
|
||||
@ -64,10 +64,10 @@ Serialisation
|
||||
},
|
||||
"eventTime": "2014-01-17T23:23:38.109989+0000",
|
||||
"initiator": {
|
||||
"id": "openstack:95f12d248a234a969f456cd2c794f29a",
|
||||
"id": "95f12d248a234a969f456cd2c794f29a",
|
||||
"typeURI": "service/security/account/user",
|
||||
"name": "admin",
|
||||
"project_id": "openstack:e55b158759854ea6a7852aa76632c6c1",
|
||||
"project_id": "e55b158759854ea6a7852aa76632c6c1",
|
||||
"credential": {
|
||||
"token": "MIIQBgYJKoZIhvcNAQcCoIIP9z xxxxxx KoZIhvcIP9z=",
|
||||
"identity_status": "Confirmed"
|
||||
@ -78,7 +78,7 @@ Serialisation
|
||||
}
|
||||
},
|
||||
"target": {
|
||||
"id": "openstack:0f126160203748a5b4923f2eb6e3b7db",
|
||||
"id": "0f126160203748a5b4923f2eb6e3b7db",
|
||||
"typeURI": "service/compute/servers",
|
||||
"name": "nova",
|
||||
"addresses": [
|
||||
@ -110,6 +110,6 @@ Serialisation
|
||||
],
|
||||
"requestPath": "/v2/56600971-90f3-4370-807f-ab79339381a9/servers",
|
||||
"tags": [
|
||||
"correlation_id?value=openstack:bcac04dc-e0be-4110-862c-347088a7836a"
|
||||
"correlation_id?value=bcac04dc-e0be-4110-862c-347088a7836a"
|
||||
]
|
||||
}
|
||||
|
@ -11,11 +11,11 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
|
||||
import hashlib
|
||||
import uuid
|
||||
|
||||
from debtcollector import removals
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
|
||||
CONF = cfg.CONF
|
||||
opts = [
|
||||
@ -26,29 +26,35 @@ opts = [
|
||||
CONF.register_opts(opts, group='audit')
|
||||
|
||||
|
||||
# TODO(mrutkows): make the namespace prefix configurable and have it resolve to
|
||||
# a full openstack namespace/domain value via some declaration (e.g.
|
||||
# "openstack:" == "http:\\www.openstack.org\")...
|
||||
AUDIT_NS = None
|
||||
if CONF.audit.namespace:
|
||||
md5_hash = hashlib.md5(CONF.audit.namespace.encode('utf-8'))
|
||||
AUDIT_NS = uuid.UUID(md5_hash.hexdigest())
|
||||
|
||||
|
||||
def generate_uuid():
|
||||
"""Generate a CADF identifier
|
||||
"""
|
||||
return norm_ns(str(uuid.uuid4()))
|
||||
if AUDIT_NS:
|
||||
return str(uuid.uuid5(AUDIT_NS, str(uuid.uuid4())))
|
||||
return str(uuid.uuid4())
|
||||
|
||||
|
||||
@removals.remove
|
||||
def norm_ns(str_id):
|
||||
"""Apply a namespace to the identifier
|
||||
"""
|
||||
"""Apply a namespace to the identifier """
|
||||
prefix = CONF.audit.namespace + ':' if CONF.audit.namespace else ''
|
||||
return prefix + str_id
|
||||
|
||||
|
||||
# TODO(mrutkows): validate any cadf:Identifier (type) record against
|
||||
# CADF schema. This would include schema validation as an optional parm.
|
||||
def is_valid(value):
|
||||
"""Validation to ensure Identifier is correct.
|
||||
"""
|
||||
if not isinstance(value, six.string_types):
|
||||
raise TypeError
|
||||
elif not value:
|
||||
if value in ['target', 'initiator', 'observer']:
|
||||
return True
|
||||
try:
|
||||
uuid.UUID(value)
|
||||
except ValueError:
|
||||
return False
|
||||
return True
|
||||
else:
|
||||
return True
|
||||
|
@ -5,3 +5,4 @@ oslo.config>=2.7.0 # Apache-2.0
|
||||
oslo.serialization>=1.10.0 # Apache-2.0
|
||||
pytz>=2013.6
|
||||
six>=1.9.0
|
||||
debtcollector>=0.3.0 # Apache-2.0
|
||||
|
Loading…
Reference in New Issue
Block a user