文档首页 > > API参考> API> 查询堆栈列表

查询堆栈列表

分享
更新时间: 2019/08/26 GMT+08:00

功能介绍

用于查询堆栈列表。

URI

GET /v2/stacks?project_id={project_id}

表1 参数说明

参数

是否必选

描述

project_id

堆栈所属项目,在普通用户查询时必选。长度[1,64]。

labels

指定查询堆栈的标签。格式为key1=value1,key2=value2,标签名与值需要满足表1中的labels字段的要求。

dsl_version

模板语法版本,将查询到相应版本的堆栈。只支持huaweicloud_tosca_version_1_0,默认为空。

template_id

将查询到使用指定模板ID的堆栈,不可与template_name同时使用。

template_name

将查询到使用指定模板名称的堆栈,不可与template_id同时使用。

template_version

将查询到使用指定模板版本的堆栈,需要同时指定template_name。

请求消息

N/A。

响应消息

  • 响应参数

    响应参数是一个堆栈结构列表或返回消息结构。

    • 查询成功时返回堆栈结构列表。
    • 查询失败时返回错误消息结构。

    其中,堆栈结构如表2 响应参数所示, 错误消息结构如表5所示。

    表2 响应参数

    参数

    参数类型

    描述

    health

    Object

    堆栈的健康检查情况,详情请参见表3

    object

    Object

    堆栈运行相关数据,详情请参见表4

    guid, name等其余顶层字段

    Object

    详情请参见表1

    表3 健康参数

    参数

    参数类型

    描述

    message

    String

    健康检查消息

    healthy

    Boolean

    是否健康

    表4 K8s Stack结构

    参数

    参数类型

    描述

    kind

    String

    值为Stack,表示是Stack类型。

    apiVersion

    String

    值为paas/v1alpha1,表示api版本。

    metadata

    Object

    堆栈的元属性,详情请参见表5

    spec

    Object

    堆栈的创建细节属性,详情请参见表6

    status

    Object

    堆栈的运行状态,详情请参见表8

    表5 Stack Metadata结构

    参数

    参数类型

    描述

    name

    String

    堆栈名字,与顶层name字段一致。

    namespace

    String

    堆栈的项目ID,与顶层project_id字段一致。

    selfLink

    String

    访问该资源的api地址

    uid

    String

    堆栈资源的ID,与顶层的guid字段一致。

    annotations

    Object

    堆栈的特殊属性,当前AOS共填写3个字段:

    • paas-iam.alpha.kubernetes.io/domain-id: 与顶层的domain_id字段一致
    • namespace: 与顶层的namespace字段一致
    • cluster-id: 与顶层的cluster_id字段一致

    resourceVersion等其余字段

    -

    K8s自带属性

    表6 Stack Spec结构

    参数

    参数类型

    描述

    selector

    Object

    包含一个名为matchLabels,类型为JSONObject的字段,其中包含一个key-value结构。

    key为stackname,value为顶层的name字段。

    template

    Object

    AOS的模板属性,详情请参见表7

    execution

    Object

    AOS运行时的工作流数据,只在工作流运行时出现,详情请参见表4

    表7 Stack Spec Template结构

    参数

    参数类型

    描述

    type

    String

    值为Aos,表示是Aos的模板

    data

    String

    通过Base64编码后的模板数据

    表8 Stack Status结构

    参数

    参数类型

    描述

    phase

    String

    堆栈的执行状态,详细请参见表9

    ElementStatuses

    Object

    堆栈的执行状态及相关属性。每个key-value对应模板内的每个node,key为node的名字,value也为JSONObject,详细请参见表10

    LastExecutionStatus

    Object

    堆栈最后一次执行的执行状态,详情请参见表11

    HealthyStatus

    Object

    堆栈最后一次健康检查状态的缓存,详情请参见表14

    表9 phase参数说明

    phase参数取值

    描述

    Running

    运行中

    Pending

    初始化

    Terminating

    删除中

    CreateFailed

    创建失败

    DeleteSucceeded

    删除成功

    StopSucceeded

    停止成功

    DarklaunchSucceeded

    灰度发布成功

    UpgradeFailed

    变更失败

    DarklaunchFailed

    灰度发布失败

    StartFailed

    启动失败

    StopFailed

    停止失败

    ScaleFailed

    伸缩失败

    RollbackFailed

    恢复堆栈失败

    DeleteFailed

    删除失败

    UpdateFailed

    更新失败

    ForceCancelled

    已强制取消

    CreateSucceeded

    创建成功

    StartSucceeded

    启动成功

    ScaleSucceeded

    伸缩成功

    RollbackSucceeded

    恢复堆栈成功

    UpgradeSucceeded

    变更成功

    UpdateSucceeded

    更新成功

    ReconfigFailed

    编辑失败

    ReconfigSucceeded

    编辑成功

    Creating

    创建中

    Deleting

    删除中

    Starting

    启动中

    Stopping

    停止中

    Scaling

    伸缩中

    Upgrading

    变更中

    Darklaunching

    灰度发布中

    Rollbacking

    恢复堆栈中

    Updating

    更新中

    Reconfiging

    编辑中

    CreatePaused

    创建已中止

    DeletePaused

    删除已中止

    StartPaused

    启动已中止

    StopPaused

    停止已中止

    ScalePaused

    伸缩已中止

    UpgradePaused

    变更已中止

    DarkLaunchPaused

    灰度发布已中止

    RollbackPaused

    恢复堆栈已中止

    UpdatePaused

    更新已中止

    ReconfigPaused

    编辑已中止

    CreateCancelling

    创建取消中

    DeleteCancelling

    删除取消中

    StartCancelling

    启动取消中

    StopCancelling

    停止取消中

    ScaleCancelling

    伸缩取消中

    UpgradeCancelling

    变更取消中

    DarklaunchCancelling

    灰度发布取消中

    RollbackCancelling

    恢复堆栈取消中

    UpdateCancelling

    更新取消中

    ReconfigCancelling

    编辑取消中

    CreateCancelled

    创建已取消

    DeleteCancelled

    删除已取消

    StartCancelled

    启动已取消

    StopCancelled

    停止已取消

    ScaleCancelled

    伸缩已取消

    UpgradeCancelled

    变更已取消

    RollbackCancelled

    恢复堆栈已取消

    ReconfigCancelled

    编辑已取消

    Terminated

    已停止

    CancelFailed

    取消失败

    ChangeToPeriodicing

    转包周期中

    ChangeToPeriodicFailed

    转包周期失败

    ChangeToPeriodicSucceeded

    转包周期成功

    ChangeToPeriodicCancelling

    转包周期取消中

    表10 Stack Status ElementStatus结构

    参数

    参数类型

    描述

    runtimeProperties

    JSONObject,每个key-value均为String类型,表示执行时属性,不同类型的节点属性不同

    节点的运行相关属性

    表11 Stack Status ExecutionStatus结构

    参数

    参数类型

    描述

    actionName

    String

    操作的名称,create (创建)、 start(启动) 、stop(停止) 、delete(删除)、 scale(伸缩)、upgrade(升级)、 rollback(回滚)、reconfig(重配置)、retry(重试)。

    progress

    Integer

    执行进度

    objectStatus

    Object

    表示操作的总体执行进度,详情请参见表12

    subObjectStatuses

    Object

    表示分步操作的执行进度。每个key-value结构表示key对应的节点的执行进度,value详情请参见表13

    表12 Stack Status ExecutionStatus ActionStatus结构

    参数

    参数类型

    描述

    phase

    String

    该操作步骤的执行状态

    message

    String

    详细的出错信息

    reason

    String

    CamelCase格式的错误描述信息

    updateAt

    String

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

    表13 Stack Status ExecutionStatus SubActionStatus结构

    参数

    参数类型

    描述

    phase

    String

    该操作步骤的执行状态

    message

    String

    详细的出错信息

    reason

    String

    CamelCase格式的错误描述信息

    updateAt

    String

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

    subActionName

    String

    元素子操作的名字

    createAt

    String

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

    表14 Stack Status HealthyStatus结构

    参数

    参数类型

    描述

    status

    String

    健康检查后堆栈的状态

    healthyMessage

    String

    健康检查的结果信息

    elements

    Object

    健康检查各个元素的结果信息。每个key-value结构表示有名为key的元素,其健康检查结果为value,value的结构如表15

    healthyCheckTimestamp

    String

    以RFC3339格式表示的健康检查时间戳

    表15 Stack Status HealthyStatus ElementHealthyStatus结构

    参数

    参数类型

    描述

    status

    String

    健康检查后元素的状态

    message

    String

    元素健康检查的结果信息

    runtimes

    Object

    每个key-value表示健康检查结果的某个特性

  • 成功响应示例

    此处只写出单一堆栈结构,url返回为JSONArray([{"name": "stack1", ...}, {"name": "stack2", ...}])

    {
        "force": false,
        "guid": "6c2dc1bc-66cc-11e7-8a31-0255ac101c16",
        "namespace": "csc-system",
        "project_id": "3de3c020647e447fb9c9dbe1f0fc8b85",
        "cluster_name": "cluster01",
        "cluster_id": "d019ddfa-61e2-11e7-80ba-0255ac100705",
        "domain_id": "c952eaaa5bdc43668d31aff2bb74a72d",
        "name": "b-lss-f98q0",
        "description": "",
        "status": "Running",
        "template_id": "6307541e-11e9-8d57-0682-0a0ab82e8450",
        "previous_template_id": "",
        "template_name": "paasconsole",
        "healthy": true,
        "healthy_message": "",
        "inputs_json": "{\"app_path\":\"/\",\"container_port\":18081,\"custom_tag_key0\":\"netype\",\"custom_tag_val0\":\"com.huawei.itpaas.platformservice.ncss\",\"extend_info\":\"{}\",\"image_name\":\"10.101.248.47:20202/aos-team/cam-default/dw_broker_lss_suse11sp3:v600r001c11\",\"pod_name\":\"b-lss-f98q0\",\"role_name\":\"manage\",\"secret_name\":\"default-ingress-ssl\",\"service_guid\":\"beef926a-e170-0419-c220-16d90bce9951\",\"sso_info\":\"{\\\"iam_external_domain\\\":\\\"10.101.248.93\\\",\\\"iam_external_addr\\\":\\\"10.101.248.93\\\",\\\"iam_internal_ip\\\":\\\"iam.kube-system.svc.cluster.local\\\",\\\"iam_port\\\":\\\"31943\\\"}\",\"volume_container_path\":\"/home/agentlib/uniagentconf\",\"volume_host_path\":\"/home/agentlib/uniagentconf\"}",
        "previous_inputs_json": "",
        "create_at": "2017-07-12T06:36:23Z",
        "update_at": "2017-07-12T06:36:39Z",
        "labels": "",
        "object": {
            "metadata": {
                "name": "b-lss-f98q0",
                "namespace": "3de3c020647e447fb9c9dbe1f0fc8b85",
                "selfLink": "/apis/paas/v1alpha1/namespaces/3de3c020647e447fb9c9dbe1f0fc8b85/stacks/b-lss-f98q0",
                "uid": "6c2dc1bc-66cc-11e7-8a31-0255ac101c16",
                "resourceVersion": "1442425",
                "creationTimestamp": "2017-07-12T06:36:23Z",
                "labels": {
                    "stackname": "b-lss-f98q0"
                },
                "annotations": {
                    "cluster-id": "d019ddfa-61e2-11e7-80ba-0255ac100705",
                    "namespace": "csc-system",
                    "paas-iam.alpha.kubernetes.io/domain-id": "c952eaaa5bdc43668d31aff2bb74a72d",
                    "stack.kubernetes.io/revision": "1"
                }
            },
            "spec": {
                "selector": {
                    "matchLabels": {
                        "stackname": "b-lss-f98q0"
                    }
                },
                "template": {
                    "type": "Aos",
                    "data": "******"
                }
            },
            "status": {
                "phase": "CreateSucceeded",
                "elementStatuses": {
                    "paas-console-app": {
                        "runtimeProperties": {
                            "CfeCluster": "{\"clusterID\":\"d019ddfa-61e2-11e7-80ba-0255ac100705\",\"namespace\":\"csc-system\"}",
                            "ConfigMap": "{\"selfLink\":\"/api/v1/namespaces/csc-system/configmaps/b-lss-f98q0\",\"name\":\"b-lss-f98q0\",\"id\":\"7248cfe7-66cc-11e7-9a88-286ed489ceaa\"}",
                            "Deployment": "{\"selfLink\":\"/apis/extensions/v1beta1/namespaces/csc-system/deployments/b-lss-f98q0\",\"name\":\"b-lss-f98q0\",\"id\":\"7253bff2-66cc-11e7-9a88-286ed489ceaa\"}",
                            "Ingress": "{\"selfLink\":\"/apis/extensions/v1beta1/namespaces/csc-system/ingresses/b-lss-f98q0\",\"annotations\":{\"ingress.beta.kubernetes.io/role\":\"manage\",\"ingress.beta.kubernetes.io/type\":\"external\",\"ingress.kubernetes.io/external-address\":\"10.101.204.188:30283\",\"ingress.kubernetes.io/external-ssl-address\":\"10.101.204.188:30282\"},\"rules\":[{\"host\":\"b-lss-f98q0-csc-system.10.101.204.188.xip.io\",\"http\":{\"paths\":[{\"path\":\"/\",\"backend\":{\"serviceName\":\"b-lss-f98q0\",\"servicePort\":32158}}]}}]}",
                            "Service": "{\"selfLink\":\"/api/v1/namespaces/csc-system/services/b-lss-f98q0\",\"type\":\"NodePort\",\"ports\":[{\"name\":\"\",\"protocol\":\"TCP\",\"port\":18081,\"targetPort\":18081,\"nodePort\":32158}],\"selector\":{\"app\":\"b-lss-f98q0\",\"stack-name\":\"b-lss-f98q0\"},\"clusterIP\":\"10.247.248.87\",\"ExternalName\":\"\",\"sessionAffinity\":\"None\"}"
                        }
                    }
                },
                "lastExecutionStatus": {
                    "actionName": "create",
                    "progress": 100,
                    "objectStatus": {
                        "phase": "Succeeded",
                        "updateAt": "2017-07-12T06:36:37Z"
                    },
                    "subObjectStatuses": {
                        "host-dir": {
                            "phase": "Succeeded",
                            "updateAt": "2017-07-12T06:36:23Z"
                        },
                        "paas-console": {
                            "phase": "Succeeded",
                            "updateAt": "2017-07-12T06:36:23Z"
                        },
                        "paas-console-app": {
                            "phase": "Succeeded",
                            "updateAt": "2017-07-12T06:36:36Z"
                        }
                    }
                }
            }
        },
        "health": {
            "message": "",
            "healthy": true
        }
    }
  • 错误响应示例
    {
        "message": "Internal error.please check the error log and handle it.",
        "code": "02000051",
        "extend": ""
    }

状态码

  • 正常
    表16 状态码

    状态码

    描述

    200

    查询堆栈列表成功

  • 异常
    表17 状态码

    状态码

    描述

    500

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

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区