Uploaded image for project: 'Openshift sandboxed containers'
  1. Openshift sandboxed containers
  2. KATA-1376

mssql server fails to start due to incomplete/out of sequence CPUs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • Performance / Scaling
    • 1
    • True
    • Application fails to start under Kata.
    • False
    • Hide
      .Pods using container CPU limits to increase available CPUs might receive insufficient CPUs

      Some {osc} pods use container CPU resource limits to increase the number of available CPUs for the pod. These pods might receive fewer CPUs than requested if the CPUs are offline. If the functionality is available inside the container, you can diagnose CPU resource issues by using `oc rsh <pod>` to access a pod and running the `lscpu` command:

      [source,terminal]
      ----
      $ lscpu
      ----

      .Example output

      [source,terminal]
      ----
      CPU(s): 16
      On-line CPU(s) list: 0-12,14,15
      Off-line CPU(s) list: 13
      ----

      The list of offline CPUs will likely change unpredictably from run to run.

      As a workaround, you can use a pod annotation to request additional CPUs rather than setting a CPU limit. CPU requests that use pod annotation are not affected by this issue, because the processor allocation method is different. Rather than setting a CPU limit, the following annotation must be added to the metadata of the pod:

      [source,yaml]
      ----
      metadata:
        annotations:
          io.katacontainers.config.hypervisor.default_vcpus: "16"
      ----
      Show
      .Pods using container CPU limits to increase available CPUs might receive insufficient CPUs Some {osc} pods use container CPU resource limits to increase the number of available CPUs for the pod. These pods might receive fewer CPUs than requested if the CPUs are offline. If the functionality is available inside the container, you can diagnose CPU resource issues by using `oc rsh <pod>` to access a pod and running the `lscpu` command: [source,terminal] ---- $ lscpu ---- .Example output [source,terminal] ---- CPU(s): 16 On-line CPU(s) list: 0-12,14,15 Off-line CPU(s) list: 13 ---- The list of offline CPUs will likely change unpredictably from run to run. As a workaround, you can use a pod annotation to request additional CPUs rather than setting a CPU limit. CPU requests that use pod annotation are not affected by this issue, because the processor allocation method is different. Rather than setting a CPU limit, the following annotation must be added to the metadata of the pod: [source,yaml] ---- metadata:   annotations:     io.katacontainers.config.hypervisor.default_vcpus: "16" ----
    • Known Issue
    • Done
    • Kata Sprint #215
    • 0
    • 0.0

      Description

      Attempt to start mssql server pod fails on OCP 4.10 -fc.0 (using the default kata installer) with fatal error in mssql server.  In 4.8.14, it succeeded.  With conventional pods, it succeeds in both releases

      Steps to reproduce

      1. Start pod using provided YAML (password and hostname elided)

      Expected result

      mssql server should start and run

      Actual result

      mssql server fails with attached error message 

      Impact

      mssql is unusable.

      Env

      OCP 4.10.0-fc.2
      Kata operator v1.1.0
      Node: 80 CPU (Intel Xeon Gold 6248), 128GiB RAM

      Additional helpful info

      See attached.

            Unassigned Unassigned
            robertkrawitz Robert Krawitz
            Miriam Weiss Miriam Weiss
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: