mirror of
https://github.com/intel/intel-device-plugins-for-kubernetes.git
synced 2025-06-03 03:59:37 +00:00
Merge pull request #996 from ozhuraki/idxd-config-ro
idxd: Don't use root filesystem when working with templates
This commit is contained in:
commit
f17f473f5e
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2021 Intel Corporation. All Rights Reserved.
|
# Copyright 2021-2022 Intel Corporation. All Rights Reserved.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
@ -57,8 +57,11 @@ RUN ldconfig && mkdir -p /licenses/accel-config
|
|||||||
COPY --from=builder /usr/bin/accel-config /usr/bin/
|
COPY --from=builder /usr/bin/accel-config /usr/bin/
|
||||||
COPY --from=builder /accel-config.tar.gz /licenses/accel-config/
|
COPY --from=builder /accel-config.tar.gz /licenses/accel-config/
|
||||||
|
|
||||||
ADD demo/idxd-init.sh /idxd-init/
|
ADD demo/idxd-init.sh /usr/local/bin/
|
||||||
ADD demo/dsa.conf /idxd-init/
|
ADD demo/dsa.conf /idxd-init/
|
||||||
|
ADD demo/iaa.conf /idxd-init/
|
||||||
|
|
||||||
|
RUN mkdir /idxd-init/scratch
|
||||||
|
|
||||||
WORKDIR /idxd-init
|
WORKDIR /idxd-init
|
||||||
ENTRYPOINT bash idxd-init.sh
|
ENTRYPOINT bash /usr/local/bin/idxd-init.sh
|
||||||
|
@ -28,8 +28,8 @@ for i in $(accel-config list --idle | jq '.[].dev' | sed -ne "s/\"$DEV\([0-9]\+\
|
|||||||
|
|
||||||
[ -f "conf/$DEV-$NODE_NAME.conf" ] && config="conf/$DEV-$NODE_NAME.conf"
|
[ -f "conf/$DEV-$NODE_NAME.conf" ] && config="conf/$DEV-$NODE_NAME.conf"
|
||||||
|
|
||||||
sed "s/X/${i}/g" < "$config" > "$dev.conf"
|
sed "s/X/${i}/g" < "$config" > scratch/"$dev.conf"
|
||||||
|
|
||||||
cmd accel-config load-config -e -c "$dev.conf"
|
cmd accel-config load-config -e -c scratch/"$dev.conf"
|
||||||
|
|
||||||
done
|
done
|
||||||
|
@ -14,12 +14,15 @@ spec:
|
|||||||
fieldPath: spec.nodeName
|
fieldPath: spec.nodeName
|
||||||
image: intel/intel-idxd-config-initcontainer:devel
|
image: intel/intel-idxd-config-initcontainer:devel
|
||||||
securityContext:
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
privileged: true
|
privileged: true
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /sys/devices
|
- mountPath: /sys/devices
|
||||||
name: sys-devices
|
name: sys-devices
|
||||||
- mountPath: /idxd-init/conf
|
- mountPath: /idxd-init/conf
|
||||||
name: intel-dsa-config-volume
|
name: intel-dsa-config-volume
|
||||||
|
- mountPath: /idxd-init/scratch
|
||||||
|
name: scratch
|
||||||
volumes:
|
volumes:
|
||||||
- name: sys-devices
|
- name: sys-devices
|
||||||
hostPath:
|
hostPath:
|
||||||
@ -27,3 +30,5 @@ spec:
|
|||||||
- name: intel-dsa-config-volume
|
- name: intel-dsa-config-volume
|
||||||
configMap:
|
configMap:
|
||||||
name: intel-dsa-config
|
name: intel-dsa-config
|
||||||
|
- name: scratch
|
||||||
|
emptyDir: {}
|
||||||
|
@ -16,12 +16,15 @@ spec:
|
|||||||
value: "iaa"
|
value: "iaa"
|
||||||
image: intel/intel-idxd-config-initcontainer:devel
|
image: intel/intel-idxd-config-initcontainer:devel
|
||||||
securityContext:
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
privileged: true
|
privileged: true
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /sys/devices
|
- mountPath: /sys/devices
|
||||||
name: sys-devices
|
name: sys-devices
|
||||||
- mountPath: /idxd-init/conf
|
- mountPath: /idxd-init/conf
|
||||||
name: intel-iaa-config-volume
|
name: intel-iaa-config-volume
|
||||||
|
- mountPath: /idxd-init/scratch
|
||||||
|
name: scratch
|
||||||
volumes:
|
volumes:
|
||||||
- name: sys-devices
|
- name: sys-devices
|
||||||
hostPath:
|
hostPath:
|
||||||
@ -29,3 +32,5 @@ spec:
|
|||||||
- name: intel-iaa-config-volume
|
- name: intel-iaa-config-volume
|
||||||
configMap:
|
configMap:
|
||||||
name: intel-iaa-config
|
name: intel-iaa-config
|
||||||
|
- name: scratch
|
||||||
|
emptyDir: {}
|
||||||
|
@ -98,7 +98,7 @@ func removeInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.DsaDevicePlugin)
|
|||||||
newVolumes := []v1.Volume{}
|
newVolumes := []v1.Volume{}
|
||||||
|
|
||||||
for _, volume := range ds.Spec.Template.Spec.Volumes {
|
for _, volume := range ds.Spec.Template.Spec.Volumes {
|
||||||
if volume.Name == "intel-dsa-config-volume" || volume.Name == "sys-devices" {
|
if volume.Name == "intel-dsa-config-volume" || volume.Name == "sys-devices" || volume.Name == "scratch" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,13 +130,18 @@ func addInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.DsaDevicePlugin) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
SecurityContext: &v1.SecurityContext{
|
SecurityContext: &v1.SecurityContext{
|
||||||
Privileged: &yes,
|
ReadOnlyRootFilesystem: &yes,
|
||||||
|
Privileged: &yes,
|
||||||
},
|
},
|
||||||
VolumeMounts: []v1.VolumeMount{
|
VolumeMounts: []v1.VolumeMount{
|
||||||
{
|
{
|
||||||
Name: "sys-devices",
|
Name: "sys-devices",
|
||||||
MountPath: "/sys/devices",
|
MountPath: "/sys/devices",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
MountPath: "/idxd-init/scratch",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
@ -147,6 +152,12 @@ func addInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.DsaDevicePlugin) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
|
Name: "scratch",
|
||||||
|
VolumeSource: v1.VolumeSource{
|
||||||
|
EmptyDir: &v1.EmptyDirVolumeSource{},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
if dp.Spec.ProvisioningConfig != "" {
|
if dp.Spec.ProvisioningConfig != "" {
|
||||||
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
|
@ -96,7 +96,7 @@ func removeInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.IaaDevicePlugin)
|
|||||||
newVolumes := []v1.Volume{}
|
newVolumes := []v1.Volume{}
|
||||||
|
|
||||||
for _, volume := range ds.Spec.Template.Spec.Volumes {
|
for _, volume := range ds.Spec.Template.Spec.Volumes {
|
||||||
if volume.Name == "intel-iaa-config-volume" || volume.Name == "sys-devices" {
|
if volume.Name == "intel-iaa-config-volume" || volume.Name == "sys-devices" || volume.Name == "scratch" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,13 +128,18 @@ func addInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.IaaDevicePlugin) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
SecurityContext: &v1.SecurityContext{
|
SecurityContext: &v1.SecurityContext{
|
||||||
Privileged: &yes,
|
ReadOnlyRootFilesystem: &yes,
|
||||||
|
Privileged: &yes,
|
||||||
},
|
},
|
||||||
VolumeMounts: []v1.VolumeMount{
|
VolumeMounts: []v1.VolumeMount{
|
||||||
{
|
{
|
||||||
Name: "sys-devices",
|
Name: "sys-devices",
|
||||||
MountPath: "/sys/devices",
|
MountPath: "/sys/devices",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
MountPath: "/idxd-init/scratch",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
@ -145,6 +150,12 @@ func addInitContainer(ds *apps.DaemonSet, dp *devicepluginv1.IaaDevicePlugin) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
|
Name: "scratch",
|
||||||
|
VolumeSource: v1.VolumeSource{
|
||||||
|
EmptyDir: &v1.EmptyDirVolumeSource{},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
if dp.Spec.ProvisioningConfig != "" {
|
if dp.Spec.ProvisioningConfig != "" {
|
||||||
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
ds.Spec.Template.Spec.Volumes = append(ds.Spec.Template.Spec.Volumes, v1.Volume{
|
||||||
|
Loading…
Reference in New Issue
Block a user