Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REST API does honor NanoCpus in HostConfig #9523

Closed
linggao opened this issue Feb 25, 2021 · 0 comments · Fixed by #9607
Closed

REST API does honor NanoCpus in HostConfig #9523

linggao opened this issue Feb 25, 2021 · 0 comments · Fixed by #9607
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@linggao
Copy link

linggao commented Feb 25, 2021

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind bug

Description
Add NanoCpus for container creation using the REST APIs, but the value of 'NanoCpus' is still zero in podman inspect <container_name> after the container is up and running.
However, the podman run --cpus CLI works fine.

Steps to reproduce the issue:

  1. Run the following script
#!/bin/bash

#clean up
echo -e "cleaning up..."
podman rm -f test

# create container
echo -e "\ncreating container test..."

read -d '' sdef <<EOF
{
  "Image": "alpine",
  "Cmd": [
      "sleep", "1000"
  ],
  "HostConfig": {
    "NanoCpus": 1500000000,
    "Memory": 4294967296
  }
}
EOF
echo "$sdef" | curl -sSLw "%{http_code}" -X POST -H "Content-Type: application/json" --unix-socket /var/run/podman/podman.sock --data @-  http://localhost/containers/create?name=test

echo -e "\n\n start container test"
curl -sSLw "%{http_code}" -X POST -H "Content-Type: application/json" --unix-socket /var/run/podman/podman.sock  http://localhost/containers/test/start
  1. podman inspect test |grep -i NanoCpus

Describe the results you received:
"NanoCpus": 0,

Describe the results you expected:
"NanoCpus": 1500000000,

Additional information you deem important (e.g. issue happens only occasionally):

Output of podman version:

Version:      3.1.0-dev
API Version:  3.0.0
Go Version:   go1.14.12
Git Commit:   1702cbc6917f431bcc65d6c5bdc6fcf99231977a-dirty
Built:        Wed Feb 24 09:13:30 2021
OS/Arch:      linux/amd64

Output of podman info --debug:

host:
  arch: amd64
  buildahVersion: 1.19.6
  cgroupManager: systemd
  cgroupVersion: v1
  conmon:
    package: Unknown
    path: /usr/local/libexec/podman/conmon
    version: 'conmon version 2.0.27-dev, commit: 7310bf13319ee8ed50799b202509bedc27b36cf8'
  cpus: 2
  distribution:
    distribution: '"rhel"'
    version: "8.3"
  eventLogger: file
  hostname: lingvs4.dev.edge-fabric.com
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 4.18.0-240.15.1.el8_3.x86_64
  linkmode: dynamic
  memFree: 3083264000
  memTotal: 8342470656
  ociRuntime:
    name: runc
    package: Unknown
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc93+dev
      commit: f245a1d1edbf545549e5a16106cf1aec356a3c7d
      spec: 1.0.2-dev
      go: go1.14.12
      libseccomp: 2.4.3
  os: linux
  remoteSocket:
    exists: true
    path: /run/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_AUDIT_WRITE,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_MKNOD,CAP_NET_BIND_SERVICE,CAP_NET_RAW,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    selinuxEnabled: true
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree: 2146758656
  swapTotal: 2146758656
  uptime: 172h 13m 53.64s (Approximately 7.17 days)
registries:
  search:
  - registry.access.redhat.com
  - registry.redhat.io
  - docker.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 3
    paused: 0
    running: 3
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.mountopt: nodev,metacopy=on
  graphRoot: /var/lib/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  imageStore:
    number: 9
  runRoot: /var/run/containers/storage
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 3.0.0
  Built: 1614179610
  BuiltTime: Wed Feb 24 09:13:30 2021
  GitCommit: 1702cbc6917f431bcc65d6c5bdc6fcf99231977a-dirty
  GoVersion: go1.14.12
  OsArch: linux/amd64
  Version: 3.1.0-dev


Package info (e.g. output of rpm -q podman or apt list podman):

the podman was built locally, no rpm installed.

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide?

Yes

Additional environment details (AWS, VirtualBox, physical, etc.):

@openshift-ci-robot openshift-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Feb 25, 2021
@mheon mheon self-assigned this Mar 2, 2021
mheon added a commit to mheon/libpod that referenced this issue Mar 4, 2021
The NanoCpus field in HostConfig was not wired up. It conflicts
with CPU period and quota (it hard-codes period to a specific
value and then sets the user-specified value as Quota).

Fixes containers#9523

Signed-off-by: Matthew Heon <[email protected]>
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 22, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants