keystone中的消息通知

keystone提供了对资源使用情况的通知,以便第三方应用能够对资源进行计费、监控、配额管理等操作。目前有两种通知格式,分别为cadf和basic。默认为cadf,可以在keystone.conf中进行配置(notification_format = cadf)
关于两种格式的区别请参考:
https://docs.openstack.org/keystone/latest/advanced-topics/event_notifications.html
两者的主要差别在于payload不同, 第3部分会进行详细介绍。

1. 如何配置

①transport_url

这里写图片描述

②driver

这里写图片描述
这里配置driver = messaging

2. 代码中的实现

以创建用户为例:
这里写图片描述
keystone已经提供了通知的模块,我们只需要调用即可。

3. 通知的格式

cadf:

截取一个创建用户所发送的通知:
这里写图片描述
先看下payload部分:
id 就是initiator_id, 执行操作的用户id
eventType:cadf的关键字,用以说明事件的类型,主要的关键字为:activity, monitor,control,还有一些额外的关键字未列出。
action:执行的操作,. 操作.资源类型
resource_info: 一般就是资源的ID,比如这里就是user_id

公共部分(basic格式也有):
event_type:事件类型,格式一般为identity..;其中resource_type就是资源比如user、project等;operation就是对资源的操作,比如create、delete等。支持的资源和操作如下所示:
这里写图片描述
message_id
priority:目前是无法配置的,默认都是‘INFO’
publisher_id
timestamp

basic:

basic的payload部分:
{
“resource_info”:
}
相比较cadf格式,这种类型非常简单。

4. 关于RabbitMQ

Keystone消息通知所使用的exchange、queues信息如下:
Exchange:名称为keystone 类型为topic
Routing-key: notifications.info
Queues: notifications.info

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值