diff --git a/Makefile b/Makefile index 3a3ef12d9..331712398 100644 --- a/Makefile +++ b/Makefile @@ -19,8 +19,18 @@ CONTAINER_CMD?=$(shell podman version >/dev/null 2>&1 && echo podman) ifeq ($(CONTAINER_CMD),) CONTAINER_CMD=$(shell docker version >/dev/null 2>&1 && echo docker) 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) CSI_IMAGE_VERSION=$(shell . $(CURDIR)/build.env ; echo $${CSI_IMAGE_VERSION})