Uploaded image for project: 'OpenShift Service Mesh'
  1. OpenShift Service Mesh
  2. OSSM-541

Missing CPU limit in Elasticsearch configuration

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • OSSM 2.0.5
    • Jaeger
    • None
    • False
    • False
    • Compatibility/Configuration
    • Undefined

      When doing a basic deployment of ServiceMesh with Elasticsearch as the storage type for Jaeger Elasticsearch fails to deploy because of an invalid CPU limit.

      An example configuration for testing:

      apiVersion: maistra.io/v2
      kind: ServiceMeshControlPlane
      metadata:
        namespace: istio-system
        name: basic
      spec:
        tracing:
          sampling: 10000
          type: Jaeger
        policy:
          type: Istiod
        addons:
          grafana:
            enabled: true
          jaeger:
            install:
              storage:
                type: Elasticsearch
          kiali:
            enabled: true
          prometheus:
            enabled: true
        version: v2.0
        telemetry:
          type: Istiod
      

      With this configuration the Elasticsearch configuration throws the following error:

      (combined from similar events): Error creating: Pod "elasticsearch-cdm-istiosystemjaeger-1-67b46bf7cf-6qd5z" is invalid: spec.containers[0].resources.requests: Invalid value: "1": must be less than or equal to cpu limit
      

      The Elasticsearch Deployment has the following configuration which is missing `...resouces.limits.cpu`:

            containers:
              - resources:
                  limits:
                    memory: 16Gi
                  requests:
                    cpu: '1'
                    memory: 16Gi
      

      The Elasticsearch configuration is set by the Jaeger configuration:

      spec:
        storage:
          elasticsearch:
            resources:
              requests:
                cpu: '1'
                memory: 16Gi
      

      The elasticsearch configuration can be manually overwritten in the control plane definition but would be nice to be set by default:

      apiVersion: maistra.io/v2
      kind: ServiceMeshControlPlane
      metadata:
        namespace: istio-system
        name: basic
      spec:
        tracing:
          sampling: 10000
          type: Jaeger
        policy:
          type: Istiod
        addons:
          grafana:
            enabled: true
          jaeger:
            install:
              storage:
                type: Elasticsearch
          kiali:
            enabled: true
          prometheus:
            enabled: true
        version: v2.0
        telemetry:
          type: Istiod
        runtime:
          components:
            tracing.jaeger.elasticsearch:
              container:
                resources:
                  limits:
                    cpu: '1'
                    memory: 16Gi
                  requests:
                    cpu: '1'
                    memory: 16Gi
      

      I tested this issue on OSSM 2.0.6 but that version was not available in the Jira dropdown menu.

            Unassigned Unassigned
            troyer@redhat.com Trevor Royer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: