Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]some required values are missing in the template when getting cluster mode milvus #8622

Open
tianyue86 opened this issue Dec 11, 2024 · 1 comment
Assignees
Labels
kind/bug Something isn't working
Milestone

Comments

@tianyue86
Copy link

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Get cluster mode milvus template by setting mode=cluster
helm template milclu02 ./addons-cluster/milvus --version 1.0.0-alpha.0 --set mode=cluster 
---
# Source: milvus-cluster/templates/cluster.yaml
apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
  namespace: default
  name: milclu02
  labels: 
    helm.sh/chart: milvus-cluster-1.0.0-alpha.0
    app.kubernetes.io/version: "2.3.2"
    app.kubernetes.io/instance: milclu02
spec:
  clusterDef: milvus
  topology: cluster
  terminationPolicy: Delete
  componentSpecs:
    - name: proxy
      replicas: 1      
      resources:
        limits:
          cpu: "0.5"
          memory: "0.5Gi"
        requests:
          cpu: "0.5"
          memory: "0.5Gi"
      serviceRefs:        
        - name: milvus-meta-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-log-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-object-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:       
      disableExporter: true
    - name: mixcoord
      replicas: 1      
      resources:
        limits:
          cpu: "0.5"
          memory: "0.5Gi"
        requests:
          cpu: "0.5"
          memory: "0.5Gi"
      serviceRefs:        
        - name: milvus-meta-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-log-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-object-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:       
      disableExporter: true
    - name: datanode
      replicas: 1      
      disableExporter: true      
      resources:
        limits:
          cpu: "0.5"
          memory: "0.5Gi"
        requests:
          cpu: "0.5"
          memory: "0.5Gi"
      serviceRefs:        
        - name: milvus-meta-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-log-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-object-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:       
      disableExporter: true
    - name: indexnode
      replicas: 1      
      disableExporter: true      
      resources:
        limits:
          cpu: "0.5"
          memory: "0.5Gi"
        requests:
          cpu: "0.5"
          memory: "0.5Gi"
      serviceRefs:        
        - name: milvus-meta-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-log-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-object-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:       
      disableExporter: true
    - name: querynode
      replicas: 1      
      disableExporter: true      
      resources:
        limits:
          cpu: "0.5"
          memory: "0.5Gi"
        requests:
          cpu: "0.5"
          memory: "0.5Gi"
      serviceRefs:        
        - name: milvus-meta-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-log-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:         
        - name: milvus-object-storage
          namespace: 
          clusterServiceSelector:
            cluster: 
            service:
              component: 
              service: 
              port: 
            credential:
              component: 
              name: 
          serviceDescriptor:       
      disableExporter: true
  1. apply this yaml to create milvus cluster
    ===> some required values are missing
tianyue@apeclouds-MacBook-Pro kubeblocks-addons % k apply -f milvuscluster.yaml
The Cluster "milclu02" is invalid: 
* spec.componentSpecs[0].serviceRefs[0].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[0].serviceRefs[0].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[0].serviceRefs[0].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[0].serviceRefs[0].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[0].serviceRefs[1].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[0].serviceRefs[1].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[0].serviceRefs[1].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[0].serviceRefs[1].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[0].serviceRefs[2].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[0].serviceRefs[2].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[0].serviceRefs[2].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[0].serviceRefs[2].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[1].serviceRefs[0].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[1].serviceRefs[0].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[1].serviceRefs[0].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[1].serviceRefs[0].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[1].serviceRefs[1].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[1].serviceRefs[1].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[1].serviceRefs[1].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[1].serviceRefs[1].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[1].serviceRefs[2].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[1].serviceRefs[2].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[1].serviceRefs[2].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[1].serviceRefs[2].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[2].serviceRefs[0].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[2].serviceRefs[0].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[2].serviceRefs[0].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[2].serviceRefs[0].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[2].serviceRefs[1].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[2].serviceRefs[1].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[2].serviceRefs[1].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[2].serviceRefs[1].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[2].serviceRefs[2].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[2].serviceRefs[2].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[2].serviceRefs[2].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[2].serviceRefs[2].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[3].serviceRefs[0].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[3].serviceRefs[0].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[3].serviceRefs[0].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[3].serviceRefs[0].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[3].serviceRefs[1].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[3].serviceRefs[1].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[3].serviceRefs[1].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[3].serviceRefs[1].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[3].serviceRefs[2].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[3].serviceRefs[2].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[3].serviceRefs[2].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[3].serviceRefs[2].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[4].serviceRefs[0].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[4].serviceRefs[0].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[4].serviceRefs[0].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[4].serviceRefs[0].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[4].serviceRefs[1].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[4].serviceRefs[1].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[4].serviceRefs[1].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[4].serviceRefs[1].clusterServiceSelector.cluster: Required value
* spec.componentSpecs[4].serviceRefs[2].clusterServiceSelector.credential.component: Required value
* spec.componentSpecs[4].serviceRefs[2].clusterServiceSelector.credential.name: Required value
* spec.componentSpecs[4].serviceRefs[2].clusterServiceSelector.service.service: Required value
* spec.componentSpecs[4].serviceRefs[2].clusterServiceSelector.cluster: Required value
* <nil>: Invalid value: "null": some validation rules were not checked because the object was invalid; correct the existing errors to complete validation

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.

@tianyue86 tianyue86 added the kind/bug Something isn't working label Dec 11, 2024
@tianyue86 tianyue86 added this to the Release 1.0.0 milestone Dec 11, 2024
@shanshanying
Copy link
Contributor

shanshanying commented Dec 11, 2024

pls set servicerRef when rendering the template.

make sure clusters, etcdm-cluster, pulsarm-cluster and miniom-cluster have been created.

e.g.
set valeus to

storage:
  meta:
    mode: serviceref  # optional: incluster, serviceref
    serviceRef:
      namespace: default
      cluster:
        name: etcdm-cluster
        component: etcd
        service: headless
        port: client
        credential:
      serviceDescriptor:
  log:
    mode: serviceref  # optional: incluster, serviceref
    serviceRef:
      namespace: default
      cluster:
        name: pulsarm-cluster
        component: broker
        service: headless
        port: pulsar
        credential:
      serviceDescriptor:
  object:
    mode: serviceref  # optional: incluster, serviceref
    serviceRef:
      namespace: default
      cluster:
        name: miniom-cluster
        component: minio
        service: headless
        port: http
        credential: admin
      serviceDescriptor:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants