You need to sign in or sign up before continuing.
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