From 794a8b5ffb701a16bc70bdde2723b7c704141651 Mon Sep 17 00:00:00 2001 From: Scott Hussey Date: Sun, 11 Mar 2018 19:49:22 -0500 Subject: [PATCH] [391429] Support override for drivers.yaml - To allow MAAS to support 3rd party hardware drivers that do not come bundled, allow the chart to override /etc/maas/drivers.yaml with user-specified values. Change-Id: I2f9930719aeaeacb135670224ffc1c99752c987f --- charts/maas/templates/configmap-etc.yaml | 4 +++ charts/maas/templates/etc/_drivers.yaml.tpl | 29 ++++++++++++++++ charts/maas/templates/statefulset-region.yaml | 6 ++++ charts/maas/values.yaml | 34 +++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 charts/maas/templates/etc/_drivers.yaml.tpl diff --git a/charts/maas/templates/configmap-etc.yaml b/charts/maas/templates/configmap-etc.yaml index 5c24f82..0c98c22 100644 --- a/charts/maas/templates/configmap-etc.yaml +++ b/charts/maas/templates/configmap-etc.yaml @@ -42,3 +42,7 @@ data: {{ tuple "etc/_nsswitch.conf.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} register-rack-controller.service: | {{ tuple "etc/_register-rack-controller.service.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} +{{- if .Values.conf.drivers }} + drivers.yaml: | +{{ tuple "etc/_drivers.yaml.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} +{{- end }} diff --git a/charts/maas/templates/etc/_drivers.yaml.tpl b/charts/maas/templates/etc/_drivers.yaml.tpl new file mode 100644 index 0000000..8bf1bf3 --- /dev/null +++ b/charts/maas/templates/etc/_drivers.yaml.tpl @@ -0,0 +1,29 @@ +{{/* +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +{{- if .Values.conf.drivers }} +{{- range .Values.conf.drivers -}} +- comment: {{ .comment }} + key_binary: !!binary | +{{ .key_binary | indent 4 }} + modaliases: +{{ .modaliases | toYaml | indent 4 }} + module: {{ .module }} + package: {{ .package }} +{{- if .blacklist }} + blacklist: {{ .blacklist }} +{{- end }} +{{ end }} +{{- end }} diff --git a/charts/maas/templates/statefulset-region.yaml b/charts/maas/templates/statefulset-region.yaml index 0d767ca..9a80810 100644 --- a/charts/maas/templates/statefulset-region.yaml +++ b/charts/maas/templates/statefulset-region.yaml @@ -81,6 +81,12 @@ spec: mountPath: /etc/maas/preseeds/curtin_userdata subPath: curtin_userdata readOnly: true +{{- end }} +{{- if .Values.conf.drivers }} + - name: maas-etc + mountPath: /etc/maas/drivers.yaml + subPath: drivers.yaml + readOnly: true {{- end }} - name: maas-bin mountPath: /tmp/start.sh diff --git a/charts/maas/values.yaml b/charts/maas/values.yaml index fa0f56f..43f0f41 100644 --- a/charts/maas/values.yaml +++ b/charts/maas/values.yaml @@ -152,6 +152,40 @@ conf: secret: namespace: maas name: maas-api-key + drivers: null + #### If you populates drivers, it will replace the 3rd party driver + #### info that comes with MaaS. see structure below if it is needed + # - blacklist: string # a kernel module to blacklist from loading if needed + # comment: string # free form comment + # key_binary: | # The GPG key for the repo holding the package, base64 encoded, non-ascii armored + # mQENBFRtGAgBCADlSku65P14hVdx9E/W0n6MwuB3WGqmsyKNoa3HezFdMjWERldINNUdi8O28cZ6 + # j2+Hi9L1HeQIQ9+7FHpR3JyQePBJtRX8WSEusfRtML98opDhJxKm8Jyxb7aTvCwdNHz3yxADINkM + # tOj5oRm7VCr8XHkG7YU27ELs8B+BXWvjO21oSosiFurnhT+H3hQsYXfYA55aa21q0qX+L5dFJSNd + # zZVo7m9ybioVv2R5+PfBvdaSxCnmOpcGXFaKAsqVHeTW0pd3sdkin1rkbhOBaU5lFBt2ZiMtKpKH + # pT8TZnqHpFHFbgi8j2ARJj4IDct2OGILddUIZSFyue6WE2hpV5c/ABEBAAG0OEhld2xldHQtUGFj + # a2FyZCBDb21wYW55IFJTQSAoSFAgQ29kZXNpZ25pbmcgU2VydmljZSkgLSAxiQE+BBMBAgAoBQJU + # bRgIAhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD63Y1ksSdeo6BJCADOfIPP + # LPpIOnFK9jH4t8lLUd+RyMc+alA3uTDPUJa/ZHa6DHfh42iaPYVEV8OG0tnbMlHmwvsZ5c1/MRMw + # 1UbxCvD88P2qM4SUrUjQUlSCms2GLGvFftFXBiOJQ7/yBc9o+yoSvwPrrTxSCk4+Sqm0IfVXVzCh + # DM9dM9YPY2Vzjd+LUaYC3X+eSuggUDO0TmJLJd7tZdF9fVXq3lr63BZ5PY98MTCuOoeSMDa9FIUQ + # f6vn6UUJMDSRZ9OzhpNJOKR+ShVRwDK6My8gtVIW1EAW2w3VQWI2UNF07aLeO8UG6nTNWA23+OuZ + # kUdgQovjcq01caSefgOkmiQOx6d74CAkuQENBFRtGAgBCAC35eBfUIpnTdF5lpIBWOsWGKwNZEg1 + # f5GRCc3qv2Cd0dpcDPFDiE6Oa0OjtnyzhBXWEQXfckWh53tIl5Sjhoy4Gh7z7vZEgmuw1L+ILy0Q + # 00SqMpZFZaXNn4cnkc4wy5XG1bs81ij4Xp8Gkk9oRDJfCxv6ztW7++uhmU/2w4iqJghJRZwjMKl7 + # hGis8cx6vP5UCr7K7nnJqHVeO/z82ooE6XgxHHeGrLNPrzebO74PQ5iV/F5Dq9DFwYk61JaoJ9mA + # R9CKn+CDtTTCkbdv7yQKFxXQSludHInRBfuBeM28djOddZF9XCBL3n+KYWC9Mjf0SCyqiUKA/f3P + # c6KaTqCZABEBAAGJASUEGAECAA8FAlRtGAgCGwwFCRLMAwAACgkQ+t2NZLEnXqM0/gf/VwQY9rVG + # X0ZEoEAto+naRi2wLxae8AJ+JTwChaybyOFtIblM4PnG3rUmQCqFM18PNcfeSiX+dd8CuXOI/voI + # hwcfM7HP4hPTykmquHgEHp5t+/gA4+iRYDZvHthURmBzFUl4NS9AhOT7V1udUkn1lAORFc8/bcu1 + # yiFIhaQRT3MtOzp+qvThPrspXAgpfOwqjSkPR2YdvvZeqWAs77k2RZQc2aknaMgjWaPLb+V8mBmg + # zRO1RDvShu8hsREaKYVMHyAeKhEYC+lX2bNCImQIs/TqhYo5sn0I5+sbpmFNwtF1gP7AF9DjcFfJ + # ruvNnfrWpNvn7vuBH6g//Qk5ZnBpwg== + # modaliases: # list of strings with modalias patterns that denote a need for this driver + # - string + # module: string # the name of the kernel module to load + # package: string # the name of the debian package containing the kernel module + # repository: string # URL to the debian repo containing the package + #### secrets: maas_db: