diff --git a/Makefile b/Makefile index b197c3724..0d6b54437 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,18 @@ CONTAINER_CMD?=$(shell docker version >/dev/null 2>&1 && echo docker) ifeq ($(CONTAINER_CMD),) CONTAINER_CMD=$(shell podman version >/dev/null 2>&1 && echo podman) endif -CPUS?=$(shell nproc --ignore=1) -CPUSET?=--cpuset-cpus=0-${CPUS} + +# Recent versions of Podman do not allow non-root to use --cpuset options. +# Set HAVE_CPUSET to 1 when cpuset support is available. +ifeq ($(UID),0) + HAVE_CPUSET ?= $(shell grep -c -w cpuset /sys/fs/cgroup/cgroup.controllers 2>/dev/null) +else + HAVE_CPUSET ?= $(shell grep -c -w cpuset /sys/fs/cgroup/user.slice/user-$(UID).slice/cgroup.controllers 2>/dev/null) +endif +ifeq ($(HAVE_CPUSET),1) + CPUS ?= $(shell nproc --ignore=1) + CPUSET ?= --cpuset-cpus=0-${CPUS} +endif CSI_IMAGE_NAME=$(if $(ENV_CSI_IMAGE_NAME),$(ENV_CSI_IMAGE_NAME),quay.io/cephcsi/cephcsi) USE_PULLED_IMAGE ?= no