更新时间:2022-02-22 GMT+08:00

查询堆栈执行记录

功能介绍

用于查询堆栈某一次执行记录。

URI

GET /v2/stacks/{stack_id}/actions/{action_id}

表1 参数说明

参数

是否必选

参数类型

描述

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

    表8 Stack Status ExecutionStatus ActionStatus结构

    参数

    参数类型

    描述

    phase

    String

    该操作步骤的执行状态

    message

    String

    详细的出错信息

    reason

    String

    CamelCase格式的错误描述信息

    updateAt

    String

    以RFC3339格式表示的信息更新的UTC时间戳

    表9 Stack Status ExecutionStatus SubActionStatus结构

    参数

    参数类型

    描述

    phase

    String

    该操作步骤的执行状态

    message

    String

    详细的出错信息

    reason

    String

    CamelCase格式的错误描述信息

    updateAt

    String

    以RFC3339格式表示的信息更新的UTC时间戳

    subActionName

    String

    元素子操作的名字

    createAt

    String

    以RFC3339格式表示的信息创建的UTC时间戳

  • 响应示例
    {
        "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

    服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。