Skip to content

SMO son't start (error on get_cluser_info)

Here's a traceback:

Traceback (most recent call last):
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/bin/flask", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/flask/cli.py", line 1129, in main
    cli.main()
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/decorators.py", line 93, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/flask/cli.py", line 977, in run_command
    raise e from None
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/flask/cli.py", line 961, in run_command
    app: WSGIApplication = info.load_app()  # pyright: ignore
                           ^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/flask/cli.py", line 353, in load_app
    app = locate_app(import_name, None, raise_if_not_found=False)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/.venv/lib/python3.12/site-packages/flask/cli.py", line 245, in locate_app
    __import__(module_name)
  File "/Users/fermigier/projects/nephele/smo-orig/wsgi.py", line 7, in <module>
    app = create_app()
          ^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/src/app.py", line 48, in create_app
    fetch_clusters(
  File "/Users/fermigier/projects/nephele/smo-orig/src/services/cluster/cluster_service.py", line 16, in fetch_clusters
    karmada_cluster_info = karmada_helper.get_cluster_info()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/fermigier/projects/nephele/smo-orig/src/utils/karmada_helper.py", line 33, in get_cluster_info
    allocatable = cluster['status']['resourceSummary']['allocatable']
                  ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'resourceSummary'
make: *** [run] Error 1

The JSON datastructure looks like this:

src/utils/karmada_helper.py:28 KarmadaHelper.get_cluster_info
    clusters: {
        'kind': 'ClusterList',
        'apiVersion': 'cluster.karmada.io/v1alpha1',
        'metadata': {
            'resourceVersion': '1067751',
        },
        'items': [
            {
                'metadata': {
                    'name': 'orbstack',
                    'uid': '221a22c5-aaed-48f0-9b7d-85189a252a53',
                    'resourceVersion': '1067445',
                    'generation': 2,
                    'creationTimestamp': '2025-07-02T13:50:12Z',
                    'finalizers': [
                        'karmada.io/cluster-controller',
                    ],
                    'managedFields': [
                        {
                            'manager': 'karmada-controller-manager',
                            'operation': 'Update',
                            'apiVersion': 'cluster.karmada.io/v1alpha1',
                            'time': '2025-07-02T13:50:12Z',
                            'fieldsType': 'FieldsV1',
                            'fieldsV1': {
                                'f:metadata': {
                                    'f:finalizers': {
                                        '.': {},
                                        'v:"karmada.io/cluster-controller"': {},
                                    },
                                },
                                'f:spec': {
                                    'f:taints': {},
                                },
                            },
                        },
                        {
                            'manager': 'kubectl-karmada',
                            'operation': 'Update',
                            'apiVersion': 'cluster.karmada.io/v1alpha1',
                            'time': '2025-07-02T13:50:12Z',
                            'fieldsType': 'FieldsV1',
                            'fieldsV1': {
                                'f:spec': {
                                    'f:apiEndpoint': {},
                                    'f:id': {},
                                    'f:impersonatorSecretRef': {
                                        '.': {},
                                        'f:name': {},
                                        'f:namespace': {},
                                    },
                                    'f:secretRef': {
                                        '.': {},
                                        'f:name': {},
                                        'f:namespace': {},
                                    },
                                    'f:syncMode': {},
                                },
                            },
                        },
                        {
                            'manager': 'karmada-controller-manager',
                            'operation': 'Update',
                            'apiVersion': 'cluster.karmada.io/v1alpha1',
                            'time': '2025-07-02T13:50:13Z',
                            'fieldsType': 'FieldsV1',
                            'fieldsV1': {
                                'f:status': {
                                    'f:conditions': {},
                                },
                            },
                            'subresource': 'status',
                        },
                    ],
                },
                'spec': {
                    'id': '59f0ddd7-dc0e-4a88-8f8f-305ddfe0f761',
                    'syncMode': 'Push',
                    'apiEndpoint': 'https://127.0.0.1:26443',
                    'secretRef': {
                        'namespace': 'karmada-cluster',
                        'name': 'orbstack',
                    },
                    'impersonatorSecretRef': {
                        'namespace': 'karmada-cluster',
                        'name': 'orbstack-impersonator',
                    },
                    'taints': [
                        {
                            'key': 'cluster.karmada.io/not-ready',
                            'effect': 'NoSchedule',
                            'timeAdded': '2025-07-02T13:50:12Z',
                        },
                    ],
                    'resourceModels': [
                        {
                            'grade': 0,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '0',
                                    'max': '1',
                                },
                                {
                                    'name': 'memory',
                                    'min': '0',
                                    'max': '4Gi',
                                },
                            ],
                        },
                        {
                            'grade': 1,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '1',
                                    'max': '2',
                                },
                                {
                                    'name': 'memory',
                                    'min': '4Gi',
                                    'max': '16Gi',
                                },
                            ],
                        },
                        {
                            'grade': 2,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '2',
                                    'max': '4',
                                },
                                {
                                    'name': 'memory',
                                    'min': '16Gi',
                                    'max': '32Gi',
                                },
                            ],
                        },
                        {
                            'grade': 3,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '4',
                                    'max': '8',
                                },
                                {
                                    'name': 'memory',
                                    'min': '32Gi',
                                    'max': '64Gi',
                                },
                            ],
                        },
                        {
                            'grade': 4,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '8',
                                    'max': '16',
                                },
                                {
                                    'name': 'memory',
                                    'min': '64Gi',
                                    'max': '128Gi',
                                },
                            ],
                        },
                        {
                            'grade': 5,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '16',
                                    'max': '32',
                                },
                                {
                                    'name': 'memory',
                                    'min': '128Gi',
                                    'max': '256Gi',
                                },
                            ],
                        },
                        {
                            'grade': 6,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '32',
                                    'max': '64',
                                },
                                {
                                    'name': 'memory',
                                    'min': '256Gi',
                                    'max': '512Gi',
                                },
                            ],
                        },
                        {
                            'grade': 7,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '64',
                                    'max': '128',
                                },
                                {
                                    'name': 'memory',
                                    'min': '512Gi',
                                    'max': '1Ti',
                                },
                            ],
                        },
                        {
                            'grade': 8,
                            'ranges': [
                                {
                                    'name': 'cpu',
                                    'min': '128',
                                    'max': '9223372036854775807',
                                },
                                {
                                    'name': 'memory',
                                    'min': '1Ti',
                                    'max': '9223372036854775807',
                                },
                            ],
                        },
                    ],
                },
                'status': {
                    'conditions': [
                        {
                            'type': 'Ready',
                            'status': 'False',
                            'lastTransitionTime': '2025-07-02T13:50:13Z',
                            'reason': 'ClusterNotReachable',
                            'message': 'cluster is not reachable',
                        },
                    ],
                },
            },
        ],
    } (dict) len=4
Edited by Stefane Fermigier