Skip to content

[BUG] kbcli cluster expose Failed to process the operation of OpsRequest #386

@JashBook

Description

@JashBook

Describe the bug

kbcli version
Kubernetes: v1.28.9-gke.1289000
KubeBlocks: 0.9.0-beta.48
kbcli: 0.9.0-beta.4

Warning DoActionFailed 72s (x15 over 94s) ops-request-controller Failed to process the operation of OpsRequest: component has roles, at least one of 'roleSelector' or 'podSelector' must be specified, cluster: scale-pecanq, component: mysql
➜ ~ kbcli cluster expose scale-pecanq --auto-approve --force=true

To Reproduce
Steps to reproduce the behavior:

  1. create cluster
apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
  name: scale-pecanq
  namespace: default
  annotations:
    kubeblocks.io/extra-env: '{"KB_PROXY_ENABLED":"on"}'
spec:
  clusterDefinitionRef: apecloud-mysql
  clusterVersionRef: ac-mysql-8.0.30-1
  terminationPolicy: Halt
  componentSpecs:
    - name: mysql
      componentDefRef: mysql
      monitor: false
      replicas: 3
      enabledLogs:
        - slow
        - error
      resources:
        requests:
          cpu: 500m
          memory: 1Gi
        limits:
          cpu: 500m
          memory: 1Gi
      volumeClaimTemplates:
        - name: data
          spec:
            storageClassName:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 20Gi
      services:
    - name: vtcontroller
      componentDefRef: vtcontroller
      enabledLogs:
        - error
        - warning
        - info
      replicas: 1
      resources:
        requests:
          cpu: 500m
          memory: 1Gi
        limits:
          cpu: 500m
          memory: 1Gi
      volumeClaimTemplates:
        - name: data
          spec:
            storageClassName:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 20Gi
    - name: vtgate
      componentDefRef: vtgate
      replicas: 1
      enabledLogs:
        - error
        - warning
        - info
        - queryLog
      resources:
        requests:
          cpu: 500m
          memory: 1Gi
        limits:
          cpu: 500m
          memory: 1Gi
  1. expose
kbcli cluster expose scale-pecanq --auto-approve --force=true --type vpc --enable true --components mysql 
  1. See error
kubectl get ops
NAME                                     TYPE                CLUSTER          STATUS     PROGRESS   AGE
scale-pecanq-expose-ctmrv                Expose              scale-pecanq     Creating   -/-        7m2s

describe ops

kubectl describe ops scale-pecanq-expose-ctmrv 
Name:         scale-pecanq-expose-ctmrv
Namespace:    default
Labels:       app.kubernetes.io/instance=scale-pecanq
              app.kubernetes.io/managed-by=kubeblocks
              ops.kubeblocks.io/ops-type=Expose
Annotations:  <none>
API Version:  apps.kubeblocks.io/v1alpha1
Kind:         OpsRequest
Metadata:
  Creation Timestamp:  2024-07-03T10:46:28Z
  Finalizers:
    opsrequest.kubeblocks.io/finalizer
  Generate Name:  scale-pecanq-expose-
  Generation:     2
  Managed Fields:
    API Version:  apps.kubeblocks.io/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:generateName:
        f:labels:
          .:
          f:app.kubernetes.io/instance:
          f:app.kubernetes.io/managed-by:
      f:spec:
        .:
        f:clusterName:
        f:expose:
        f:force:
        f:preConditionDeadlineSeconds:
        f:type:
    Manager:      kbcli
    Operation:    Update
    Time:         2024-07-03T10:46:28Z
    API Version:  apps.kubeblocks.io/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:finalizers:
          .:
          v:"opsrequest.kubeblocks.io/finalizer":
        f:labels:
          f:ops.kubeblocks.io/ops-type:
        f:ownerReferences:
          .:
          k:{"uid":"41e1018a-c277-4456-9fdb-dbd721ac59ec"}:
    Manager:      manager
    Operation:    Update
    Time:         2024-07-03T10:46:28Z
    API Version:  apps.kubeblocks.io/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:status:
        .:
        f:conditions:
          .:
          k:{"type":"Exposing"}:
            .:
            f:lastTransitionTime:
            f:message:
            f:reason:
            f:status:
            f:type:
          k:{"type":"Validated"}:
            .:
            f:lastTransitionTime:
            f:message:
            f:reason:
            f:status:
            f:type:
          k:{"type":"WaitForProgressing"}:
            .:
            f:lastTransitionTime:
            f:message:
            f:reason:
            f:status:
            f:type:
        f:lastConfiguration:
          .:
          f:components:
            .:
            f:mysql:
        f:phase:
        f:progress:
        f:startTimestamp:
    Manager:      manager
    Operation:    Update
    Subresource:  status
    Time:         2024-07-03T10:46:28Z
  Owner References:
    API Version:     apps.kubeblocks.io/v1alpha1
    Kind:            Cluster
    Name:            scale-pecanq
    UID:             41e1018a-c277-4456-9fdb-dbd721ac59ec
  Resource Version:  416977181
  UID:               c3c5edc6-a9f8-4383-977b-1869cfef0f50
Spec:
  Cluster Name:  scale-pecanq
  Expose:
    Component Name:  mysql
    Services:
      Annotations:
        networking.gke.io/load-balancer-type:  Internal
      Name:                                    vpc
      Service Type:                            LoadBalancer
    Switch:                                    Enable
  Force:                                       true
  Pre Condition Deadline Seconds:              0
  Type:                                        Expose
Status:
  Conditions:
    Last Transition Time:  2024-07-03T10:46:28Z
    Message:               wait for the controller to process the OpsRequest: scale-pecanq-expose-ctmrv in Cluster: scale-pecanq
    Reason:                WaitForProgressing
    Status:                True
    Type:                  WaitForProgressing
    Last Transition Time:  2024-07-03T10:46:28Z
    Message:               OpsRequest: scale-pecanq-expose-ctmrv is validated
    Reason:                ValidateOpsRequestPassed
    Status:                True
    Type:                  Validated
    Last Transition Time:  2024-07-03T10:46:28Z
    Message:               Start to expose the services in Cluster: scale-pecanq
    Reason:                ExposeStarted
    Status:                True
    Type:                  Exposing
  Last Configuration:
    Components:
      Mysql:
  Phase:            Creating
  Progress:         -/-
  Start Timestamp:  2024-07-03T10:46:28Z
Events:
  Type     Reason                    Age                     From                    Message
  ----     ------                    ----                    ----                    -------
  Normal   WaitForProgressing        7m32s                   ops-request-controller  wait for the controller to process the OpsRequest: scale-pecanq-expose-ctmrv in Cluster: scale-pecanq
  Normal   ValidateOpsRequestPassed  7m32s                   ops-request-controller  OpsRequest: scale-pecanq-expose-ctmrv is validated
  Normal   ExposeStarted             7m32s                   ops-request-controller  Start to expose the services in Cluster: scale-pecanq
  Warning  DoActionFailed            7m10s (x15 over 7m32s)  ops-request-controller  Failed to process the operation of OpsRequest: component has roles, at least one of 'roleSelector' or 'podSelector' must be specified, cluster: scale-pecanq, component: mysql
  Warning  DoActionFailed            3s (x16 over 2m47s)     ops-request-controller  Failed to process the operation of OpsRequest: component has roles, at least one of 'roleSelector' or 'podSelector' must be specified, cluster: scale-pecanq, component: mysql

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions