查询堆栈执行记录
功能介绍
用于查询堆栈某一次执行记录。
URI
GET /v2/stacks/{stack_id}/actions/{action_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stack_id |
是 |
String |
堆栈ID,长度[1, 64]。 |
action_id |
是 |
String |
执行记录的名称,长度[1, 64]。 |
请求消息
N/A。
响应消息
- 响应参数
响应参数参见表2。
表2 响应参数 参数
参数类型
描述
kind
String
API类型,固定值“Execution”,该值不可修改。
apiVersion
String
API版本,固定值“paas/v1alpha1”,该值不可修改。
metadata
Object
Execution的元信息,详情请参见表3。
spec
Object
Execution的属性,详情请参见表4。
status
Object
Execution的执行状态,详情请参见表7。
表3 Execution Metadata结构 参数
参数类型
描述
name
String
Execution的名字,在执行生命周期的时候作为action_id传入。
labels
String
Execution的标签,标签与创建时的stack一致,额外添加一个execution-hash字段。
namespace
String
堆栈的项目ID,与堆栈的命名空间的字段一致。
annotations
Map<String,String>
堆栈的特殊属性,当前AOS共填写3个字段:
- paas-iam.alpha.kubernetes.io/domain-id: 与顶层的domain_id字段一致
- namespace: 与顶层的namespace字段一致
- cluster-id: 与顶层的cluster_id字段一致
resourceVersion
String
资源版本
selfLink
String
访问该资源的api地址
uid
String
堆栈资源的ID,与顶层的guid字段一致。
表4 Execution Spec结构 参数
参数类型
描述
actionName
String
Execution的生命周期名称
changedObjectData
String
Execution修改的节点属性,base64编码
disableStrategy
String
执行动作禁用策略
location
String
指定的Execution执行者所在的位置
metadata
Object
K8SStackSpec的元信息,详情请参见表5。
objectData
String
Execution运行时的节点属性,base64编码的模板实例化数据。
objectReference
Object
ExecutionSpec的objectReference参数,详情请参见表6。
onFailureStrategy
String
Execution的超时重试逻辑
source
String
执行动作源,可取值System或User。
subObjectNames
String
Execution指定执行的Object名称。如果非空,执行指定的Object的生命周期如果为空,执行所有Object的生命周期。
timeoutInMinutes
Integer
Execution的超时时间
表5 Execution Spec Metadata结构 参数
参数类型
描述
labels
Object
Execution的标签,标签与创建时的stack.spec.selector.matchlabels一致。
每个key-value表示有个名为key值为value的标签。
namespace
String
与stack的namespace字段一致
其余字段由k8s提供
-
-
表6 Execution Spec ObjectReference结构 参数
参数类型
描述
kind
Object
与堆栈的kind一致
namespace
String
与堆栈的namespace一致
uid
String
与堆栈的uid一致
表7 Stack Status ExecutionStatus结构 参数
参数类型
描述
actionName
String
操作的名称,create (创建)、delete(删除)、 upgrade(变更)、 rollback(回滚)、reconfig(重配置)、retry(重试)。
progress
Integer
执行进度
objectStatus
Object
表示操作的总体执行进度,详情请参见表8。
subObjectStatuses
Object
表示分步操作的执行进度。每个key-value结构表示key对应的节点的执行进度,value详情请参见表9。
- 响应示例
{ "kind": "Execution", "apiVersion": "paas/v1alpha1", "metadata": { "name": "trim-4074942376", "namespace": "aos", "selfLink": "/apis/paas/v1alpha1/namespaces/aos/executions/trim-4074942376", "uid": "ccb8fec5-cc70-11e6-8448-0242ac001004", "resourceVersion": "48180", "creationTimestamp": "2016-12-27T20:12:32Z", "labels": { "execution-hash": "4074942376", "stackname": "trim" }, "annotations": { "paas-iam.alpha.kubernetes.io/domain-id": "ea816a0cc3204ee09efb6d585bee4c58", "stack.kubernetes.io/revision": "1" }, "enable": true }, "spec": { "metadata": { "namespace": "aos", "creationTimestamp": null, "labels": { "execution-hash": "4074942376", "stackname": "trim" }, "enable": true }, "objectReference": { "namespace": "aos", "name": "trim", "uid": "cb2cdea0-cc70-11e6-8448-0242ac001004" }, "actionName": "create", "timeoutInMinutes": 60, "onFailureStrategy": "DoNothing", "disableStrategy": "Cancel", "source": "User", "objectData": "*****", "location": "172.16.0.0" }, "status": { "actionName": "create", "progress": 100, "objectStatus": { "phase": "Succeeded", "updateAt": "2016-12-27T20:12:47Z" }, "subObjectStatuses": { "hello-app": { "phase": "Succeeded", "updateAt": "2016-12-27T20:12:33Z" }, "hello-component": { "phase": "Succeeded", "updateAt": "2016-12-27T20:12:47Z" }, "hello-package": { "phase": "Succeeded", "updateAt": "2016-12-27T20:12:34Z" } } } }
状态码
- 正常
表10 状态码 状态码
描述
200
查询执行记录成功
- 异常
表11 状态码 状态码
描述
400
请求参数有误
404
堆栈不存在
500
服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。