支持通过 FM/PM 接口使用外部监控工具进行自动修复和自动扩展¶
https://blueprints.launchpad.net/tacker/+spec/support-auto-lcm
问题描述¶
本规范提供了一些实现,用于支持使用外部监控工具(如 Prometheus [1])进行自动修复和自动扩展。这些实现包括 ETSI NFV-SOL 002 v3.3.1 [2] 和 ETSI NFV-SOL 003 v3.3.1 [3] 基于的故障管理 / 性能管理接口,以及 Prometheus 插件的示例实现。
故障管理和性能管理接口在 ETSI NFV-SOL 002 v3.3.1 [2] 和 ETSI NFV-SOL 003 v3.3.1 [3] 中有定义,NFVO 或 EM 主动做出修复或扩展的决策。
Prometheus 插件具有一个接口,该接口由外部监控工具调用,并支持与 Prometheus 监控数据相关的的数据模型转换。
注意
除非有特殊说明,本规范中描述的客户端默认为 NFVO/EM,VNFM 默认为 Tacker。
提议的变更¶
需要进行以下更改
添加对 SOL002/003 中指定的故障管理接口的支持
添加 VNF 故障管理接口
获取告警(s)
GET /vnffm/v1/alarms 获取所有告警。
GET /vnffm/v1/alarms/{alarmId} 获取指定的告警。
确认告警
PATCH /vnffm/v1/alarms/{alarmId} 将目标告警更改为已确认状态。
订阅
POST /vnffm/v1/subscriptions 创建新的订阅。
获取订阅(s)
GET /vnffm/v1/subscriptions 获取所有订阅。
GET /vnffm/v1/subscriptions/{subscriptionId} 获取指定的订阅。
删除订阅
DELETE /vnffm/v1/subscriptions/{subscriptionId} 删除指定的订阅。
向客户端发送通知
POST <Client URI from subscriptions> 通知客户端 Tacker 收到告警。
GET <Client URI from subscriptions> 确认客户端的 URI 正确。
添加对 SOL002/003 中指定的性能管理接口的支持
添加 VNF 性能管理接口
创建或更新 PM 作业
POST /vnfpm/v2/pm_jobs 创建 PM 作业。
PATCH /vnfpm/v2/pm_jobs/{pmJobId} 更新指定的 PM 作业。
获取 PM 作业(s)
GET /vnfpm/v2/pm_jobs 获取所有 PM 作业。
GET /vnfpm/v2/pm_jobs/{pmJobId} 获取指定的 PM 作业。
删除 PM 作业
DELETE /vnfpm/v2/pm_jobs/{pmJobId} 删除指定的 PM 作业。
获取 PM 报告
GET /vnfpm/v2/pm_jobs/{pmJobId}/reports/{reportId} 获取指定的性能报告。
向客户端发送通知
POST <Client URI for notifications> 通知客户端 Tacker 收到与 PM 相关的事件。
GET <Client URI for notifications> 确认客户端的 URI 正确。
添加 Tacker 与外部监控工具之间通信的 RESTful API 支持
POST /alert 接收来自外部监控工具发送的 FM 告警。
POST /pm_event 接收来自外部监控工具发送的 PM 事件。
创建新的 DB 表
创建用于 FM 告警的新 DB 表。
创建用于 FM 订阅的新 DB 表。
创建用于 PM 作业的新 DB 表。
创建用于 PM 报告的新 DB 表。
注意
外部监控工具是一个监控服务,不包含在 Tacker 中。运营商实施外部监控工具。外部监控工具使用指标服务,例如 Prometheus,并使用 Prometheus 插件接口通知 FM/PM 事件。
Prometheus 插件¶
Prometheus 插件是一个示例实现,它执行 Prometheus 特定的功能,例如将 Prometheus 特定的数据模型转换为 SOL002/003 [2] [3] 兼容的数据模型。
Prometheus 插件是一个可选功能。Tacker 将根据配置文件中的内容决定是否启用它。配置文件的详细信息在 [4] 中描述。
基于 FM 告警触发的自动修复¶
当外部监控工具检测到 CNF 失败时,它会将告警消息发送到 Tacker。Tacker 将告警转换为告警并将其存储在 DB 中。
NFVO/EM 基于 SOL002/003 [2] [3] 通过 FM 接口定期获取告警(轮询模式)或通过通知触发(通知模式)。
轮询模式是一种 NFVO/EM 定期查询 VNFM 监控信息的方法,而通知模式是一种 VNFM 在订阅/通知订阅模型中通知 NFVO/EM 的方法。
FM 轮询模式下修复操作的设计¶
以下是轮询模式下修复的示意图
+------------------------+
| |
| Client (NFVO/EM) |
| |
+--+---------+-----------+
5. Heal | | 4. Get Alarms and return result
+------|---------|------------------------------------------------------------+
| | | VNFM |
| +---|---------|---------+ +---------------------------------+ |
| | | | Tacker | | Tacker | |
| | | | Server | | Conductor | |
| | | +-----v------+ | | | +--------+ |
| | | | VnfFm +------------------------------------------> Tacker | |
+----------------+ | | | | Controller | | | +--------------+ | | DB | |
| External | | | | +------------+ | | +------+ VnfFm +------------> | |
| Monitoring | | | | | | | | Driver | | +--------+ |
| Tool | 2. POST | | | | | | +--------------+ | |
| (based on | alert | | | +------------+ | | | 3. Convert alert to alarm | |
| Prometheus) +---------------------> Prometheus +-------+ | |
+--+-------------+ | | | | Plugin | | | | |
^ | | | +------------+ | | | |
| 1. Collect metrics | | | | | | |
| | | | +------------+ | | +--------------+ | |
| | | +---> Vnflcm +--------------> VmfLcmDriver +---+ | |
| | | | Controller | | | +--------------+ | | |
| | | +------------+ | | +---------v--+ | |
| | | | | | Infra | | |
| | | | | | Driver | | |
| | | | | +----+-------+ | |
| | +-----------------------+ +-----------------------|---------+ |
| +----------------------------------------------------|------------------------+
| |
| +----------------------------------------------------|------------+
| | CISM/CIS | |
| | +---------------+-----------------+ |
| | 6. Delete failed | | 7. Create new |
| | CNF | | CNF |
| | +--------v----+ +------v------+ +-------------+ |
| | | +--------+ | | +--------+ | | | |
+----------------------------------> | CNF | | | | CNF | | | | |
| | +--------+ | | +--------+ | | | |
| | Worker | | Worker | | Master | |
| +-------------+ +-------------+ +-------------+ |
+-----------------------------------------------------------------+
外部监控工具收集指标并决定是否需要触发告警。
外部监控工具向 /alert/vnf_instances/{vnf_instance_id} 发送 POST 请求。
Tacker 接收通知告警,将其转换为告警,并将其保存到 Tacker DB。
客户端定期请求获取 Tacker 中的告警。Tacker 使用客户端指定的查询条件搜索 Tacker DB,并将匹配的告警返回给客户端。
客户端从告警中识别 CNF 的故障,并向 Tacker 发送修复请求。
触发修复操作,删除旧 CNF。
创建新的 CNF。
FM 轮询模式下操作的请求参数¶
API 详细信息在 REST API 影响 中描述。
FM 轮询模式下操作的序列¶
以下描述了外部监控工具发送告警后 Tacker 的处理流程。
外部监控工具通过 Prometheus 检测故障事件,并将告警告知指定的 URI(Tacker)。
Prometheus 插件从
cfg.CONF.tacker.prometheus_plugin获取值,以确定是否启用此功能。Prometheus 插件根据告警中标签的
function_type字段判断要执行哪种操作。当
labels.function_type为vnffm时,执行自动修复。当
labels.function_type为vnfpm时,执行自动扩展。请参阅 PM 操作序列。
Prometheus 插件根据告警中标签的值找到相应的 CNF 实例。
Prometheus 插件将告警转换为告警。
Prometheus 插件调用 VnfFmDriver 并将告警发送给它。
VnfFmDriver 将告警保存到 DB 中。
以下描述了使用轮询模式的客户端处理 Tacker 进行自动修复的流程。
客户端发送请求到 Tacker 以获取指定条件的告警。
请求同步处理。
Tacker-conductor 调用 VnfFmDriver 以获取告警。
VnfFmDriver 根据请求中的条件过滤出满足条件的告警,并返回结果。
客户端从告警中获取 VNFC 信息后,向 Tacker 发送请求以修复 VNFC。
从这一步开始,与默认修复操作完全相同。
FM 通知模式下修复操作的设计¶
以下是通知模式下修复的示意图
+------------------------+
| | 5. Send alarm notification
| Client (NFVO/EM) <-------------------+
| | |
+--+---------+-----------+ |
6. Heal | | 1. Create subscription |
+------|---------|-------------------------------|----------------------------+
| | | | VNFM |
| +---|---------|---------+ +-------------------|-------------+ |
| | | | Tacker | | | Tacker | |
| | | | Server | | | Conductor | |
| | | +-----v------+ | | | | +--------+ |
| | | | VnfFm +------------------------+-----------------> Tacker | |
+----------------+ | | | | Controller | | | +---------+----+ | | DB | |
| External | | | | +------------+ | | +------> VnfFm +------------> | |
| Monitoring | | | | | | | | Driver | | +--------+ |
| Tool | 3. POST | | | | | | +--------------+ | |
| (based on | alert | | | +------------+ | | | 4. Convert alert to alarm | |
| Prometheus) +---------------------> Prometheus +-------+ | |
+--+-------------+ | | | | Plugin | | | | |
^ | | | +------------+ | | | |
| 2. Collect metrics | | | | | | |
| | | | +------------+ | | +--------------+ | |
| | | +---> Vnflcm +--------------> VmfLcmDriver +---+ | |
| | | | Controller | | | +--------------+ | | |
| | | +------------+ | | +---------v--+ | |
| | | | | | Infra | | |
| | | | | | Driver | | |
| | | | | +----+-------+ | |
| | +-----------------------+ +-----------------------|---------+ |
| +----------------------------------------------------|------------------------+
| |
| +----------------------------------------------------|------------+
| | CISM/CIS | |
| | +---------------+-----------------+ |
| | 7. Delete failed | | 8. Create new |
| | CNF | | CNF |
| | +--------v----+ +------v------+ +-------------+ |
| | | +--------+ | | +--------+ | | | |
+----------------------------------> | CNF | | | | CNF | | | | |
| | +--------+ | | +--------+ | | | |
| | Worker | | Worker | | Master | |
| +-------------+ +-------------+ +-------------+ |
+-----------------------------------------------------------------+
客户端发送请求到 Tacker 以创建订阅。
注意
在创建订阅期间,Tacker 会向客户端的回调 URI 发送测试通知请求。回调 URI 包含在创建订阅请求的请求参数中。
与轮询模式的步骤 1 相同。
与轮询模式的步骤 2 相同。
与轮询模式的步骤 3 相同。
VnfFmDriver 找到 DB 中的所有订阅,并将告警与它们匹配。如果有一个订阅可以成功匹配,则将告警发送到客户端指定的路径。如果匹配不成功,则处理结束。
与轮询模式的步骤 5 相同。
与轮询模式的步骤 6 相同。
与轮询模式的步骤 7 相同。
FM 通知模式下操作的请求参数¶
API 详细信息在 REST API 影响 中描述。
FM 通知模式下操作的序列¶
以下描述了使用通知模式的客户端处理 Tacker 进行自动修复的流程。
客户端发送请求到 Tacker 以创建订阅。Tacker 收到订阅后,将从中获取 callback_uri。为了验证 callback_uri 的正确性,VnfFmDriver 将请求发送到客户端的 callback_uri 地址。从客户端获得正常的响应 HTTP 204 No Content 后,Tacker 将订阅保存到 DB。
从步骤 2 到 8,流程与轮询方法的步骤 1-7 相同。
VnfFmDriver 获取 DB 中的所有订阅。
VnfFmDriver 判断告警是否可以与订阅匹配,如果不能匹配,则处理结束。
如果匹配成功,VnfFmDriver 将 Notify Alarm 请求发送到客户端的 callback_uri 地址。客户端收到请求并处理后,默认返回 HTTP 204 No Content。
从步骤 12 到 14,流程与轮询方法的步骤 12-14 相同。
基于 PM 事件触发的自动扩展¶
Tacker 在 tacker.conf 文件中有一个配置值,指示告警管理器的 URI。当创建 PM 作业时,Prometheus 插件将 PM 作业模式转换为 Prometheus 模式。
当外部监控工具检测到 CNF 具有一些 PM 事件时,它会将事件消息发送到 Tacker。Tacker 收到事件后,将其转换为报告并将其存储在 DB 中。此时,根据 SOL002/003 [2] [3] 6. VNF 性能管理接口。
PM 下扩展操作的设计¶
以下是扩展的示意图
+------------------------+
| | 8. Send report notification
| Client (NFVO/EM) <-------------------+
| | |
+--+---------+-----------+ |
| | 1. Create PM job |
10. Scale | | 9. Get PM report |
+------|---------|-------------------------------|----------------------------+
| | | | VNFM |
| +---|---------|---------+ +-------------------|-------------+ |
| | | | Tacker | | | Tacker | |
| | | | Server | | | Conductor | |
| | | +-------v------+ | | | | +--------+ |
| | | | VnfPm +------------------------+-----------------> Tacker | |
| | | | ControllerV2 | | | +---------+----+ | | DB | |
+----------------+ | | | +---------+----+ | | +------> VnfPm +------------> | |
| External | | | | 2. set | | | | | DriverV2 | | +--------+ |
| Monitoring | 5. POST | | | PM job | | | | +--------------+ | |
| Tool | event | | | +-------v----+ | | | 7. Convert event to report | |
| (based on +---------------------> Prometheus +-------+ | |
| Prometheus) <---------------------+ Plugin | | | | |
| | 6. get related data | | | | | |
| <---------------------+ | | | | |
+--+-------------+ 3. set | | | +------------+ | | | |
^ PM job | | | | | | |
| 4. Trigger event | | | +------------+ | | +--------------+ | |
| | | +---> Vnflcm +--------------> VmfLcmDriver +---+ | |
| | | | Controller | | | +--------------+ | | |
| | | +------------+ | | +---------v--+ | |
| | | | | | Infra | | |
| | | | | | Driver | | |
| | | | | +----+-------+ | |
| | +-----------------------+ +-----------------------|---------+ |
| +----------------------------------------------------|------------------------+
| |
| +----------------------------------------------------|------------+
| | CISM/CIS | |
| | +---------------+-----------------+ |
| | | | 11. Create or Delete |
| | | | CNF |
| | +--------v----+ +------v------+ +-------------+ |
| | | +--------+ | | +--------+ | | | |
+----------------------------------> | CNF | | | | CNF | | | | |
| | +--------+ | | +--------+ | | | |
| | Worker | | Worker | | Master | |
| +-------------+ +-------------+ +-------------+ |
+-----------------------------------------------------------------+
客户端发送请求到 Tacker 以创建 PM 作业。
注意
在创建 PM 作业期间,Tacker 会向客户端的回调 URI 发送测试通知请求。回调 URI 包含在创建 PM 作业请求的请求主体中。
VnfPmControllerV2 将 PM 作业信息发送到 Prometheus 插件。
Prometheus 插件将 PM 作业设置为外部监控工具。
外部监控工具收集指标并决定是否需要触发事件。
外部监控工具向 Tacker 发送带有指定 URI 的 POST 请求。
Tacker 收集与 PM 事件相关的数据。从步骤 5-6 获得的数据,确定与 performanceMetric 对应的价值和上下文。
Tacker 接收通知事件,将其转换为报告,并将其保存到 DB。Tacker 还保存事件的时间戳。
VnfPmDriverV2 找到 DB 中的所有作业,并将报告与作业匹配。如果有一个作业可以成功匹配,则将报告发送到客户端指定的路径。如果匹配不成功,则处理结束。
客户端请求报告的内容,然后做出扩展的决定。
触发扩展操作,在扩容的情况下创建新的 CNF,在缩容的情况下删除旧 CNF。
创建新的 CNF 或删除旧 CNF。
PM 下操作的请求参数¶
API 详细信息在 REST API 影响 中描述。
PM 下操作的序列¶
以下描述了客户端处理 Tacker 进行自动扩展的流程。
客户端向 Tacker 发送创建 PM 任务的请求。Tacker 收到 PM 任务后,会获取其中的 callback_uri。为了验证 callback_uri 的正确性,VnfPmDriverV2 向客户端的 callback_uri 地址发送请求。在从客户端获得正常的响应 HTTP 204 No Content 后,Tacker 会将订阅保存到数据库。
VnfPmDriverV2 将 PM 任务发送到 Prometheus 插件。Prometheus 插件将其转换为 Prometheus 格式,然后发送到 Prometheus。
外部监控工具接收来自 Prometheus 发送的事件,并将其告知指定的 URI(Tacker)。
Prometheus 插件从 cfg.CONF.tacker.prometheus_plugin 获取值,以确定是否启用此功能。
Prometheus 插件根据事件中 labels 的 function_type 字段判断执行何种处理。
当
labels.function_type为vnffm时,执行 AutoHeal。请参阅 FM 轮询模式下操作流程。当
labels.function_type为vnfpm时,执行 AutoScale。
Prometheus 插件根据事件中 node label 的值查找相应的资源信息。
Prometheus 插件将事件转换为报告。
Prometheus 插件调用 VnfPmDriverV2 并将报告发送给它。
VnfPmDriverV2 将报告保存在数据库中。
VnfPmDriverV2 获取数据库中的所有 PM 任务。
VnfPmDriverV2 判断报告是否可以与 PM 任务匹配,如果不能匹配,则处理结束。
如果匹配成功,VnfPmDriverV2 向客户端的 callback_uri 地址发送 Notify Event 请求。客户端收到请求并处理后,默认返回 HTTP 204 No Content。
客户端从报告中获取 VNFC 信息后,向 Tacker 发送请求以扩展 VNFC。
从这一步开始,与默认的扩展操作完全相同。
备选方案¶
无
数据模型影响¶
在 ‘Tacker’ 数据库中添加以下新数据库表。
- 表: AlarmV1
名称
类型
约束
id
varchar(255)
Pri
managedObjectId
varchar(255)
NOT NULL
vnfcInstanceIds
JSON
NULL
rootCauseFaultyResource
JSON
NULL
alarmRaisedTime
datetime
NOT NULL
alarmChangedTime
datetime
NULL
alarmClearedTime
datetime
NULL
alarmAcknowledgedTime
datetime
NULL
ackState
Enum
NOT NULL
perceivedSeverity
Enum
NOT NULL
eventTime
datetime
NOT NULL
eventType
Enum
NOT NULL
faultType
varchar(255)
NULL
probableCause
varchar(255)
NOT NULL
isRootCause
布尔值
NOT NULL
correlatedAlarmIds
JSON
NULL
faultDetails
JSON
NULL
此表具有 id 作为主键。managedObjectId 将是 vnf_instances 的外键。
- 表: FmSubscriptionV1
名称
类型
约束
id
varchar(255)
Pri
filter
JSON
NULL
callbackUri
varchar(255)
NOT NULL
authentication
JSON
NULL
此表具有 id 作为主键。
- 表: PmJobV2
名称
类型
约束
id
varchar(255)
Pri
objectType
varchar(32)
NOT NULL
objectInstanceIds
JSON
NOT NULL
subObjectInstanceIds
JSON
NULL
criteria
JSON
NOT NULL
callbackUri
varchar(255)
NOT NULL
reports
JSON
NULL
authentication
JSON
NULL
此表具有 id 作为主键。
- 表: PerformanceReportV2
名称
类型
约束
id
varchar(255)
Pri
jobId
varchar(255)
NOT NULL
entries
JSON
NULL
此表具有 id 作为主键。
REST API 影响¶
以下 RESTful API 符合 SOL002/003 [2] [3] 6.VNF 性能管理接口和 7.VNF 故障管理接口。
- 名称: 获取所有告警描述: 允许用户根据请求中的查询参数过滤告警方法类型: GET资源的 URL: /vnffm/v1/alarms查询参数:
名称
基数
描述
filter
0..1
基于属性的过滤表达式。Tacker 在基于属性的过滤表达式中应支持以下属性名称:id、managedObjectId、rootCauseFaultyResource/faultyResourceType、eventType、perceivedSeverity、probableCause。例如,以下 URI 查询参数将匹配 perceivedSeverity=WARNING 的告警
GET /vnffm/v1/alarms?filter=(eq,perceivedSeverity,WARNING)请求:数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
告警
0..N
成功: 200
当已成功查询零个或多个告警的信息时,应返回此状态码。
ProblemDetails
1
错误: 400
无效的基于属性的过滤表达式。响应体应包含 ProblemDetails 结构,其中“detail”属性应传达有关错误的更多信息。
ProblemDetails
1
错误: 400
响应过大。
ProblemDetails
请参阅 [5] 的 6.4 条款
错误: 4xx/5xx
除了上述定义的响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条款中定义的任何常见错误响应代码也可能返回。
属性名称 (告警)
数据类型
基数
描述
id
标识符
1
此告警信息元素的标识符。
managedObjectId
标识符
1
受影响的 VNF 实例的标识符。
vnfcInstanceIds
IdentifierInVnf
0..N
受影响的 VNFC 实例的标识符。
rootCauseFaultyResource
FaultyResourceInfo
0..1
导致 VNF 故障的虚拟化资源。如果告警影响虚拟化资源,则应存在此信息。
>faultyResource
ResourceHandle
1
识别有故障的资源实例及其管理实体的相关信息。
>>vimConnectionId
标识符
0..1
管理资源的 VIM 连接的标识符。仅当直接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。引用的“VimConnectionInfo”结构可以通过“VnfInstance”结构中的“vimConnectionInfo”属性获得。
>>resourceProviderId
标识符
0..1
负责资源管理的实体的标识符。仅当间接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。标识方案超出本文档的范围。
>>resourceId
IdentifierInVim
1
在 VIM 或资源提供商的范围内资源的标识符。
>>vimLevelResourceType
字符串
0..1
在 VIM 或资源提供商的范围内资源的类型。请参阅注释。
>faultyResourceType
FaultyResourceType
1
有故障的资源的类型。COMPUTE:虚拟计算资源,STORAGE:虚拟存储资源,NETWORK:虚拟网络资源
alarmRaisedTime
DateTime
1
指示由受管对象引发告警的时间戳。
alarmChangedTime
DateTime
0..1
指示上次更新告警的时间戳。如果已更新告警,则应存在此时间戳。
alarmClearedTime
DateTime
0..1
指示清除告警的时间戳。如果已清除告警,则应存在此时间戳。
alarmAcknowledgedTime
DateTime
0..1
指示确认告警的时间戳。如果已确认告警,则应存在此时间戳。
ackState
Enum
1
告警的确认状态。允许的值:UNACKNOWLEDGED、ACKNOWLEDGED。
perceivedSeverity
PerceivedSeverityType
1
受管对象故障的感知严重程度。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
eventTime
DateTime
1
指示观察到故障的时间戳。
eventType
EventType
1
事件类型。
faultType
字符串
0..1
澄清故障类型以提供更多信息。
probableCause
字符串
1
有关故障的可能原因的信息。
isRootCause
布尔值
1
属性,指示此故障是否是其他相关告警的根本原因。如果为 true,则“correlatedAlarmIds”属性中列出的告警是由此故障引起的。
correlatedAlarmIds
标识符
0..N
与此故障相关的其他告警的标识符列表。
faultDetails
字符串
0..N
提供有关故障的更多信息。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
>objectInstance
链接
0..1
链接到表示与通知的告警相关的 VNF 实例的资源。如果 VNF 实例信息可以作为资源访问,则应存在此链接。
- 名称: 获取单个告警描述: 获取 Tacker 中指定的告警。方法类型: GET资源的 URL: /vnffm/v1/alarms/{alarmId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
告警
1
成功: 200
当已成功读取单个告警的信息时,应返回此状态码。
ProblemDetails
请参阅 [5] 的 6.4 条款
错误: 4xx/5xx
除了上述定义的响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条款中定义的任何常见错误响应代码也可能返回。
属性名称 (告警)
数据类型
基数
描述
id
标识符
1
此告警信息元素的标识符。
managedObjectId
标识符
1
受影响的 VNF 实例的标识符。
vnfcInstanceIds
IdentifierInVnf
0..N
受影响的 VNFC 实例的标识符。
rootCauseFaultyResource
FaultyResourceInfo
0..1
导致 VNF 故障的虚拟化资源。如果告警影响虚拟化资源,则应存在此信息。
>faultyResource
ResourceHandle
1
识别有故障的资源实例及其管理实体的相关信息。
>>vimConnectionId
标识符
0..1
管理资源的 VIM 连接的标识符。仅当直接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。引用的“VimConnectionInfo”结构可以通过“VnfInstance”结构中的“vimConnectionInfo”属性获得。
>>resourceProviderId
标识符
0..1
负责资源管理的实体的标识符。仅当间接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。标识方案超出本文档的范围。
>>resourceId
IdentifierInVim
1
在 VIM 或资源提供商的范围内资源的标识符。
>>vimLevelResourceType
字符串
0..1
在 VIM 或资源提供商的范围内资源的类型。请参阅注释。
>faultyResourceType
FaultyResourceType
1
有故障的资源的类型。COMPUTE、STORAGE、NETWORK
alarmRaisedTime
DateTime
1
指示由受管对象引发告警的时间戳。
alarmChangedTime
DateTime
0..1
指示上次更新告警的时间戳。如果已更新告警,则应存在此时间戳。
alarmClearedTime
DateTime
0..1
指示清除告警的时间戳。如果已清除告警,则应存在此时间戳。
alarmAcknowledgedTime
DateTime
0..1
指示确认告警的时间戳。如果已确认告警,则应存在此时间戳。
ackState
Enum
1
告警的确认状态。允许的值:UNACKNOWLEDGED、ACKNOWLEDGED。
perceivedSeverity
PerceivedSeverityType
1
受管对象故障的感知严重程度。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
eventTime
DateTime
1
指示观察到故障的时间戳。
eventType
EventType
1
事件类型。
faultType
字符串
0..1
澄清故障类型以提供更多信息。
probableCause
字符串
1
有关故障的可能原因的信息。
isRootCause
布尔值
1
属性,指示此故障是否是其他相关告警的根本原因。如果为 true,则“correlatedAlarmIds”属性中列出的告警是由此故障引起的。
correlatedAlarmIds
标识符
0..N
与此故障相关的其他告警的标识符列表。
faultDetails
字符串
0..N
提供有关故障的更多信息。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
>objectInstance
链接
0..1
链接到表示与通知的告警相关的 VNF 实例的资源。如果 VNF 实例信息可以作为资源访问,则应存在此链接。
- 名称: 修改确认状态描述: 修改 Tacker 中指定的告警的确认状态。方法类型: PATCH资源的 URL: /vnffm/v1/alarms/{alarmId}Content-Type: application/mergepatch+json请求:
数据类型
基数
描述
AlarmModifications
1
告警修改
属性名称 (AlarmModifications)
数据类型
基数
描述
ackState
Enum
1
“Alarm”中“ackState”属性的新值。允许的值:ACKNOWLEDGED、UNACKNOWLEDGED
响应:数据类型
基数
响应代码
描述
AlarmModifications
1
成功: 200
当请求已接受并完成时,应返回此状态码。
ProblemDetails
1
错误: 409
由于与“单个告警”资源的状态冲突,当前无法执行该操作。
ProblemDetails
请参阅 [5] 的 6.4 条款
错误: 4xx/5xx
除了上述定义的响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条款中定义的任何常见错误响应代码也可能返回。
注意
由于当前的 Tacker 不支持 http Etag,因此不支持错误代码:412 前置条件失败。根据 ETSI NFV SOL 文档,尚未定义 Etag 的 API 请求/响应规范,并且使用 Etag 的事务未由标准化定义。在 ETSI NFV 规范定义相关事务后,Tacker 将支持 Etag。
属性名称 (AlarmModifications)
数据类型
基数
描述
ackState
Enum
1
“Alarm”中“ackState”属性的新值。允许的值:ACKNOWLEDGED、UNACKNOWLEDGED
- 名称: 创建新订阅描述: 在 Tacker 中创建新订阅。方法类型: POST资源的 URL: /vnffm/v1/subscriptions请求:
数据类型
基数
描述
FmSubscriptionRequest
1
要创建的订阅的详细信息
属性名称 (FmSubscriptionRequest)
数据类型
基数
描述
filter
FmNotificationsFilter
0..1
此订阅的筛选设置,用于定义此订阅相关的通知子集。如果筛选条件匹配或没有筛选条件,则将通知发送给订阅者。
>vnfInstanceSubscriptionFilter
VnfInstanceSubscriptionFilter
0..1
筛选标准,用于选择要通知的 VNF 实例。
>>vnfdIds
标识符
0..N
如果存在,则匹配基于此属性中列出的 vnfdId 值创建的 VNF 实例。请参阅注释 1。
>>vnfProductsFromProviders
结构 (内联)
0..N
如果存在,则匹配属于某些提供商的 VNF 产品的 VNF 实例。请参阅注释 1。
>>>vnfProvider
字符串
1
要匹配的 VNF 提供商的名称。
>>>vnfProducts
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定产品名称的 VNF 产品的 VNF 实例。
>>>>vnfProductName
字符串
1
要匹配的 VNF 产品名称。
>>>>versions
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定版本和特定产品名称的 VNF 产品的 VNF 实例。
>>>>>vnfSoftwareVersion
版本
1
要匹配的软件版本。
>>>>>vnfdVersions
版本
0..N
如果存在,则匹配属于来自特定提供商的具有特定 VNFD 版本、特定软件版本和特定产品名称的 VNF 产品的 VNF 实例。
>>vnfInstanceIds
标识符
0..N
如果存在,则匹配具有此属性中列出的实例标识符的 VNF 实例。
>>vnfInstanceNames
字符串
0..N
如果存在,则匹配具有此属性中列出的 VNF 实例名称的 VNF 实例。
>notificationTypes
Enum (内联)
0..N
匹配特定的通知类型。允许的值:AlarmNotification、AlarmClearedNotification、AlarmListRebuiltNotification
>faultyResourceTypes
FaultyResourceType
0..N
匹配具有有故障的资源类型的 VNF 告警。COMPUTE、STORAGE、NETWORK
>perceivedSeverities
PerceivedSeverityType
0..N
匹配具有感知严重程度的 VNF 告警。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>eventTypes
EventType
0..N
匹配具有事件类型的 VNF 告警。COMMUNICATIONS_ALARM、PROCESSING_ERROR_ALARM、ENVIRONMENTAL_ALARM、QOS_ALARM、EQUIPMENT_ALARM
>probableCauses
字符串
0..N
匹配具有此属性中列出的可能原因的 VNF 告警。
callbackUri
Uri
1
将通知发送到的端点的 URI。
authentication
SubscriptionAuthentication
0..1
用于配置发送与此订阅对应的通知时使用授权的身份验证参数。请参阅 ETSI GS NFV-SOL 013 的 8.3.4 条款 [5]
响应:数据类型
基数
响应代码
描述
FmSubscription
1
成功: 201
当已成功创建订阅时,应返回此状态码。
n/a
成功: 303
当具有相同的回调 URI 和相同的筛选器的订阅已存在,并且 VNFM 的策略是不创建冗余订阅时,应返回此状态码。HTTP 响应应包含一个“Location”HTTP 标头,其中包含现有的“单个订阅”资源的资源 URI。响应体应为空。
ProblemDetails
1
错误: 422
有效负载体的内容类型受支持,并且请求的有效负载体包含语法上正确的数据,但无法处理该数据。
ProblemDetails
请参阅 [5] 的 6.4 条款
错误: 4xx/5xx
除了上述定义的响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条款中定义的任何常见错误响应代码也可能返回。
属性名称 (FmSubscription)
数据类型
基数
描述
id
标识符
1
此“单个订阅”资源的标识符。
filter
FmNotificationsFilter
0..1
此订阅的筛选设置,用于定义此订阅相关的通知子集。如果筛选条件匹配或没有筛选条件,则将通知发送给订阅者。
>vnfInstanceSubscriptionFilter
VnfInstanceSubscriptionFilter
0..1
筛选标准,用于选择要通知的 VNF 实例。
>>vnfdIds
标识符
0..N
如果存在,则匹配基于此属性中列出的 vnfdId 值创建的 VNF 实例。请参阅注释 1。
>>vnfProductsFromProviders
结构 (内联)
0..N
如果存在,则匹配属于某些提供商的 VNF 产品的 VNF 实例。请参阅注释 1。
>>>vnfProvider
字符串
1
要匹配的 VNF 提供商的名称。
>>>vnfProducts
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定产品名称的 VNF 产品的 VNF 实例。
>>>>vnfProductName
字符串
1
要匹配的 VNF 产品名称。
>>>>versions
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定版本和特定产品名称的 VNF 产品的 VNF 实例。
>>>>>vnfSoftwareVersion
版本
1
要匹配的软件版本。
>>>>>vnfdVersions
版本
0..N
如果存在,则匹配属于来自特定提供商的具有特定 VNFD 版本、特定软件版本和特定产品名称的 VNF 产品的 VNF 实例。
>>vnfInstanceIds
标识符
0..N
如果存在,则匹配具有此属性中列出的实例标识符的 VNF 实例。
>>vnfInstanceNames
字符串
0..N
如果存在,则匹配具有此属性中列出的 VNF 实例名称的 VNF 实例。
>notificationTypes
Enum (内联)
0..N
匹配特定的通知类型。允许的值:AlarmNotification、AlarmClearedNotification、AlarmListRebuiltNotification
>faultyResourceTypes
FaultyResourceType
0..N
匹配具有有故障的资源类型的 VNF 告警。COMPUTE、STORAGE、NETWORK
>perceivedSeverities
PerceivedSeverityType
0..N
匹配具有感知严重程度的 VNF 告警。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>eventTypes
EventType
0..N
匹配具有事件类型的 VNF 告警。COMMUNICATIONS_ALARM、PROCESSING_ERROR_ALARM、ENVIRONMENTAL_ALARM、QOS_ALARM、EQUIPMENT_ALARM
>probableCauses
字符串
0..N
匹配具有此属性中列出的可能原因的 VNF 告警。
callbackUri
Uri
1
将通知发送到的端点的 URI。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
- 名称:获取所有订阅描述:允许用户根据请求查询参数过滤订阅方法类型: GET资源的 URL: /vnffm/v1/subscriptions查询参数:
名称
基数
描述
filter
0..1
基于属性的过滤表达式。Tacker 将支持基于属性的过滤表达式中的以下属性名称。VNFM 将在过滤表达式中支持 FmSubscription 中以及从其引用的数据类型中出现的所有属性名称。例如,以下 URI 查询参数将匹配 perceivedSeverity=WARNING 的警报
GET /vnffm/v1/alarms?filter=(eq,filter/perceivedSeverity,WARNING)请求:数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
FmSubscription
0..N
成功: 200
当已成功查询订阅列表时,应返回此响应。
ProblemDetails
1
错误: 400
无效的基于属性的过滤表达式。响应体应包含 ProblemDetails 结构,其中“detail”属性应传达有关错误的更多信息。
ProblemDetails
1
错误: 400
响应过大。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
属性名称 (FmSubscription)
数据类型
基数
描述
id
标识符
1
此“单个订阅”资源的标识符。
filter
FmNotificationsFilter
0..1
此订阅的筛选设置,用于定义此订阅相关的通知子集。如果筛选条件匹配或没有筛选条件,则将通知发送给订阅者。
>vnfInstanceSubscriptionFilter
VnfInstanceSubscriptionFilter
0..1
筛选标准,用于选择要通知的 VNF 实例。
>>vnfdIds
标识符
0..N
如果存在,则匹配基于此属性中列出的 vnfdId 值创建的 VNF 实例。请参阅注释 1。
>>vnfProductsFromProviders
结构 (内联)
0..N
如果存在,则匹配属于某些提供商的 VNF 产品的 VNF 实例。请参阅注释 1。
>>>vnfProvider
字符串
1
要匹配的 VNF 提供商的名称。
>>>vnfProducts
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定产品名称的 VNF 产品的 VNF 实例。
>>>>vnfProductName
字符串
1
要匹配的 VNF 产品名称。
>>>>versions
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定版本和特定产品名称的 VNF 产品的 VNF 实例。
>>>>>vnfSoftwareVersion
版本
1
要匹配的软件版本。
>>>>>vnfdVersions
版本
0..N
如果存在,则匹配属于来自特定提供商的具有特定 VNFD 版本、特定软件版本和特定产品名称的 VNF 产品的 VNF 实例。
>>vnfInstanceIds
标识符
0..N
如果存在,则匹配具有此属性中列出的实例标识符的 VNF 实例。
>>vnfInstanceNames
字符串
0..N
如果存在,则匹配具有此属性中列出的 VNF 实例名称的 VNF 实例。
>notificationTypes
Enum (内联)
0..N
匹配特定的通知类型。允许的值:AlarmNotification、AlarmClearedNotification、AlarmListRebuiltNotification
>faultyResourceTypes
FaultyResourceType
0..N
匹配具有有故障的资源类型的 VNF 告警。COMPUTE、STORAGE、NETWORK
>perceivedSeverities
PerceivedSeverityType
0..N
匹配具有感知严重程度的 VNF 告警。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>eventTypes
EventType
0..N
匹配具有事件类型的 VNF 告警。COMMUNICATIONS_ALARM、PROCESSING_ERROR_ALARM、ENVIRONMENTAL_ALARM、QOS_ALARM、EQUIPMENT_ALARM
>probableCauses
字符串
0..N
匹配具有此属性中列出的可能原因的 VNF 告警。
callbackUri
Uri
1
将通知发送到的端点的 URI。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
- 名称:获取订阅描述:获取 Tacker 中的订阅方法类型: GET资源的 URL:/vnffm/v1/subscriptions/{subscriptionId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
FmSubscription
1
成功: 200
当已成功读取单个订阅的信息时,应返回此响应。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
属性名称 (FmSubscription)
数据类型
基数
描述
id
标识符
1
此“单个订阅”资源的标识符。
filter
FmNotificationsFilter
0..1
此订阅的筛选设置,用于定义此订阅相关的通知子集。如果筛选条件匹配或没有筛选条件,则将通知发送给订阅者。
>vnfInstanceSubscriptionFilter
VnfInstanceSubscriptionFilter
0..1
筛选标准,用于选择要通知的 VNF 实例。
>>vnfdIds
标识符
0..N
如果存在,则匹配基于此属性中列出的 vnfdId 值创建的 VNF 实例。请参阅注释 1。
>>vnfProductsFromProviders
结构 (内联)
0..N
如果存在,则匹配属于某些提供商的 VNF 产品的 VNF 实例。请参阅注释 1。
>>>vnfProvider
字符串
1
要匹配的 VNF 提供商的名称。
>>>vnfProducts
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定产品名称的 VNF 产品的 VNF 实例。
>>>>vnfProductName
字符串
1
要匹配的 VNF 产品名称。
>>>>versions
结构 (内联)
0..N
如果存在,则匹配属于来自特定提供商的具有特定版本和特定产品名称的 VNF 产品的 VNF 实例。
>>>>>vnfSoftwareVersion
版本
1
要匹配的软件版本。
>>>>>vnfdVersions
版本
0..N
如果存在,则匹配属于来自特定提供商的具有特定 VNFD 版本、特定软件版本和特定产品名称的 VNF 产品的 VNF 实例。
>>vnfInstanceIds
标识符
0..N
如果存在,则匹配具有此属性中列出的实例标识符的 VNF 实例。
>>vnfInstanceNames
字符串
0..N
如果存在,则匹配具有此属性中列出的 VNF 实例名称的 VNF 实例。
>notificationTypes
Enum (内联)
0..N
匹配特定的通知类型。允许的值:AlarmNotification、AlarmClearedNotification、AlarmListRebuiltNotification
>faultyResourceTypes
FaultyResourceType
0..N
匹配具有有故障的资源类型的 VNF 告警。COMPUTE、STORAGE、NETWORK
>perceivedSeverities
PerceivedSeverityType
0..N
匹配具有感知严重程度的 VNF 告警。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>eventTypes
EventType
0..N
匹配具有事件类型的 VNF 告警。COMMUNICATIONS_ALARM、PROCESSING_ERROR_ALARM、ENVIRONMENTAL_ALARM、QOS_ALARM、EQUIPMENT_ALARM
>probableCauses
字符串
0..N
匹配具有此属性中列出的可能原因的 VNF 告警。
callbackUri
Uri
1
将通知发送到的端点的 URI。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
- 名称:删除订阅描述:删除 Tacker 中的订阅方法类型:DELETE资源的 URL:/vnffm/v1/subscriptions/{subscriptionId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当已成功删除“单个订阅”资源时,应返回此响应。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
- 名称:通知 VNF 警报描述:通知客户端 Tacker 收到警报方法类型: POST资源的 URL:<订阅中的客户端 URI>请求:
数据类型
基数
描述
AlarmNotification
1
VNF 警报信息
AlarmClearedNotification
1
VNF 警报清除信息
属性名称 (AlarmNotification)
数据类型
基数
描述
id
标识符
1
此通知的标识符。如果由于多个订阅而多次发送通知,所有这些通知的“id”属性应具有相同的值。
notificationType
字符串
1
不同通知类型的区分符。对于此通知类型,应设置为“AlarmNotification”。
subscriptionId
标识符
1
此通知相关的订阅的标识符。
timeStamp
DateTime
1
生成通知的日期和时间。
alarm
告警
1
关于警报的信息,包括 AlarmId、受影响的 VNF 标识符和 FaultDetails。
>id
标识符
1
此告警信息元素的标识符。
>managedObjectId
标识符
1
受影响的 VNF 实例的标识符。
>vnfcInstanceIds
IdentifierInVnf
0..N
受影响的 VNFC 实例的标识符。
>rootCauseFaultyResource
FaultyResourceInfo
0..1
导致 VNF 故障的虚拟化资源。如果告警影响虚拟化资源,则应存在此信息。
>>faultyResource
ResourceHandle
1
识别有故障的资源实例及其管理实体的相关信息。
>>>vimConnectionId
标识符
0..1
管理资源的 VIM 连接的标识符。仅当直接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。引用的“VimConnectionInfo”结构可以通过“VnfInstance”结构中的“vimConnectionInfo”属性获得。
>>>resourceProviderId
标识符
0..1
负责资源管理的实体的标识符。仅当间接模式下的 VNF 相关资源管理适用时,才应支持和存在此属性。标识方案超出本文档的范围。
>>>resourceId
IdentifierInVim
1
在 VIM 或资源提供商的范围内资源的标识符。
>>>vimLevelResourceType
字符串
0..1
在 VIM 或资源提供商的范围内资源的类型。请参阅注释。
>>faultyResourceType
FaultyResourceType
1
有故障的资源的类型。COMPUTE、STORAGE、NETWORK
>alarmRaisedTime
DateTime
1
指示由受管对象引发告警的时间戳。
>alarmChangedTime
DateTime
0..1
指示上次更新告警的时间戳。如果已更新告警,则应存在此时间戳。
>alarmClearedTime
DateTime
0..1
指示清除告警的时间戳。如果已清除告警,则应存在此时间戳。
>alarmAcknowledgedTime
DateTime
0..1
指示确认告警的时间戳。如果已确认告警,则应存在此时间戳。
>ackState
Enum
1
告警的确认状态。允许的值:UNACKNOWLEDGED、ACKNOWLEDGED。
>perceivedSeverity
PerceivedSeverityType
1
受管对象故障的感知严重程度。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>eventTime
DateTime
1
指示观察到故障的时间戳。
>eventType
EventType
1
事件类型。
>faultType
字符串
0..1
澄清故障类型以提供更多信息。
>probableCause
字符串
1
有关故障的可能原因的信息。
>isRootCause
布尔值
1
属性,指示此故障是否是其他相关告警的根本原因。如果为 true,则“correlatedAlarmIds”属性中列出的告警是由此故障引起的。
>correlatedAlarmIds
标识符
0..N
与此故障相关的其他告警的标识符列表。
>faultDetails
字符串
0..N
提供有关故障的更多信息。
>_links
结构 (内联)
1
此资源的链接。
>>self
链接
1
此资源的 URI。
>>objectInstance
链接
0..1
链接到表示与通知的告警相关的 VNF 实例的资源。如果 VNF 实例信息可以作为资源访问,则应存在此链接。
_links
结构 (内联)
1
与此通知相关的资源的链接。
>subscription
NotificationLink
1
指向相关订阅的链接。
属性名称 (AlarmClearedNotification)
数据类型
基数
描述
id
标识符
1
此通知的标识符。如果由于多个订阅而多次发送通知,所有这些通知的“id”属性应具有相同的值。
notificationType
字符串
1
不同通知类型的区分符。对于此通知类型,应设置为“AlarmClearedNotification”。
subscriptionId
标识符
1
此通知相关的订阅的标识符。
timeStamp
DateTime
1
生成通知的日期和时间。
alarmId
标识符
1
警报标识符。
alarmClearedTime
DateTime
1
指示警报清除时间的的时间戳。
_links
结构 (内联)
1
与此通知相关的资源的链接。
>subscription
NotificationLink
1
指向相关订阅的链接。
>alarm
NotificationLink
1
指向表示相关警报的资源的链接。
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当通知已成功传递时,应返回此响应。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
- 名称:测试通知端点描述:确认客户端的 URI 是否正确。方法类型: GET资源的 URL:<订阅中的客户端 URI>请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
n/a
成功:204
应返回此响应,以指示已成功测试通知端点。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
- 名称:创建 PM 作业描述:创建 PM 作业。PM 作业将性能收集和报告信息的详细信息分组方法类型: POST资源的 URL:/vnfpm/v2/pm_jobs请求:
数据类型
基数
描述
CreatePmJobRequest
1
PM 作业创建请求
属性名称 (CreatePmJobRequest)
数据类型
基数
描述
objectType
字符串
1
所测对象的类型。测量的适用对象类型在 ETSI GS NFV-IFA 027 的 7.2 条中定义 [6]。
objectInstanceIds
标识符
1..N
请求收集性能信息的所测对象实例的标识符。
subObjectInstanceIds
IdentifierInVnf
0..N
在结构化所测对象的情况下,所测对象实例的标识符。
criteria
PmJobCriteria
1
收集性能信息的标准。
>performanceMetric
字符串
0..N
这定义了指定对象实例的性能指标类型。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量名称”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>performanceMetricGroup
字符串
0..N
性能指标组。指标组是预定义的指标列表,API 生产者知道它可以将其分解为单个指标。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量组”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>collectionPeriod
UnsignedInt
1
指定 API 生产者将收集性能信息的周期。单位应为秒。
>reportingPeriod
UnsignedInt
1
指定 API 生产者将向 API 消费者报告性能信息的周期。单位应为秒。reportingPeriod 应等于或为 collectionPeriod 的倍数。
>reportingBoundary
DateTime
0..1
标识一个时间边界,在此之后将停止报告。边界应允许单个报告以及直到边界的周期性报告。
callbackUri
Uri
1
将通知发送到的端点的 URI。
authentication
SubscriptionAuthentication
0..1
用于配置发送与此订阅相关的通知时使用授权的身份验证参数。请参阅 ETSI GS NFV-SOL 013 的 8.3.4 条 [5]
响应:数据类型
基数
响应代码
描述
PmJob
1
成功: 201
当 PM 作业已成功创建时,应返回此响应。
ProblemDetails
1
错误: 422
有效负载体的内容类型受支持,并且请求的有效负载体包含语法上正确的数据,但无法处理该数据。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
属性名称 (PmJob)
数据类型
基数
描述
id
标识符
1
此 PM 作业的标识符。
objectType
字符串
1
所测对象的类型。测量的适用对象类型在 ETSI GS NFV-IFA 027 的 7.2 条中定义 [6]。
objectInstanceIds
标识符
1..N
请求收集性能信息的所测对象实例的标识符。
subObjectInstanceIds
IdentifierInVnf
0..N
在结构化所测对象的情况下,所测对象实例的标识符。
criteria
PmJobCriteria
1
收集性能信息的标准。
>performanceMetric
字符串
0..N
这定义了指定对象实例的性能指标类型。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量名称”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>performanceMetricGroup
字符串
0..N
性能指标组。指标组是预定义的指标列表,API 生产者知道它可以将其分解为单个指标。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量组”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>collectionPeriod
UnsignedInt
1
指定 API 生产者将收集性能信息的周期。单位应为秒。
>reportingPeriod
UnsignedInt
1
指定 API 生产者将向 API 消费者报告性能信息的周期。单位应为秒。reportingPeriod 应等于或为 collectionPeriod 的倍数。
>reportingBoundary
DateTime
0..1
标识一个时间边界,在此之后将停止报告。边界应允许单个报告以及直到边界的周期性报告。
callbackUri
Uri
1
将通知发送到的端点的 URI。
reports
结构 (内联)
0..N
此 PM 作业收集的可用报告信息。
>href
Uri
1
可以获取报告的 URI。
>readyTime
DateTime
1
报告可用时间。
>expiryTime
DateTime
0..1
报告将过期的时间。
>fileSize
UnsignedInt
0..1
如果已知,报告文件的大小(以字节为单位)。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
>objects
链接
0..N
链接到表示收集性能信息的所测对象实例的资源。如果所测对象实例信息可以作为资源访问,则应存在。
- 名称:获取 PM 作业描述:允许用户根据请求查询参数过滤 PM 作业方法类型: GET资源的 URL:/vnfpm/v2/pm_jobs查询参数:
名称
基数
描述
filter
0..1
基于属性的过滤表达式。根据 ETSI GS NFV-SOL 013 的 5.2 条 [5]。
例如,以下 URI 查询参数将匹配 objectType=VNFC 的 PM 作业。
GET /vnfpm/v2/pm_jobs?filter=(eq,objectType,VNFC)all_fields
0..1
在响应中包含所有复杂属性。有关详细信息,请参阅 ETSI GS NFV-SOL 013 的 5.3 条 [5]。
fields
0..1
要包含在响应中的复杂属性。有关详细信息,请参阅 ETSI GS NFV-SOL 013 的 5.3 条 [5]。
exclude_fields
0..1
要从响应中排除的复杂属性。有关详细信息,请参阅 ETSI GS NFV-SOL 013 的 5.3 条 [5]。
exclude_default
0..1
指示从响应中排除以下复杂属性。有关详细信息,请参阅 ETSI GS NFV-SOL 013 的 5.3 条 [5]。
请求:数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
PmJob
0..N
成功: 200
当已成功查询零个或多个 PM 作业的信息时,应返回此响应。
ProblemDetails
1
错误: 400
无效的基于属性的过滤表达式。响应体应包含 ProblemDetails 结构,其中“detail”属性应传达有关错误的更多信息。
ProblemDetails
1
错误: 400
无效的属性选择器。响应体应包含 ProblemDetails 结构,其中“detail”属性应传达有关错误的更多信息。
ProblemDetails
1
错误: 400
响应过大。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
属性名称 (PmJob)
数据类型
基数
描述
id
标识符
1
此 PM 作业的标识符。
objectType
字符串
1
所测对象的类型。测量的适用对象类型在 ETSI GS NFV-IFA 027 的 7.2 条中定义 [6]。
objectInstanceIds
标识符
1..N
请求收集性能信息的所测对象实例的标识符。
subObjectInstanceIds
IdentifierInVnf
0..N
在结构化所测对象的情况下,所测对象实例的标识符。
criteria
PmJobCriteria
1
收集性能信息的标准。
>performanceMetric
字符串
0..N
这定义了指定对象实例的性能指标类型。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量名称”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>performanceMetricGroup
字符串
0..N
性能指标组。指标组是预定义的指标列表,API 生产者知道它可以将其分解为单个指标。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量组”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>collectionPeriod
UnsignedInt
1
指定 API 生产者将收集性能信息的周期。单位应为秒。
>reportingPeriod
UnsignedInt
1
指定 API 生产者将向 API 消费者报告性能信息的周期。单位应为秒。reportingPeriod 应等于或为 collectionPeriod 的倍数。
>reportingBoundary
DateTime
0..1
标识一个时间边界,在此之后将停止报告。边界应允许单个报告以及直到边界的周期性报告。
callbackUri
Uri
1
将通知发送到的端点的 URI。
reports
结构 (内联)
0..N
此 PM 作业收集的可用报告信息。
>href
Uri
1
可以获取报告的 URI。
>readyTime
DateTime
1
报告可用时间。
>expiryTime
DateTime
0..1
报告将过期的时间。
>fileSize
UnsignedInt
0..1
如果已知,报告文件的大小(以字节为单位)。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
>objects
链接
0..N
链接到表示收集性能信息的所测对象实例的资源。如果所测对象实例信息可以作为资源访问,则应存在。
- 名称:获取 PM 作业描述:获取单个 PM 作业方法类型: GET资源的 URL:/vnfpm/v2/pm_jobs/{pmJobId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
PmJob
1
成功: 200
当已成功读取单个 PM 作业的信息时,应返回此响应。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
属性名称 (PmJob)
数据类型
基数
描述
id
标识符
1
此 PM 作业的标识符。
objectType
字符串
1
所测对象的类型。测量的适用对象类型在 ETSI GS NFV-IFA 027 的 7.2 条中定义 [6]。
objectInstanceIds
标识符
1..N
请求收集性能信息的所测对象实例的标识符。
subObjectInstanceIds
IdentifierInVnf
0..N
在结构化所测对象的情况下,所测对象实例的标识符。
criteria
PmJobCriteria
1
收集性能信息的标准。
>performanceMetric
字符串
0..N
这定义了指定对象实例的性能指标类型。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量名称”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>performanceMetricGroup
字符串
0..N
性能指标组。指标组是预定义的指标列表,API 生产者知道它可以将其分解为单个指标。有效值在 ETSI GS NFV-IFA 027 的 7.2 条中指定为“测量组”值 [6]。至少应存在两个属性(性能指标或组)中的一个。
>collectionPeriod
UnsignedInt
1
指定 API 生产者将收集性能信息的周期。单位应为秒。
>reportingPeriod
UnsignedInt
1
指定 API 生产者将向 API 消费者报告性能信息的周期。单位应为秒。reportingPeriod 应等于或为 collectionPeriod 的倍数。
>reportingBoundary
DateTime
0..1
标识一个时间边界,在此之后将停止报告。边界应允许单个报告以及直到边界的周期性报告。
callbackUri
Uri
1
将通知发送到的端点的 URI。
reports
结构 (内联)
0..N
此 PM 作业收集的可用报告信息。
>href
Uri
1
可以获取报告的 URI。
>readyTime
DateTime
1
报告可用时间。
>expiryTime
DateTime
0..1
报告将过期的时间。
>fileSize
UnsignedInt
0..1
如果已知,报告文件的大小(以字节为单位)。
_links
结构 (内联)
1
此资源的链接。
>self
链接
1
此资源的 URI。
>objects
链接
0..N
链接到表示收集性能信息的所测对象实例的资源。如果所测对象实例信息可以作为资源访问,则应存在。
- 名称:修改 PM 作业描述:修改单个 PM 作业的资源方法类型: PATCH资源的 URL:/vnfpm/v2/pm_jobs/{pmJobId}Content-Type: application/mergepatch+json请求:
数据类型
基数
描述
PmJobModifications
1
PM 作业修改参数。
属性名称 (PmJobModifications)
数据类型
基数
描述
callbackUri
Uri
0..1
“callbackUri”属性的新值。不允许使用值“null”。
authentication
SubscriptionAuthentication
0..1
“authentication”属性的新值,或“null”以删除该属性。如果存在于请求体中,这些修改应根据 JSON Merge Patch 的规则应用。
响应:数据类型
基数
响应代码
描述
PmJobModifications
1
成功: 200
当请求已成功处理时,应返回此响应。
ProblemDetails
1
422
有效负载体的内容类型受支持,并且请求的有效负载体包含语法上正确的数据,但无法处理该数据。
ProblemDetails
请参阅 [5] 的 6.4 条
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 [5] 的 6.4 条中定义的任何常见错误响应代码也可能返回。
注意
由于当前的 Tacker 不支持 http Etag,因此不支持错误代码:412 前置条件失败。根据 ETSI NFV SOL 文档,尚未定义 Etag 的 API 请求/响应规范,并且使用 Etag 的事务未由标准化定义。在 ETSI NFV 规范定义相关事务后,Tacker 将支持 Etag。
属性名称 (PmJobModifications)
数据类型
基数
描述
callbackUri
Uri
0..1
“callbackUri”属性的新值。不允许使用值“null”。
身份验证参数不应存在于响应体中。
- 名称:删除 PM 作业描述:删除 Tacker 中的 PM 作业方法类型:DELETE资源的 URL:/vnfpm/v2/pm_jobs/{pmJobId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当 PM 作业成功删除时返回。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
- 名称:获取单个性能报告描述:获取一个单独的性能报告方法类型: GET资源的 URL:/vnfpm/v2/pm_jobs/{pmJobId}/reports/{reportId}请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
PerformanceReport
1
成功: 200
当成功读取单个性能报告的信息时返回。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
属性名称 (PerformanceReport)
数据类型
基数
描述
entries
结构 (内联)
1..N
性能信息条目的列表。
>objectType
字符串
1
被测对象的类型。 测量的适用对象类型定义在 ETSI GS NFV-IFA 027 的 7.2 条 [6] 中。
>objectInstanceId
标识符
1
报告性能指标的被测对象实例的标识符。
>subObjectInstanceId
IdentifierInVnf
0..1
报告性能指标的被测对象实例的子对象实例的标识符。 如果 ETSI GS NFV-IFA 027 的 6.2 条 [6] 要求,则必须存在此项。
>performanceMetric
字符串
1
收集的指标名称。 此属性应包含 ETSI GS NFV-IFA 027 的 7.2 条 [6] 中定义的“测量名称”值。
>performanceValues
结构 (内联)
1..N
带有相关时间戳的性能值列表。
>>timeStamp
DateTime
1
指示收集数据的时间戳。
>>value
(任何类型)
1
收集的指标值。 此属性的类型应与 ETSI GS NFV-IFA 027 的 7.2 条 [6] 中定义的“测量单位”相关联。
>>context
KeyValuePairs
0..1
与测量值相关的测量上下文信息。 适用的键集是 ETSI GS NFV-IFA 027 的 7.2 条中相关“测量上下文”中定义的 [6]。
- 名称:通知 VNF 性能管理事件描述:传递有关性能管理事件的通知方法类型: POST资源的 URL:<Client URI for notifications>请求:
数据类型
基数
描述
PerformanceInformationAvailableNotification
1
关于性能信息可用性的通知
属性名称 (PerformanceInformationAvailableNotification)
数据类型
基数
描述
id
标识符
1
此通知的标识符。如果由于多个订阅而多次发送通知,所有这些通知的“id”属性应具有相同的值。
notificationType
字符串
1
不同通知类型的区分符。 对于此通知类型,应设置为“PerformanceInformationAvailableNotification”。
timeStamp
DateTime
1
生成通知的日期和时间。
pmJobId
标识符
1
可用性能信息的 PM 作业的标识符。
objectType
字符串
1
被测对象的类型。 测量的适用对象类型定义在 ETSI GS NFV-IFA 027 的 7.2 条 [6] 中。
objectInstanceId
标识符
1
根据 ETSI GS NFV-IFA 027 的 6.2 条 [6] 报告性能指标的被测对象实例的标识符。
subObjectInstanceIds
IdentifierInVnf
0..N
对被测对象实例的子对象实例的标识符,这些子对象实例的测量已完成。 如果相关的 PM 作业设置为仅测量被测对象实例的所有子对象实例的子集,并且 ETSI GS NFV-IFA 027 的 6.2 条 [6] 为相关的被测对象类型定义了子对象,则必须存在此项。 否则,应不存在此项。
_links
结构 (内联)
1
与此通知相关的资源的链接。
>objectInstance
NotificationLink
0..1
指向表示应用通知的被测对象实例的资源的链接。 如果被测对象实例信息可以作为资源访问,则必须存在此项。
>pmJob
NotificationLink
1
指向表示可用性能信息的 PM 作业的资源的链接。
>performanceReport
NotificationLink
1
一个链接,可以从中获取数据类型为“PerformanceReport”的可用性能信息。 此链接应指向“单个性能报告”资源。
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当通知已成功传递时,应返回此响应。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
- 名称:测试通知端点描述:确认客户端的 URI 是否正确。方法类型: GET资源的 URL:<Client URI for notifications>请求:
数据类型
基数
描述
n/a
响应:数据类型
基数
响应代码
描述
n/a
成功:204
应返回此响应,以指示已成功测试通知端点。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
以下 RESTful API 是 Tacker 特定的接口,用于 Fault Management 在 Tacker 和外部监控工具之间。
- 名称:发送警报事件描述:接收来自外部监控工具发送的警报方法类型: POST资源的 URL:/alert请求:
数据类型
基数
描述
AlertEvent
1
来自外部监控工具的警报
属性名称 (AlertEvent)
数据类型
基数
描述
receiver
字符串
1
定义将发送通知的接收者的名称。
status
字符串
1
如果至少有一个警报正在触发,则定义为 firing,否则为 resolved。
alerts
结构(内联)
1..N
此组中所有警报对象的列表。
>status
字符串
1
定义警报是 resolved 还是当前 firing。
>labels
结构(内联)
1
要附加到警报的一组标签。
>>receiver_type
字符串
1
接收器类型:tacker
>>function_type
字符串
1
功能类型:vnffm
>>vnf_instance_id
标识符
1
VNF 实例的标识符。
>>node
字符串
0..1
节点名称。
>>perceived_severity
字符串
1
受管对象故障的感知严重程度。CRITICAL、MAJOR、MINOR、WARNING、INDETERMINATE、CLEARED
>>event_type
字符串
1
事件类型。COMMUNICATIONS_ALARM、PROCESSING_ERROR_ALARM、ENVIRONMENTAL_ALARM、QOS_ALARM、EQUIPMENT_ALARM
>annotations
结构(内联)
1
警报的一组注释。
>>fault_type
字符串
0..1
澄清故障类型以提供更多信息。
>>probable_cause
字符串
1
有关故障的可能原因的信息。
>>fault_details
字符串
0..1
提供有关故障的更多信息。
>startsAt
DateTime
1
警报开始触发的时间。
>endsAt
DateTime
1
警报的结束时间。
>generatorURL
字符串
1
一个反向链接,用于标识此警报的触发实体。
>fingerprint
字符串
1
可用于标识警报的指纹。
groupLabels
KeyValuePairs
1
这些警报分组的标签。
commonLabels
KeyValuePairs
1
所有警报通用的标签。
commonAnnotations
KeyValuePairs
1
所有警报通用的注释集。 用于更长的附加信息字符串。
externalURL
字符串
1
指向发送通知的 Alertmanager 的反向链接。
version
字符串
1
groupKey
字符串
1
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当请求成功读取时返回。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
以下 RESTful API 是 Tacker 特定的接口,用于 Performance Management 在 Tacker 和外部监控工具之间。
- 名称:发送 PM 事件描述:接收来自外部监控工具发送的 PM 事件方法类型: POST资源的 URL:/pm_event请求:
数据类型
基数
描述
PerformanceEvent
1
来自外部监控工具的 PM 事件
属性名称 (PerformanceEvent)
数据类型
基数
描述
receiver
字符串
1
定义将发送通知的接收者的名称。
status
字符串
1
如果至少有一个警报正在触发,则定义为 firing,否则为 resolved。 在 PM 的情况下,Tacker 不会参考此属性。
alerts
结构(内联)
1..N
此组中所有警报对象的列表。
>status
字符串
1
定义警报是 resolved 还是当前 firing。
>labels
结构(内联)
1
要附加到警报的一组标签。
>>receiver_type
字符串
1
接收器类型:tacker
>>function_type
字符串
1
功能类型:vnfpm
>>job_id
标识符
1
PM 作业的标识符
>>object_instance_id
标识符
1
报告性能指标的被测对象实例的标识符。
>>sub_object_instance_id
标识符
0..1
报告性能指标的被测对象子实例的标识符。
>annotations
结构(内联)
1
警报的一组注释。
>>value
(任何类型)
0..1
收集的指标值。
>startsAt
DateTime
1
警报开始触发的时间。
>endsAt
DateTime
1
警报的结束时间。
>generatorURL
字符串
1
一个反向链接,用于标识此警报的触发实体。
>fingerprint
字符串
1
可用于标识警报的指纹。
groupLabels
KeyValuePairs
1
这些警报分组的标签。
commonLabels
KeyValuePairs
1
所有警报通用的标签。
commonAnnotations
KeyValuePairs
1
所有警报通用的注释集。 用于更长的附加信息字符串。
externalURL
字符串
1
指向发送通知的 Alertmanager 的反向链接。
version
字符串
1
groupKey
字符串
1
响应:数据类型
基数
响应代码
描述
n/a
成功:204
当请求成功读取时返回。
ProblemDetails
请参阅 [5] 的 6.4 条。
错误: 4xx/5xx
除了上述响应代码外,ETSI GS NFV-SOL 013 的 6.4 条中定义的任何常见错误响应代码 [5] 也可能被返回。
安全影响¶
无
通知影响¶
- 故障管理
Tacker 发送 POST <Client URI from subscriptions> 到 NFVO 或 EM,以通知 Client Tacker 收到警报。
Tacker 发送 GET <Client URI from subscriptions> 到 NFVO 或 EM,以确认 Client 的 URI 正确。
- 性能管理
Tacker 发送 POST <Client URI for notifications> 到 NFVO 或 EM,以通知 Client Tacker 收到与 PM 相关的事件。
Tacker 发送 GET <Client URI for notifications> 到 NFVO 或 EM,以确认 Client 的 URI 正确。
Tacker 发送 GET/POST /api/v1/alerts 到外部监控工具,以设置 PM 作业。
Tacker 发送 GET/POST /api/v1/query 到外部监控工具,以获取与 PM 事件相关的数据。
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
- 其他贡献者
Koji Shimizu <shimizu.koji@fujitsu.com>
Yoshiyuki Katada <katada.yoshiyuk@fujitsu.com>
Ayumu Ueha <ueha.ayumu@fujitsu.com>
新見雄介 <niimi.yusuke@fujitsu.com>
工作项¶
实现 Tacker 以支持
故障管理接口
添加新的 Rest API
GET /vnffm/v1/alarms以获取所有警报。添加新的 Rest API
GET /vnffm/v1/alarms/{alarmId}以获取指定的警报。添加新的 Rest API
PATCH /vnffm/v1/alarms/{alarmId}以将目标警报更改为 confirmed。添加新的 Rest API
POST /vnffm/v1/subscriptions以创建新的订阅。添加新的 Rest API
GET /vnffm/v1/subscriptions以获取所有订阅。添加新的 Rest API
GET /vnffm/v1/subscriptions/{subscriptionId}以获取指定的订阅。添加新的 Rest API
DELETE /vnffm/v1/subscriptions/{subscriptionId}以删除指定的订阅。添加新的请求
POST <Client URI from subscriptions>以通知 Client Tacker 收到警报。添加新的请求
GET <Client URI from subscriptions>以确认 Client 的 URI 正确。
性能管理接口
添加新的 Rest API
POST /vnfpm/v2/pm_jobs以创建 PM 作业。添加新的 Rest API
GET /vnfpm/v2/pm_jobs以获取所有 PM 作业。添加新的 Rest API
GET /vnfpm/v2/pm_jobs/{pmJobId}以获取指定的 PM 作业。添加新的 Rest API
PATCH /vnfpm/v2/pm_jobs/{pmJobId}以更改目标 PM 作业。添加新的 Rest API
DELETE /vnfpm/v2/pm_jobs/{pmJobId}以删除指定的 PM 作业。添加新的 Rest API
GET /vnfpm/v2/pm_jobs/{pmJobId}/reports/{reportId}以获取指定的 PM 报告。添加新的请求
POST <Client URI for notifications>以通知 Client Tacker 收到警报。添加新的请求
GET <Client URI for notifications>以确认 Client 的 URI 正确。
外部监控接口
添加新的 Rest API
POST /alert以接收来自外部监控工具发送的 FM 警报。添加新的 Rest API
POST /pm_event以接收来自外部监控工具发送的 PM 事件。
添加新的单元和功能测试。
依赖项¶
无。
测试¶
将添加单元和功能测试,以涵盖规范所需的用例。
文档影响¶
将添加完整的用户指南,以说明如何通过外部监控工具进行监控。
更新 API 文档,以说明 REST API 影响 中提到的 API 添加项。