Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Commit d223e5d

Browse files
authored
Merge pull request #3061 from fidencio/wip/stable-1.11-backport-pr-3005
[stable-1.11] Backport #3005
2 parents 4111ef8 + 8e5c1c3 commit d223e5d

13 files changed

Lines changed: 632 additions & 179 deletions

Makefile

Lines changed: 55 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ DEFAULTSDIR := $(SHAREDIR)/defaults
9393
COLLECT_SCRIPT = data/kata-collect-data.sh
9494
COLLECT_SCRIPT_SRC = $(COLLECT_SCRIPT).in
9595

96+
# @RUNTIME_NAME@ should be replaced with the target in generated files
97+
RUNTIME_NAME = $(TARGET)
98+
9699
GENERATED_FILES += $(COLLECT_SCRIPT)
97100
SCRIPTS += $(COLLECT_SCRIPT)
98101
SCRIPTS_DIR := $(BINDIR)
@@ -128,16 +131,23 @@ DEFAULT_HYPERVISOR ?= $(HYPERVISOR_QEMU)
128131
HYPERVISORS := $(HYPERVISOR_ACRN) $(HYPERVISOR_FC) $(HYPERVISOR_QEMU) $(HYPERVISOR_QEMU_VIRTIOFS) $(HYPERVISOR_CLH)
129132

