Skip to content

PDLC ACM CR possible next bugs on the Gathering

Description

Try and find other values that are missing from the CODECO application (codecoapps) CR.

Example of CODECO Application CR as JSON:

{'apiVersion': 'codeco.he-codeco.eu/v1alpha1', 'items': [{'apiVersion': 'codeco.he-codeco.eu/v1alpha1', 'kind': 'CodecoApp', 'metadata': {'annotations': {'kubectl.kubernetes.io/last-applied-configuration': '{"apiVersion":"codeco.he-codeco.eu/v1alpha1","kind":"CodecoApp","metadata":{"annotations":{},"generation":1,"name":"codecoappinstance3","namespace":"he-codeco-acm","resourceVersion":"1456","uid":"5c948d7e-43d6-425b-b0b2-76402b606e07"},"spec":{"appEnergyLimit":"20","appFailureTolerance":"","appName":"acm-swm-app","codecoapp-msspec":[{"nwbandwidth":"1.2","nwlatency":"3","podspec":{"containers":[{"image":"quay.io/skupper/hello-world-backend:latest","name":"skupper-backend","ports":[{"containerPort":8080,"name":"skupper-backend","protocol":"TCP"}],"resources":{"limits":{"cpu":"2","memory":"4Gi"}}}]},"serviceChannels":[{"advancedChannelSettings":{"frameSize":"100","maxDelay":"1","minBandwidth":"5","sendInterval":"10"},"channelName":"frontend","otherService":{"appName":"acm-swm-app","port":9090,"serviceName":"front-end"}}],"serviceName":"backend"},{"nwbandwidth":"1.2","nwlatency":"3","podspec":{"containers":[{"image":"quay.io/dekelly/frontend-app:v0.0.2","name":"front-end","ports":[{"containerPort":8080,"protocol":"TCP"}]}]},"serviceChannels":[{"advancedChannelSettings":{"frameSize":"100","maxDelay":"1","minBandwidth":"5","sendInterval":"10"},"channelName":"backend","otherService":{"appName":"acm-swm-app","port":8080,"serviceName":"backend"}}],"serviceName":"front-end"}],"complianceClass":"High","qosClass":"Gold","securityClass":"Good"}}\n'}, 'creationTimestamp': '2024-10-16T07:51:05Z', 'generation': 1, 'managedFields': [{'apiVersion': 'codeco.he-codeco.eu/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:kubectl.kubernetes.io/last-applied-configuration': {}}}, 'f:spec': {'.': {}, 'f:appEnergyLimit': {}, 'f:appFailureTolerance': {}, 'f:appName': {}, 'f:codecoapp-msspec': {}, 'f:complianceClass': {}, 'f:qosClass': {}, 'f:securityClass': {}}}, 'manager': 'kubectl-client-side-apply', 'operation': 'Update', 'time': '2024-10-16T07:51:05Z'}, {'apiVersion': 'codeco.he-codeco.eu/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:appMetrics': {'.': {}, 'f:numPods': {}, 'f:serviceMetrics': {}}, 'f:nodeMetrics': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2024-10-16T08:49:08Z'}], 'name': 'codecoappinstance3', 'namespace': 'he-codeco-acm', 'resourceVersion': '19821', 'uid': 'db063007-e505-473b-a068-32ab5db586a4'}, 'spec': {'appEnergyLimit': '20', 'appFailureTolerance': '', 'appName': 'acm-swm-app', 'codecoapp-msspec': [{'nwbandwidth': '1.2', 'nwlatency': '3', 'podspec': {'containers': [{'image': 'quay.io/skupper/hello-world-backend:latest', 'name': 'skupper-backend', 'ports': [{'containerPort': 8080, 'name': 'skupper-backend', 'protocol': 'TCP'}], 'resources': {'limits': {'cpu': '2', 'memory': '4Gi'}}}]}, 'serviceChannels': [{'advancedChannelSettings': {'frameSize': '100', 'maxDelay': '1', 'minBandwidth': '5', 'sendInterval': '10'}, 'channelName': 'frontend', 'otherService': {'appName': 'acm-swm-app', 'port': 9090, 'serviceName': 'front-end'}}], 'serviceName': 'backend'}, {'nwbandwidth': '1.2', 'nwlatency': '3', 'podspec': {'containers': [{'image': 'quay.io/dekelly/frontend-app:v0.0.2', 'name': 'front-end', 'ports': [{'containerPort': 8080, 'protocol': 'TCP'}]}]}, 'serviceChannels': [{'advancedChannelSettings': {'frameSize': '100', 'maxDelay': '1', 'minBandwidth': '5', 'sendInterval': '10'}, 'channelName': 'backend', 'otherService': {'appName': 'acm-swm-app', 'port': 8080, 'serviceName': 'backend'}}], 'serviceName': 'front-end'}], 'complianceClass': 'High', 'qosClass': 'Gold', 'securityClass': 'Good'}, 'status': {'appMetrics': {'numPods': 2, 'serviceMetrics': [{'avgServiceCpu': '0.002035', 'avgServiceMemory': '20209664.000000', 'clusterName': 'codeco-cluster-1', 'nodeName': 'kind-control-plane', 'podName': 'acm-swm-app-front-end', 'serviceName': 'backend'}, {'avgServiceCpu': '0.001203', 'avgServiceMemory': '17732949.333333', 'clusterName': 'codeco-cluster-1', 'nodeName': 'kind-control-plane', 'podName': 'acm-swm-app-backend', 'serviceName': 'front-end'}]}, 'nodeMetrics': [{'avgNodeCpu': '0.148639', 'avgNodeMemory': '130049856512.000000', 'nodeName': 'kind-control-plane'}, {'avgNodeCpu': '0.146958', 'avgNodeMemory': '130047940608.000000', 'nodeName': 'c2'}, {'avgNodeCpu': '0.150347', 'avgNodeMemory': '129995383808.000000', 'nodeName': 'c1'}]}}], 'kind': 'CodecoAppList', 'metadata': {'continue': '', 'resourceVersion': '19872'}}

Example of CODECO Application CR as YAML:

apiVersion: codeco.he-codeco.eu/v1alpha1
kind: CodecoApp
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"codeco.he-codeco.eu/v1alpha1","kind":"CodecoApp","metadata":{"annotations":{},"generation":1,"name":"codecoappinstance3","namespace":"he-codeco-acm","resourceVersion":"1456","uid":"5c948d7e-43d6-425b-b0b2-76402b606e07"},"spec":{"appEnergyLimit":"20","appFailureTolerance":"","appName":"acm-swm-app","codecoapp-msspec":[{"nwbandwidth":"1.2","nwlatency":"3","podspec":{"containers":[{"image":"quay.io/skupper/hello-world-backend:latest","name":"skupper-backend","ports":[{"containerPort":8080,"name":"skupper-backend","protocol":"TCP"}],"resources":{"limits":{"cpu":"2","memory":"4Gi"}}}]},"serviceChannels":[{"advancedChannelSettings":{"frameSize":"100","maxDelay":"1","minBandwidth":"5","sendInterval":"10"},"channelName":"frontend","otherService":{"appName":"acm-swm-app","port":9090,"serviceName":"front-end"}}],"serviceName":"backend"},{"nwbandwidth":"1.2","nwlatency":"3","podspec":{"containers":[{"image":"quay.io/dekelly/frontend-app:v0.0.2","name":"front-end","ports":[{"containerPort":8080,"protocol":"TCP"}]}]},"serviceChannels":[{"advancedChannelSettings":{"frameSize":"100","maxDelay":"1","minBandwidth":"5","sendInterval":"10"},"channelName":"backend","otherService":{"appName":"acm-swm-app","port":8080,"serviceName":"backend"}}],"serviceName":"front-end"}],"complianceClass":"High","qosClass":"Gold","securityClass":"Good"}}
  creationTimestamp: "2024-10-16T07:51:05Z"
  generation: 1
  managedFields:
  - apiVersion: codeco.he-codeco.eu/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:kubectl.kubernetes.io/last-applied-configuration: {}
      f:spec:
        .: {}
        f:appEnergyLimit: {}
        f:appFailureTolerance: {}
        f:appName: {}
        f:codecoapp-msspec: {}
        f:complianceClass: {}
        f:qosClass: {}
        f:securityClass: {}
    manager: kubectl-client-side-apply
    operation: Update
    time: "2024-10-16T07:51:05Z"
  - apiVersion: codeco.he-codeco.eu/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        .: {}
        f:appMetrics:
          .: {}
          f:numPods: {}
          f:serviceMetrics: {}
        f:nodeMetrics: {}
    manager: manager
    operation: Update
    subresource: status
    time: "2024-10-16T09:08:25Z"
  name: codecoappinstance3
  namespace: he-codeco-acm
  resourceVersion: "23770"
  uid: db063007-e505-473b-a068-32ab5db586a4
spec:
  appEnergyLimit: "20"
  appFailureTolerance: ""
  appName: acm-swm-app
  codecoapp-msspec:
  - nwbandwidth: "1.2"
    nwlatency: "3"
    podspec:
      containers:
      - image: quay.io/skupper/hello-world-backend:latest
        name: skupper-backend
        ports:
        - containerPort: 8080
          name: skupper-backend
          protocol: TCP
        resources:
          limits:
            cpu: "2"
            memory: 4Gi
    serviceChannels:
    - advancedChannelSettings:
        frameSize: "100"
        maxDelay: "1"
        minBandwidth: "5"
        sendInterval: "10"
      channelName: frontend
      otherService:
        appName: acm-swm-app
        port: 9090
        serviceName: front-end
    serviceName: backend
  - nwbandwidth: "1.2"
    nwlatency: "3"
    podspec:
      containers:
      - image: quay.io/dekelly/frontend-app:v0.0.2
        name: front-end
        ports:
        - containerPort: 8080
          protocol: TCP
    serviceChannels:
    - advancedChannelSettings:
        frameSize: "100"
        maxDelay: "1"
        minBandwidth: "5"
        sendInterval: "10"
      channelName: backend
      otherService:
        appName: acm-swm-app
        port: 8080
        serviceName: backend
    serviceName: front-end
  complianceClass: High
  qosClass: Gold
  securityClass: Good
status:
  appMetrics:
    numPods: 2
    serviceMetrics:
    - avgServiceCpu: "0.001424"
      avgServiceMemory: "20209664.000000"
      clusterName: codeco-cluster-1
      nodeName: kind-control-plane
      podName: acm-swm-app-front-end
      serviceName: backend
    - avgServiceCpu: "0.001437"
      avgServiceMemory: "17732949.333333"
      clusterName: codeco-cluster-1
      nodeName: kind-control-plane
      podName: acm-swm-app-backend
      serviceName: front-end
  nodeMetrics:
  - avgNodeCpu: "0.149440"
    avgNodeMemory: "130114941952.000000"
    nodeName: kind-control-plane
  - avgNodeCpu: "0.149463"
    avgNodeMemory: "130070980608.000000"
    nodeName: c2
  - avgNodeCpu: "0.150088"
    avgNodeMemory: "130128721920.000000"
    nodeName: c1
Edited by Panagiotis Karamolegkos