130133
QEMUPATH := $(QEMUBINDIR)/$(QEMUCMD)
134+
QEMUVALIDHYPERVISORPATHS := [\"$(QEMUPATH)\"]
131135

132136
QEMUVIRTIOFSPATH := $(QEMUBINDIR)/$(QEMUVIRTIOFSCMD)
137+
QEMUVALIDVIRTIOFSPATHS := [\"$(QEMUVIRTIOFSPATH)\"]
133138

134139
CLHPATH := $(CLHBINDIR)/$(CLHCMD)
140+
CLHVALIDHYPERVISORPATHS := [\"$(CLHBINDIR)/$(CLHCMD)\"]
135141

136142
FCPATH = $(FCBINDIR)/$(FCCMD)
143+
FCVALIDHYPERVISORPATHS = [\"$(FCPATH)\"]
137144
FCJAILERPATH = $(FCBINDIR)/$(FCJAILERCMD)
145+
FCVALIDJAILERPATHS = [\"$(FCJAILERPATH)\"]
138146

139147
ACRNPATH := $(ACRNBINDIR)/$(ACRNCMD)
148+
ACRNVALIDHYPERVISORPATHS := [\"$(ACRNPATH)\"]
140149
ACRNCTLPATH := $(ACRNBINDIR)/$(ACRNCTLCMD)
150+
ACRNVALIDCTLPATHS := [\"$(ACRNCTLPATH)\"]
141151

142152
SHIMCMD := $(BIN_PREFIX)-shim
143153
SHIMPATH := $(PKGLIBEXECDIR)/$(SHIMCMD)
@@ -163,6 +173,7 @@ DEFMEMSZ := 2048
163173
DEFMEMSLOTS := 10
164174
#Default number of bridges
165175
DEFBRIDGES := 1
176+
DEFENABLEANNOTATIONS := [\".*\"]
166177
DEFDISABLEGUESTSECCOMP := true
167178
#Default experimental features enabled
168179
DEFAULTEXPFEATURES := []
@@ -174,6 +185,7 @@ DEFDISABLEBLOCK := false
174185
DEFSHAREDFS := virtio-9p
175186
DEFSHAREDFS_QEMU_VIRTIOFS := virtio-fs
176187
DEFVIRTIOFSDAEMON := $(VIRTIOFSDBINDIR)/virtiofsd
188+
DEFVALIDVIRTIOFSDAEMONPATHS := [\"$(DEFVIRTIOFSDAEMON)\"]
177189
# Default DAX mapping cache size in MiB
178190
#if value is 0, DAX is not enabled
179191
DEFVIRTIOFSCACHESIZE := 0
@@ -184,6 +196,9 @@ DEFENABLEMEMPREALLOC := false
184196
DEFENABLEHUGEPAGES := false
185197
DEFENABLEVHOSTUSERSTORE := false
186198
DEFVHOSTUSERSTOREPATH := $(PKGRUNDIR)/vhost-user
199+
DEFVALIDVHOSTUSERSTOREPATHS := [\"$(DEFVHOSTUSERSTOREPATH)\"]
200+
DEFFILEMEMBACKEND := ""
201+
DEFVALIDFILEMEMBACKENDS := [\"$(DEFFILEMEMBACKEND)\"]
187202
DEFENABLESWAP := false
188203
DEFENABLEDEBUG := false
189204
DEFDISABLENESTINGCHECKS := false
@@ -376,16 +391,29 @@ SHAREDIR := $(SHAREDIR)
376391
# list of variables the user may wish to override
377392
USER_VARS += ARCH
378393
USER_VARS += BINDIR
394+
USER_VARS += CONFIG_ACRN_IN
395+
USER_VARS += CONFIG_CLH_IN
396+
USER_VARS += CONFIG_FC_IN
379397
USER_VARS += CONFIG_PATH
398+
USER_VARS += CONFIG_QEMU_IN
399+
USER_VARS += CONFIG_QEMU_VIRTIOFS_IN
380400
USER_VARS += DESTDIR
381401
USER_VARS += DEFAULT_HYPERVISOR
402+
USER_VARS += DEFENABLEMSWAP
382403
USER_VARS += ACRNCMD
383404
USER_VARS += ACRNCTLCMD
384405
USER_VARS += ACRNPATH
406+
USER_VARS += ACRNVALIDHYPERVISORPATHS
385407
USER_VARS += ACRNCTLPATH
408+
USER_VARS += ACRNVALIDCTLPATHS
409+
USER_VARS += CLHPATH
410+
USER_VARS += CLHVALIDHYPERVISORPATHS
411+
USER_VARS += FIRMWAREPATH_CLH
386412
USER_VARS += FCCMD
387413
USER_VARS += FCPATH
414+
USER_VARS += FCVALIDHYPERVISORPATHS
388415
USER_VARS += FCJAILERPATH
416+
USER_VARS += FCVALIDJAILERPATHS
389417
USER_VARS += SYSCONFIG
390418
USER_VARS += IMAGENAME
391419
USER_VARS += IMAGEPATH
@@ -397,6 +425,11 @@ USER_VARS += KERNELTYPE
397425
USER_VARS += KERNELTYPE_FC
398426
USER_VARS += KERNELTYPE_ACRN
399427
USER_VARS += KERNELTYPE_CLH
428+
USER_VARS += KERNELPATH_ACRN
429+
USER_VARS += KERNELPATH
430+
USER_VARS += KERNELPATH_CLH
431+
USER_VARS += KERNELPATH_FC
432+
USER_VARS += KERNELVIRTIOFSPATH
400433
USER_VARS += FIRMWAREPATH
401434
USER_VARS += MACHINEACCELERATORS
402435
USER_VARS += DEFMACHINETYPE_CLH
@@ -408,16 +441,23 @@ USER_VARS += PKGLIBDIR
408441
USER_VARS += PKGLIBEXECDIR
409442
USER_VARS += PKGRUNDIR
410443
USER_VARS += PREFIX
444+
USER_VARS += PROJECT_BUG_URL
411445
USER_VARS += PROJECT_NAME
446+
USER_VARS += PROJECT_ORG
412447
USER_VARS += PROJECT_PREFIX
448+
USER_VARS += PROJECT_TAG
413449
USER_VARS += PROJECT_TYPE
450+
USER_VARS += PROJECT_URL
414451
USER_VARS += PROXYPATH
415452
USER_VARS += NETMONPATH
416453
USER_VARS += QEMUBINDIR
417454
USER_VARS += QEMUCMD
418455
USER_VARS += QEMUPATH
456+
USER_VARS += QEMUVALIDHYPERVISORPATHS
419457
USER_VARS += QEMUVIRTIOFSCMD
420458
USER_VARS += QEMUVIRTIOFSPATH
459+
USER_VARS += QEMUVALIDVIRTIOFSPATHS
460+
USER_VARS += RUNTIME_NAME
421461
USER_VARS += SHAREDIR
422462
USER_VARS += SHIMPATH
423463
USER_VARS += SYSCONFDIR
@@ -428,6 +468,7 @@ USER_VARS += DEFMEMSZ
428468
USER_VARS += DEFMEMSLOTS
429469
USER_VARS += DEFBRIDGES
430470
USER_VARS += DEFNETWORKMODEL_ACRN
471+
USER_VARS += DEFNETWORKMODEL_CLH
431472
USER_VARS += DEFNETWORKMODEL_FC
432473
USER_VARS += DEFNETWORKMODEL_QEMU
433474
USER_VARS += DEFDISABLEGUESTSECCOMP
@@ -440,14 +481,19 @@ USER_VARS += DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS
440481
USER_VARS += DEFSHAREDFS
441482
USER_VARS += DEFSHAREDFS_QEMU_VIRTIOFS
442483
USER_VARS += DEFVIRTIOFSDAEMON
484+
USER_VARS += DEFVALIDVIRTIOFSDAEMONPATHS
443485
USER_VARS += DEFVIRTIOFSCACHESIZE
444486
USER_VARS += DEFVIRTIOFSCACHE
445487
USER_VARS += DEFVIRTIOFSEXTRAARGS
488+
USER_VARS += DEFENABLEANNOTATIONS
446489
USER_VARS += DEFENABLEIOTHREADS
447490
USER_VARS += DEFENABLEMEMPREALLOC
448491
USER_VARS += DEFENABLEHUGEPAGES
449492
USER_VARS += DEFENABLEVHOSTUSERSTORE
450493
USER_VARS += DEFVHOSTUSERSTOREPATH
494+
USER_VARS += DEFVALIDVHOSTUSERSTOREPATHS
495+
USER_VARS += DEFFILEMEMBACKEND
496+
USER_VARS += DEFVALIDFILEMEMBACKENDS
451497
USER_VARS += DEFENABLESWAP
452498
USER_VARS += DEFENABLEDEBUG
453499
USER_VARS += DEFDISABLENESTINGCHECKS
@@ -581,87 +627,19 @@ $(TARGET).coverage: $(SOURCES) $(GENERATED_FILES) $(MAKEFILE_LIST)
581627
$(QUIET_TEST)go test -o $@ -covermode count
582628

583629
GENERATED_FILES += $(CONFIGS)
630+
GENERATED_VARS = \
631+
VERSION \
632+
CONFIG_ACRN_IN \
633+
CONFIG_QEMU_IN \
634+
CONFIG_QEMU_VIRTIOFS_IN \
635+
CONFIG_CLH_IN \
636+
CONFIG_FC_IN \
637+
$(USER_VARS)
584638

585639
$(GENERATED_FILES): %: %.in $(MAKEFILE_LIST) VERSION .git-commit
586640
$(QUIET_GENERATE)$(SED) \
587641
-e "s|@COMMIT@|$(shell cat .git-commit)|g" \
588-
-e "s|@VERSION@|$(VERSION)|g" \
589-
-e "s|@CONFIG_ACRN_IN@|$(CONFIG_ACRN_IN)|g" \
590-
-e "s|@CONFIG_QEMU_IN@|$(CONFIG_QEMU_IN)|g" \
591-
-e "s|@CONFIG_QEMU_VIRTIOFS_IN@|$(CONFIG_QEMU_VIRTIOFS_IN)|g" \
592-
-e "s|@CONFIG_CLH_IN@|$(CONFIG_CLH_IN)|g" \
593-
-e "s|@CONFIG_FC_IN@|$(CONFIG_FC_IN)|g" \
594-
-e "s|@CONFIG_PATH@|$(CONFIG_PATH)|g" \
595-
-e "s|@FCPATH@|$(FCPATH)|g" \
596-
-e "s|@FCJAILERPATH@|$(FCJAILERPATH)|g" \
597-
-e "s|@ACRNPATH@|$(ACRNPATH)|g" \
598-
-e "s|@ACRNCTLPATH@|$(ACRNCTLPATH)|g" \
599-
-e "s|@CLHPATH@|$(CLHPATH)|g" \
600-
-e "s|@SYSCONFIG@|$(SYSCONFIG)|g" \
601-
-e "s|@IMAGEPATH@|$(IMAGEPATH)|g" \
602-
-e "s|@KERNELPATH_ACRN@|$(KERNELPATH_ACRN)|g" \
603-
-e "s|@KERNELPATH_FC@|$(KERNELPATH_FC)|g" \
604-
-e "s|@KERNELPATH_CLH@|$(KERNELPATH_CLH)|g" \
605-
-e "s|@KERNELPATH@|$(KERNELPATH)|g" \
606-
-e "s|@KERNELVIRTIOFSPATH@|$(KERNELVIRTIOFSPATH)|g" \
607-
-e "s|@INITRDPATH@|$(INITRDPATH)|g" \
608-
-e "s|@FIRMWAREPATH@|$(FIRMWAREPATH)|g" \
609-
-e "s|@MACHINEACCELERATORS@|$(MACHINEACCELERATORS)|g" \
610-
-e "s|@FIRMWAREPATH_CLH@|$(FIRMWAREPATH_CLH)|g" \
611-
-e "s|@DEFMACHINETYPE_CLH@|$(DEFMACHINETYPE_CLH)|g" \
612-
-e "s|@KERNELPARAMS@|$(KERNELPARAMS)|g" \
613-
-e "s|@LOCALSTATEDIR@|$(LOCALSTATEDIR)|g" \
614-
-e "s|@PKGLIBEXECDIR@|$(PKGLIBEXECDIR)|g" \
615-
-e "s|@PKGRUNDIR@|$(PKGRUNDIR)|g" \
616-
-e "s|@PROXYPATH@|$(PROXYPATH)|g" \
617-
-e "s|@NETMONPATH@|$(NETMONPATH)|g" \
618-
-e "s|@PROJECT_BUG_URL@|$(PROJECT_BUG_URL)|g" \
619-
-e "s|@PROJECT_URL@|$(PROJECT_URL)|g" \
620-
-e "s|@PROJECT_NAME@|$(PROJECT_NAME)|g" \
621-
-e "s|@PROJECT_TAG@|$(PROJECT_TAG)|g" \
622-
-e "s|@PROJECT_TYPE@|$(PROJECT_TYPE)|g" \
623-
-e "s|@QEMUPATH@|$(QEMUPATH)|g" \
624-
-e "s|@QEMUVIRTIOFSPATH@|$(QEMUVIRTIOFSPATH)|g" \
625-
-e "s|@RUNTIME_NAME@|$(TARGET)|g" \
626-
-e "s|@MACHINETYPE@|$(MACHINETYPE)|g" \
627-
-e "s|@SHIMPATH@|$(SHIMPATH)|g" \
628-
-e "s|@DEFVCPUS@|$(DEFVCPUS)|g" \
629-
-e "s|@DEFMAXVCPUS@|$(DEFMAXVCPUS)|g" \
630-
-e "s|@DEFMAXVCPUS_ACRN@|$(DEFMAXVCPUS_ACRN)|g" \
631-
-e "s|@DEFMEMSZ@|$(DEFMEMSZ)|g" \
632-
-e "s|@DEFMEMSLOTS@|$(DEFMEMSLOTS)|g" \
633-
-e "s|@DEFBRIDGES@|$(DEFBRIDGES)|g" \
634-
-e "s|@DEFNETWORKMODEL_ACRN@|$(DEFNETWORKMODEL_ACRN)|g" \
635-
-e "s|@DEFNETWORKMODEL_CLH@|$(DEFNETWORKMODEL_CLH)|g" \
636-
-e "s|@DEFNETWORKMODEL_FC@|$(DEFNETWORKMODEL_FC)|g" \
637-
-e "s|@DEFNETWORKMODEL_QEMU@|$(DEFNETWORKMODEL_QEMU)|g" \
638-
-e "s|@DEFDISABLEGUESTSECCOMP@|$(DEFDISABLEGUESTSECCOMP)|g" \
639-
-e "s|@DEFAULTEXPFEATURES@|$(DEFAULTEXPFEATURES)|g" \
640-
-e "s|@DEFDISABLEBLOCK@|$(DEFDISABLEBLOCK)|g" \
641-
-e "s|@DEFBLOCKSTORAGEDRIVER_ACRN@|$(DEFBLOCKSTORAGEDRIVER_ACRN)|g" \
642-
-e "s|@DEFBLOCKSTORAGEDRIVER_FC@|$(DEFBLOCKSTORAGEDRIVER_FC)|g" \
643-
-e "s|@DEFBLOCKSTORAGEDRIVER_QEMU@|$(DEFBLOCKSTORAGEDRIVER_QEMU)|g" \
644-
-e "s|@DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS@|$(DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS)|g" \
645-
-e "s|@DEFSHAREDFS@|$(DEFSHAREDFS)|g" \
646-
-e "s|@DEFSHAREDFS_QEMU_VIRTIOFS@|$(DEFSHAREDFS_QEMU_VIRTIOFS)|g" \
647-
-e "s|@DEFVIRTIOFSDAEMON@|$(DEFVIRTIOFSDAEMON)|g" \
648-
-e "s|@DEFVIRTIOFSCACHESIZE@|$(DEFVIRTIOFSCACHESIZE)|g" \
649-
-e "s|@DEFVIRTIOFSCACHE@|$(DEFVIRTIOFSCACHE)|g" \
650-
-e "s|@DEFVIRTIOFSEXTRAARGS@|$(DEFVIRTIOFSEXTRAARGS)|g" \
651-
-e "s|@DEFENABLEIOTHREADS@|$(DEFENABLEIOTHREADS)|g" \
652-
-e "s|@DEFENABLEMEMPREALLOC@|$(DEFENABLEMEMPREALLOC)|g" \
653-
-e "s|@DEFENABLEHUGEPAGES@|$(DEFENABLEHUGEPAGES)|g" \
654-
-e "s|@DEFENABLEVHOSTUSERSTORE@|$(DEFENABLEVHOSTUSERSTORE)|g" \
655-
-e "s|@DEFVHOSTUSERSTOREPATH@|$(DEFVHOSTUSERSTOREPATH)|g" \
656-
-e "s|@DEFENABLEMSWAP@|$(DEFENABLESWAP)|g" \
657-
-e "s|@DEFENABLEDEBUG@|$(DEFENABLEDEBUG)|g" \
658-
-e "s|@DEFDISABLENESTINGCHECKS@|$(DEFDISABLENESTINGCHECKS)|g" \
659-
-e "s|@DEFMSIZE9P@|$(DEFMSIZE9P)|g" \
660-
-e "s|@DEFHOTPLUGVFIOONROOTBUS@|$(DEFHOTPLUGVFIOONROOTBUS)|g" \
661-
-e "s|@DEFPCIEROOTPORT@|$(DEFPCIEROOTPORT)|g" \
662-
-e "s|@DEFENTROPYSOURCE@|$(DEFENTROPYSOURCE)|g" \
663-
-e "s|@DEFSANDBOXCGROUPONLY@|$(DEFSANDBOXCGROUPONLY)|g" \
664-
-e "s|@FEATURE_SELINUX@|$(FEATURE_SELINUX)|g" \
642+
$(foreach v,$(GENERATED_VARS),-e "s|@$v@|$($v)|g") \
665643
$< > $@
666644

667645
generate-config: $(CONFIGS)

cli/config/configuration-acrn.toml.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,25 @@ ctlpath = "@ACRNCTLPATH@"
1616
kernel = "@KERNELPATH_ACRN@"
1717
image = "@IMAGEPATH@"
1818

19+
# List of valid annotation names for the hypervisor
20+
# Each member of the list is a regular expression, which is the base name
21+
# of the annotation, e.g. "path" for io.katacontainers.config.hypervisor.path"
22+
# The default if not set is empty (all annotations rejected.)
23+
# Your distribution recommends: @DEFENABLEANNOTATIONS@
24+
enable_annotations = @DEFENABLEANNOTATIONS@
25+
26+
# List of valid annotation values for the hypervisor path
27+
# Each member of the list is a path pattern as described by glob(3).
28+
# The default if not set is empty (all annotations rejected.)
29+
# Your distribution recommends: @ACRNVALIDHYPERVISORPATHS@
30+
valid_hypervisor_paths = @ACRNVALIDHYPERVISORPATHS@
31+
32+
# List of valid annotation values for ctl path
33+
# Each member of the list is a path pattern as described by glob(3).
34+
# The default if not set is empty (all annotations rejected.)
35+
# Your distribution recommends: @ACRNVALIDCTLPATHS@
36+
valid_ctlpaths = @ACRNVALIDCTLPATHS@
37+
1938
# Optional space-separated list of options to pass to the guest kernel.
2039
# For example, use `kernel_params = "vsyscall=emulate"` if you are having
2140
# trouble running pre-2.15 glibc.

cli/config/configuration-clh.toml.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ path = "@CLHPATH@"
1515
kernel = "@KERNELPATH_CLH@"
1616
image = "@IMAGEPATH@"
1717

18+
# List of valid annotation names for the hypervisor
19+
# Each member of the list is a regular expression, which is the base name
20+
# of the annotation, e.g. "path" for io.katacontainers.config.hypervisor.path"
21+
# The default if not set is empty (all annotations rejected.)
22+
# Your distribution recommends: @DEFENABLEANNOTATIONS@
23+
enable_annotations = @DEFENABLEANNOTATIONS@
24+
25+
# List of valid annotation values for the hypervisor path
26+
# Each member of the list is a path pattern as described by glob(3).
27+
# The default if not set is empty (all annotations rejected.)
28+
# Your distribution recommends: @CLHVALIDHYPERVISORPATHS@
29+
valid_hypervisor_paths = @CLHVALIDHYPERVISORPATHS@
30+
1831
# Optional space-separated list of options to pass to the guest kernel.
1932
# For example, use `kernel_params = "vsyscall=emulate"` if you are having
2033
# trouble running pre-2.15 glibc.
@@ -62,6 +75,12 @@ default_memory = @DEFMEMSZ@
6275
# Path to vhost-user-fs daemon.
6376
virtio_fs_daemon = "@DEFVIRTIOFSDAEMON@"
6477

78+
# List of valid annotation values for the virtiofs daemon path
79+
# Each member of the list is a path pattern as described by glob(3).
80+
# The default if not set is empty (all annotations rejected.)
81+
# Your distribution recommends: @DEFVALIDVIRTIOFSDAEMONPATHS@
82+
valid_virtio_fs_daemon_paths = @DEFVALIDVIRTIOFSDAEMONPATHS@
83+
6584
# Default size of DAX cache in MiB
6685
virtio_fs_cache_size = @DEFVIRTIOFSCACHESIZE@
6786

0 commit comments

Comments
 (0)