From 7d59c72a3dd4e6c8cfcc6668289d4aaf2d1595f6 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 31 Aug 2023 17:17:11 +0100 Subject: [PATCH 01/10] Split off 8.10.60 Signed-off-by: Jake Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- helm/hpcc/templates/dafilesrv.yaml | 2 +- helm/hpcc/templates/dali.yaml | 2 +- helm/hpcc/templates/dfuserver.yaml | 2 +- helm/hpcc/templates/eclagent.yaml | 4 ++-- helm/hpcc/templates/eclccserver.yaml | 4 ++-- helm/hpcc/templates/eclscheduler.yaml | 2 +- helm/hpcc/templates/esp.yaml | 2 +- helm/hpcc/templates/localroxie.yaml | 2 +- helm/hpcc/templates/roxie.yaml | 8 ++++---- helm/hpcc/templates/sasha.yaml | 2 +- helm/hpcc/templates/thor.yaml | 10 +++++----- version.cmake | 2 +- 14 files changed, 24 insertions(+), 24 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index 2b17c6de320..a78c1e9cd8a 100644 --- a/helm/hpcc/Chart.yaml +++ b/helm/hpcc/Chart.yaml @@ -6,9 +6,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 8.10.59-closedown0 +version: 8.10.61-closedown0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 8.10.59-closedown0 +appVersion: 8.10.61-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 0a5769f55a0..7f3a3cf74d4 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1208,7 +1208,7 @@ kind: Service metadata: name: {{ $lvars.serviceName | quote }} labels: - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $.root "instance" $lvars.serviceName ) | indent 4 }} {{- if $lvars.labels }} {{ toYaml $lvars.labels | indent 4 }} diff --git a/helm/hpcc/templates/dafilesrv.yaml b/helm/hpcc/templates/dafilesrv.yaml index 158aa715153..a49c696dbd1 100644 --- a/helm/hpcc/templates/dafilesrv.yaml +++ b/helm/hpcc/templates/dafilesrv.yaml @@ -50,7 +50,7 @@ spec: labels: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dafilesrv" "name" "dafilesrv" "instance" .name) | indent 8 }} server: {{ .name | quote }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 annotations: checksum/config: {{ $configSHA }} spec: diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index 7f6cf89bfa9..7b8fd476465 100644 --- a/helm/hpcc/templates/dali.yaml +++ b/helm/hpcc/templates/dali.yaml @@ -81,7 +81,7 @@ spec: run: {{ $dali.name | quote }} server: {{ $dali.name | quote }} app: dali - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} {{- end }} diff --git a/helm/hpcc/templates/dfuserver.yaml b/helm/hpcc/templates/dfuserver.yaml index bcb05e1fc61..b78cb54cb0e 100644 --- a/helm/hpcc/templates/dfuserver.yaml +++ b/helm/hpcc/templates/dfuserver.yaml @@ -56,7 +56,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dfuserver" "name" "dfuserver" "instance" .name) | indent 8 }} run: {{ .name | quote }} accessDali: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclagent.yaml b/helm/hpcc/templates/eclagent.yaml index 24793585c77..a22d419e456 100644 --- a/helm/hpcc/templates/eclagent.yaml +++ b/helm/hpcc/templates/eclagent.yaml @@ -58,7 +58,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" $apptype "name" "eclagent" "instance" $appJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -137,7 +137,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclccserver.yaml b/helm/hpcc/templates/eclccserver.yaml index 9609b992bc0..1d2713a7208 100644 --- a/helm/hpcc/templates/eclccserver.yaml +++ b/helm/hpcc/templates/eclccserver.yaml @@ -57,7 +57,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclccserver" "name" "eclccserver" "instance" $compileJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -142,7 +142,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclscheduler.yaml b/helm/hpcc/templates/eclscheduler.yaml index 2f58e3ca96a..0b4a20f8b2c 100644 --- a/helm/hpcc/templates/eclscheduler.yaml +++ b/helm/hpcc/templates/eclscheduler.yaml @@ -64,7 +64,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: "no" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 49a890bd751..95ece3aee0e 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -116,7 +116,7 @@ spec: server: {{ .name | quote }} accessDali: "yes" app: {{ $application }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "name" $application "component" "esp" "instance" .name) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} diff --git a/helm/hpcc/templates/localroxie.yaml b/helm/hpcc/templates/localroxie.yaml index 020ae21fecf..9c4d242575e 100644 --- a/helm/hpcc/templates/localroxie.yaml +++ b/helm/hpcc/templates/localroxie.yaml @@ -70,7 +70,7 @@ spec: server: {{ $servername | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $roxie.name) | indent 8 }} {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} diff --git a/helm/hpcc/templates/roxie.yaml b/helm/hpcc/templates/roxie.yaml index b3123fa4522..87149855f85 100644 --- a/helm/hpcc/templates/roxie.yaml +++ b/helm/hpcc/templates/roxie.yaml @@ -118,7 +118,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 8 }} run: {{ $commonCtx.toponame | quote }} roxie-cluster: {{ $roxie.name | quote }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} @@ -178,7 +178,7 @@ kind: Service metadata: name: {{ $commonCtx.toponame | quote }} labels: - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 4 }} spec: ports: @@ -240,7 +240,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $servername) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} @@ -343,7 +343,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} diff --git a/helm/hpcc/templates/sasha.yaml b/helm/hpcc/templates/sasha.yaml index 51fda9ba252..4c1de9ca988 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -52,7 +52,7 @@ spec: run: {{ $serviceName | quote }} server: {{ $serviceName | quote }} accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- if hasKey $sasha "labels" }} {{ toYaml $sasha.labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/thor.yaml b/helm/hpcc/templates/thor.yaml index 49f63000de9..b0dbcc5fdad 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -82,7 +82,7 @@ data: labels: accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $eclAgentJobName "instanceOf" (printf "%s-job" .eclAgentName)) | indent 8 }} {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} @@ -149,7 +149,7 @@ data: accessEsp: "yes" app: "thor" component: "thormanager" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thormanager" "name" "thor" "instance" $thorManagerJobName "instanceOf" (printf "%s-thormanager-job" .me.name)) | indent 12 }} @@ -218,7 +218,7 @@ data: accessEsp: "yes" app: "thor" component: "thorworker" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thorworker" "name" "thor" "instance" $thorWorkerJobName "instanceOf" (printf "%s-thorworker-job" .me.name)) | indent 12 }} @@ -353,7 +353,7 @@ spec: accessEsp: {{ $commonCtx.eclAgentUseChildProcesses | ternary "yes" "no" | quote }} app: "thor" component: "thor-eclagent" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 instance: {{ $commonCtx.eclAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.eclAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} @@ -418,7 +418,7 @@ spec: accessEsp: "no" app: "thor" component: "thor-thoragent" - helmVersion: 8.10.59-closedown0 + helmVersion: 8.10.61-closedown0 instance: {{ $commonCtx.thorAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.thorAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} diff --git a/version.cmake b/version.cmake index b1dd7ba58e4..f489a4db670 100644 --- a/version.cmake +++ b/version.cmake @@ -5,7 +5,7 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 8 ) set ( HPCC_MINOR 10 ) -set ( HPCC_POINT 59 ) +set ( HPCC_POINT 61 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) ### From 139fa7ba7d50808837b03697bae315ae4ef43382 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 14 Sep 2023 17:21:30 +0100 Subject: [PATCH 02/10] Split off 8.12.54 Signed-off-by: Jake Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- helm/hpcc/templates/dafilesrv.yaml | 2 +- helm/hpcc/templates/dali.yaml | 2 +- helm/hpcc/templates/dfuserver.yaml | 2 +- helm/hpcc/templates/eclagent.yaml | 4 ++-- helm/hpcc/templates/eclccserver.yaml | 4 ++-- helm/hpcc/templates/eclscheduler.yaml | 2 +- helm/hpcc/templates/esp.yaml | 2 +- helm/hpcc/templates/localroxie.yaml | 2 +- helm/hpcc/templates/roxie.yaml | 8 ++++---- helm/hpcc/templates/sasha.yaml | 2 +- helm/hpcc/templates/thor.yaml | 10 +++++----- version.cmake | 2 +- 14 files changed, 24 insertions(+), 24 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index acfa3667476..aa9da0483b9 100644 --- a/helm/hpcc/Chart.yaml +++ b/helm/hpcc/Chart.yaml @@ -6,9 +6,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 8.12.53-closedown0 +version: 8.12.55-closedown0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 8.12.53-closedown0 +appVersion: 8.12.55-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index d5de9b8ef1d..6d78db73471 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1240,7 +1240,7 @@ kind: Service metadata: name: {{ $lvars.serviceName | quote }} labels: - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $.root "instance" $lvars.serviceName ) | indent 4 }} {{- if $lvars.labels }} {{ toYaml $lvars.labels | indent 4 }} diff --git a/helm/hpcc/templates/dafilesrv.yaml b/helm/hpcc/templates/dafilesrv.yaml index 63cc6c75e05..c15c0240080 100644 --- a/helm/hpcc/templates/dafilesrv.yaml +++ b/helm/hpcc/templates/dafilesrv.yaml @@ -50,7 +50,7 @@ spec: labels: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dafilesrv" "name" "dafilesrv" "instance" .name) | indent 8 }} server: {{ .name | quote }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 annotations: checksum/config: {{ $configSHA }} spec: diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index 0aa5be9e781..0d48da5e082 100644 --- a/helm/hpcc/templates/dali.yaml +++ b/helm/hpcc/templates/dali.yaml @@ -82,7 +82,7 @@ spec: run: {{ $dali.name | quote }} server: {{ $dali.name | quote }} app: dali - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} {{- end }} diff --git a/helm/hpcc/templates/dfuserver.yaml b/helm/hpcc/templates/dfuserver.yaml index 930c33e0c23..f80de165645 100644 --- a/helm/hpcc/templates/dfuserver.yaml +++ b/helm/hpcc/templates/dfuserver.yaml @@ -56,7 +56,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dfuserver" "name" "dfuserver" "instance" .name) | indent 8 }} run: {{ .name | quote }} accessDali: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclagent.yaml b/helm/hpcc/templates/eclagent.yaml index a3aca749839..62b213c5a6a 100644 --- a/helm/hpcc/templates/eclagent.yaml +++ b/helm/hpcc/templates/eclagent.yaml @@ -58,7 +58,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" $apptype "name" "eclagent" "instance" $appJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -137,7 +137,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclccserver.yaml b/helm/hpcc/templates/eclccserver.yaml index af6c74c1704..d4b61990cb2 100644 --- a/helm/hpcc/templates/eclccserver.yaml +++ b/helm/hpcc/templates/eclccserver.yaml @@ -57,7 +57,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclccserver" "name" "eclccserver" "instance" $compileJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -142,7 +142,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclscheduler.yaml b/helm/hpcc/templates/eclscheduler.yaml index e9f04c95451..5cac718057a 100644 --- a/helm/hpcc/templates/eclscheduler.yaml +++ b/helm/hpcc/templates/eclscheduler.yaml @@ -64,7 +64,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: "no" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 038b73000e7..eab29064c0e 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -117,7 +117,7 @@ spec: server: {{ .name | quote }} accessDali: "yes" app: {{ $application }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "name" $application "component" "esp" "instance" .name) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} diff --git a/helm/hpcc/templates/localroxie.yaml b/helm/hpcc/templates/localroxie.yaml index 319e579fcfd..df05c1f9054 100644 --- a/helm/hpcc/templates/localroxie.yaml +++ b/helm/hpcc/templates/localroxie.yaml @@ -70,7 +70,7 @@ spec: server: {{ $servername | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $roxie.name) | indent 8 }} {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} diff --git a/helm/hpcc/templates/roxie.yaml b/helm/hpcc/templates/roxie.yaml index f0dc18c45b6..62d327bb9cc 100644 --- a/helm/hpcc/templates/roxie.yaml +++ b/helm/hpcc/templates/roxie.yaml @@ -120,7 +120,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 8 }} run: {{ $commonCtx.toponame | quote }} roxie-cluster: {{ $roxie.name | quote }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} @@ -180,7 +180,7 @@ kind: Service metadata: name: {{ $commonCtx.toponame | quote }} labels: - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 4 }} spec: ports: @@ -242,7 +242,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $servername) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} @@ -347,7 +347,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} diff --git a/helm/hpcc/templates/sasha.yaml b/helm/hpcc/templates/sasha.yaml index 71f53205cf3..74aa4ad82a0 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -52,7 +52,7 @@ spec: run: {{ $serviceName | quote }} server: {{ $serviceName | quote }} accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- if hasKey $sasha "labels" }} {{ toYaml $sasha.labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/thor.yaml b/helm/hpcc/templates/thor.yaml index 449f80256b7..5d22e77efab 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -82,7 +82,7 @@ data: labels: accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $eclAgentJobName "instanceOf" (printf "%s-job" .eclAgentName)) | indent 8 }} {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} @@ -149,7 +149,7 @@ data: accessEsp: "yes" app: "thor" component: "thormanager" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thormanager" "name" "thor" "instance" $thorManagerJobName "instanceOf" (printf "%s-thormanager-job" .me.name)) | indent 12 }} @@ -218,7 +218,7 @@ data: accessEsp: "yes" app: "thor" component: "thorworker" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thorworker" "name" "thor" "instance" $thorWorkerJobName "instanceOf" (printf "%s-thorworker-job" .me.name)) | indent 12 }} @@ -353,7 +353,7 @@ spec: accessEsp: {{ $commonCtx.eclAgentUseChildProcesses | ternary "yes" "no" | quote }} app: "thor" component: "thor-eclagent" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 instance: {{ $commonCtx.eclAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.eclAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} @@ -418,7 +418,7 @@ spec: accessEsp: "no" app: "thor" component: "thor-thoragent" - helmVersion: 8.12.53-closedown0 + helmVersion: 8.12.55-closedown0 instance: {{ $commonCtx.thorAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.thorAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} diff --git a/version.cmake b/version.cmake index 9b84e1f6177..c8af42d64c6 100644 --- a/version.cmake +++ b/version.cmake @@ -5,7 +5,7 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 8 ) set ( HPCC_MINOR 12 ) -set ( HPCC_POINT 53 ) +set ( HPCC_POINT 55 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) ### From b5d7aeb92a3925c918ce310069bc28021135b768 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Sun, 17 Sep 2023 20:55:53 +0100 Subject: [PATCH 03/10] HPCC-30305 Improve job failure detection and report Signed-off-by: Jake Smith --- helm/hpcc/templates/_helpers.tpl | 10 +-- system/jlib/jcontainerized.cpp | 108 ++++++++++++++++--------------- 2 files changed, 62 insertions(+), 56 deletions(-) diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 678d23a5d9b..b880663af97 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1633,12 +1633,14 @@ args: {{- end }} - >- {{ $check_cmd.command }}; + exitCode=$?; k8s_postjob_clearup.sh; -{{- if $misc.postJobCommandViaSidecar -}} ; - touch /wait-and-run/{{ .me.name }}.jobdone -{{- else if $postJobCommand -}} ; - {{ $postJobCommand }} +{{- if $misc.postJobCommandViaSidecar -}} + touch /wait-and-run/{{ .me.name }}.jobdone; +{{- else if $postJobCommand -}} + {{ $postJobCommand }} ; {{- end }} + exit $exitCode; {{- end -}} {{/* diff --git a/system/jlib/jcontainerized.cpp b/system/jlib/jcontainerized.cpp index c4172e4828a..093e647834b 100644 --- a/system/jlib/jcontainerized.cpp +++ b/system/jlib/jcontainerized.cpp @@ -19,7 +19,6 @@ namespace k8s { -#ifdef _CONTAINERIZED static StringBuffer myPodName; const char *queryMyPodName() @@ -63,13 +62,45 @@ void deleteResource(const char *componentName, const char *resourceType, const c remove(k8sResourcesFilename); } +bool checkExitCodes(StringBuffer &output, const char *podStatuses) +{ + const char *startOfPodStatus = podStatuses; + while (*startOfPodStatus) + { + const char *endOfPodStatus = strchr(startOfPodStatus, '|'); + StringBuffer podStatus; + if (endOfPodStatus) + podStatus.append((size_t)(endOfPodStatus-startOfPodStatus), startOfPodStatus); + else + podStatus.append(startOfPodStatus); + StringArray fields; + fields.appendList(podStatus, ","); + if (3 == fields.length()) // should be 3 fields {,<"initContainer"|"container">,} + { + const char *exitCodeStr = fields.item(0); + if (strlen(exitCodeStr)) + { + unsigned exitCode = atoi(exitCodeStr); + if (exitCode) // non-zero = failure + { + output.appendf(" %s '%s' failed with exitCode = %u", fields.item(1), fields.item(2), exitCode); + return true; + } + } + } + if (!endOfPodStatus) + break; + startOfPodStatus = endOfPodStatus+1; + } + return false; +} + void waitJob(const char *componentName, const char *resourceType, const char *job, unsigned pendingTimeoutSecs, KeepJobs keepJob) { VStringBuffer jobName("%s-%s-%s", componentName, resourceType, job); jobName.toLowerCase(); VStringBuffer waitJob("kubectl get jobs %s -o jsonpath={.status.active}", jobName.str()); VStringBuffer getScheduleStatus("kubectl get pods --selector=job-name=%s --output=jsonpath={.items[*].status.conditions[?(@.type=='PodScheduled')].status}", jobName.str()); - VStringBuffer checkJobExitCode("kubectl get pods --selector=job-name=%s --output=jsonpath={.items[*].status.containerStatuses[?(@.name==\"%s\")].state.terminated.exitCode}", jobName.str(), jobName.str()); unsigned delay = 100; unsigned start = msTick(); @@ -82,14 +113,30 @@ void waitJob(const char *componentName, const char *resourceType, const char *jo { StringBuffer output; runKubectlCommand(componentName, waitJob, nullptr, &output); - if (!streq(output, "1")) // status.active value + if ((0 == output.length()) || streq(output, "0")) // status.active value { // Job is no longer active - we can terminate DBGLOG("kubectl jobs output: %s", output.str()); - runKubectlCommand(componentName, checkJobExitCode, nullptr, &output.clear()); - if (output.length() && !streq(output, "0")) // state.terminated.exitCode - throw makeStringExceptionV(0, "Failed to run %s: pod exited with error: %s", jobName.str(), output.str()); - break; + VStringBuffer checkJobExitStatus("kubectl get jobs %s '-o=jsonpath={range .status.conditions[*]}{.type}: {.status} - {.message}|{end}'", jobName.str()); + runKubectlCommand(componentName, checkJobExitStatus, nullptr, &output.clear()); + if (strstr(output.str(), "Failed: ")) + { + VStringBuffer errMsg("Job %s failed [%s].", jobName.str(), output.str()); + VStringBuffer checkInitContainerExitCodes("kubectl get pods --selector=job-name=%s '-o=jsonpath={range .items[*].status.initContainerStatuses[*]}{.state.terminated.exitCode},{\"initContainer\"},{.name}{\"|\"}{end}'", jobName.str()); + runKubectlCommand(componentName, checkInitContainerExitCodes, nullptr, &output.clear()); + DBGLOG("checkInitContainerExitCodes - output = %s", output.str()); + if (!checkExitCodes(errMsg, output)) + { + // no init container failures, check regular containers + VStringBuffer checkContainerExitCodes("kubectl get pods --selector=job-name=%s '-o=jsonpath={range .items[*].status.containerStatuses[*]}{.state.terminated.exitCode},{\"container\"},{.name}{\"|\"}{end}'", jobName.str()); + runKubectlCommand(componentName, checkContainerExitCodes, nullptr, &output.clear()); + DBGLOG("checkContainerExitCodes - output = %s", output.str()); + checkExitCodes(errMsg, output); + } + throw makeStringException(0, errMsg); + } + else // assume success, either .status.conditions type of "Complete" or "Succeeded" + break; } runKubectlCommand(nullptr, getScheduleStatus, nullptr, &output.clear()); @@ -261,51 +308,8 @@ MODULE_INIT(INIT_PRIORITY_STANDARD) } MODULE_EXIT() { - removeConfigUpdateHook(podInfoInitCBId); -} - -#else - -const char *queryMyPodName() -{ - throwUnexpected(); -} - -KeepJobs translateKeepJobs(const char *keepJobs) -{ - throwUnexpected(); -} - -bool isActiveService(const char *serviceName) -{ - throwUnexpected(); -} - -void deleteResource(const char *componentName, const char *job, const char *resource) -{ - throwUnexpected(); -} - -void waitJob(const char *componentName, const char *resourceType, const char *job, unsigned pendingTimeoutSecs, KeepJobs keepJob) -{ - throwUnexpected(); -} - -bool applyYaml(const char *componentName, const char *wuid, const char *job, const char *resourceType, const std::list> &extraParams, bool optional, bool autoCleanup) -{ - throwUnexpected(); -} - -void runJob(const char *componentName, const char *wuid, const char *job, const std::list> &extraParams) -{ - throwUnexpected(); -} - -std::vector> getPodNodes(const char *selector) -{ - throwUnexpected(); + if (isContainerized()) + removeConfigUpdateHook(podInfoInitCBId); } -#endif // _CONTAINERIZED - } // end of k8s namespace From e5fa53e74458f488956d3612cdd953635d4604b2 Mon Sep 17 00:00:00 2001 From: Gavin Halliday Date: Thu, 21 Sep 2023 12:56:37 +0100 Subject: [PATCH 04/10] HPCC-30325 eclccserver fetch repos to local directory Signed-off-by: Gavin Halliday --- ecl/eclccserver/eclccserver.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ecl/eclccserver/eclccserver.cpp b/ecl/eclccserver/eclccserver.cpp index eba8f16770e..dd1d6dc1f31 100644 --- a/ecl/eclccserver/eclccserver.cpp +++ b/ecl/eclccserver/eclccserver.cpp @@ -821,7 +821,9 @@ class EclccCompileThread : implements IPooledThread, implements IErrorReporter, } else { - getHomeFolder(repoRootPath); + char dir[_MAX_PATH]; + if (GetCurrentDirectory(sizeof(dir), dir)) + repoRootPath.append(dir); } if (repoRootPath.length()) { From 9fd05b7ee654b488614f2c22ae5244294583ed10 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Wed, 20 Sep 2023 09:28:59 -0400 Subject: [PATCH 05/10] HPCC-30316 ECL Watch v9 TargetGroupField filter options by Kind should filter options the same as loadClusterGroups() in TargetSelectClass.js Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/forms/Fields.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/esp/src/src-react/components/forms/Fields.tsx b/esp/src/src-react/components/forms/Fields.tsx index 3d191882b36..d68e019ed5b 100644 --- a/esp/src/src-react/components/forms/Fields.tsx +++ b/esp/src/src-react/components/forms/Fields.tsx @@ -490,12 +490,18 @@ export const TargetGroupTextField: React.FunctionComponent { TpGroupQuery({}).then(({ TpGroupQueryResponse }) => { - setTargetGroups(TpGroupQueryResponse.TpGroups.TpGroup.map(n => { - return { - key: n.Name, - text: n.Name + (n.Name !== n.Kind ? ` (${n.Kind})` : "") - }; - })); + setTargetGroups(TpGroupQueryResponse.TpGroups.TpGroup.map(group => { + switch (group?.Kind) { + case "Thor": + case "hthor": + case "Roxie": + case "Plane": + return { + key: group.Name, + text: group.Name + (group.Name !== group.Kind ? ` (${group.Kind})` : "") + }; + } + }).filter(group => group)); }).catch(err => logger.error(err)); }, []); From f8b3a346062024cd55b129e2243110dfa49e8ec9 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Wed, 20 Sep 2023 12:56:35 -0400 Subject: [PATCH 06/10] HPCC-30317 ECL Watch v9 Files page filter "Not In Superfiles" Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/Files.tsx | 2 +- esp/src/src-react/components/forms/Fields.tsx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/esp/src/src-react/components/Files.tsx b/esp/src/src-react/components/Files.tsx index 03f60dff097..b2664d6b119 100644 --- a/esp/src/src-react/components/Files.tsx +++ b/esp/src/src-react/components/Files.tsx @@ -31,7 +31,7 @@ const FilterFields: Fields = { "LogicalFiles": { type: "checkbox", label: nlsHPCC.LogicalFiles }, "SuperFiles": { type: "checkbox", label: nlsHPCC.SuperFiles }, "Indexes": { type: "checkbox", label: nlsHPCC.Indexes }, - "NotInSuperfiles": { type: "checkbox", label: nlsHPCC.NotInSuperfiles }, + "NotInSuperfiles": { type: "checkbox", label: nlsHPCC.NotInSuperfiles, disabled: (params: Fields) => !!params?.SuperFiles?.value || !!params?.LogicalFiles?.value }, "NodeGroup": { type: "target-group", label: nlsHPCC.Cluster, placeholder: nlsHPCC.Cluster }, "FileSizeFrom": { type: "string", label: nlsHPCC.FromSizes, placeholder: "4096" }, "FileSizeTo": { type: "string", label: nlsHPCC.ToSizes, placeholder: "16777216" }, diff --git a/esp/src/src-react/components/forms/Fields.tsx b/esp/src/src-react/components/forms/Fields.tsx index 3d191882b36..14814e9a10d 100644 --- a/esp/src/src-react/components/forms/Fields.tsx +++ b/esp/src/src-react/components/forms/Fields.tsx @@ -780,6 +780,7 @@ export function createInputs(fields: Fields, onChange?: (id: string, newValue: a label: field.label, field: onChange(fieldID, newValue)} /> From 9f41674c358acdf6900dfe9f510b730f4689c9b5 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:03:37 -0400 Subject: [PATCH 07/10] HPCC-29533 ECL Watch v9 fix WU sort by cost fields Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/Workunits.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/esp/src/src-react/components/Workunits.tsx b/esp/src/src-react/components/Workunits.tsx index 0f1e9314ed6..f2bfc4d4d84 100644 --- a/esp/src/src-react/components/Workunits.tsx +++ b/esp/src/src-react/components/Workunits.tsx @@ -150,25 +150,25 @@ export const Workunits: React.FunctionComponent = ({ label: nlsHPCC.TotalClusterTime, width: 120, justify: "right", }, - CompileCost: { + "Compile Cost": { label: nlsHPCC.CompileCost, width: 100, justify: "right", formatter: (cost, row) => { - return `${formatCost(cost)}`; + return `${formatCost(row.CompileCost)}`; } }, - ExecuteCost: { + "Execute Cost": { label: nlsHPCC.ExecuteCost, width: 100, justify: "right", formatter: (cost, row) => { - return `${formatCost(cost)}`; + return `${formatCost(row.ExecuteCost)}`; } }, - FileAccessCost: { + "File Access Cost": { label: nlsHPCC.FileAccessCost, width: 100, justify: "right", formatter: (cost, row) => { - return `${formatCost(cost)}`; + return `${formatCost(row.FileAccessCost)}`; } } }; From 8f00aa5e788653193972ede8ec05579a1c136e4d Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Sun, 17 Sep 2023 20:55:53 +0100 Subject: [PATCH 08/10] HPCC-30306 Allow arbitrary script based plane validation This can be used catch problems with plane mounts Signed-off-by: Jake Smith --- helm/hpcc/docs/expert.md | 11 +++++++++++ helm/hpcc/templates/_helpers.tpl | 29 +++++++++++++++++++++++++++-- helm/hpcc/values.schema.json | 11 +++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/helm/hpcc/docs/expert.md b/helm/hpcc/docs/expert.md index 506e9404c41..a42fc346ba5 100644 --- a/helm/hpcc/docs/expert.md +++ b/helm/hpcc/docs/expert.md @@ -18,6 +18,8 @@ global: NB: Some components (e.g. DfuServer and Thor) also have an 'expert' settings area (see values schema) that can be used for relavent settings on a per component instance basis, rather than setting them globally. +Planes can also have an expert section (see Plane Expert Settings section) + The following options are currently available: @@ -70,3 +72,12 @@ Foreign file reads (~foreign::) are forbidden by default since the official sant service via remote file reads with the ~remote:: syntax. Setting expert.allowForeign to true, enables foreign access for compatibility with legacy bare-metal environments that have their Dali and Dafilesrv's open. + + +# Plane Expert Settings + +## validatePlaneScript (list of { string }) + +Optional list of bash commands to execute within an init container in pods that use this plane. +This can be used to validate that the plane is healthy, e.g. that it is mounted as expected. +If the script returns a non-zero result, the init container and therefore the pod will fail. diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 678d23a5d9b..b651312b530 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -814,9 +814,9 @@ Specifically for now (but could be extended), this container generates sysctl co A kludge to ensure until the mount of a PVC appears (this can happen with some types of host storage) */}} {{- define "hpcc.waitForMount" -}} -- name: wait-mount-container +- name: {{ printf "wait-mount-container-%s" .volumeName }} {{- include "hpcc.addImageAttrs" . | nindent 2 }} - command: ["/bin/sh"] + command: ["/bin/bash"] args: - "-c" - {{ printf "until mountpoint -q %s; do sleep 5; done" .volumePath }} @@ -825,6 +825,25 @@ A kludge to ensure until the mount of a PVC appears (this can happen with some t mountPath: {{ .volumePath | quote }} {{- end }} +{{/* +Inject container to perform any post plane initialization validation +Pass in dict with volumeName, volumePath and cmds +*/}} +{{- define "hpcc.validatePlaneScript" -}} +- name: {{ printf "validate-plane-script-container-%s" .volumeName }} + {{- include "hpcc.addImageAttrs" . | nindent 2 }} + command: ["/bin/bash"] + args: + - -c + - | +{{- range $cmd := .cmds }} + {{ $cmd }} +{{- end }} + volumeMounts: + - name: {{ .volumeName | quote}} + mountPath: {{ .volumePath | quote }} +{{- end }} + {{/* A kludge to ensure mounted storage (e.g. for nfs, minikube or docker for desktop) has correct permissions for PV @@ -888,6 +907,12 @@ NB: uid=10000 and gid=10001 are the uid/gid of the hpcc user, built into platfor {{- $volumeName := (printf "%s-pv" $plane.name) -}} {{- include "hpcc.waitForMount" (dict "root" $root "me" $component "uid" $uid "gid" $gid "volumeName" $volumeName "volumePath" $plane.prefix) | nindent 0 }} {{- end -}} + {{- if hasKey $plane "expert" -}} + {{- if $plane.expert.validatePlaneScript -}} + {{- $volumeName := (printf "%s-pv" $plane.name) -}} + {{- include "hpcc.validatePlaneScript" (dict "root" $root "me" $component "uid" $uid "gid" $gid "volumeName" $volumeName "volumePath" $plane.prefix "cmds" $plane.expert.validatePlaneScript) | nindent 0 }} + {{- end -}} + {{- end -}} {{- end -}} {{- end -}} {{- end -}} diff --git a/helm/hpcc/values.schema.json b/helm/hpcc/values.schema.json index f17c5b0db97..8e9b473e7a5 100644 --- a/helm/hpcc/values.schema.json +++ b/helm/hpcc/values.schema.json @@ -544,6 +544,17 @@ "waitForMount": { "type": "boolean" }, + "expert": { + "type": "object", + "description": "Custom internal options usually reserved for internal testing", + "properties": { + "validatePlaneScript": { + "description": "a list of bash commands to run to validate the plane is healthy", + "type": "array", + "items": { "type": "string" } + } + } + }, "blockedFileIOKB": { "description": "Optimal block size for efficient reading from this plane. Implementations will use if they can", "type": "integer", From 842cfc52674e98087a36fb416330a6145cb47f20 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Wed, 20 Sep 2023 15:49:52 -0400 Subject: [PATCH 09/10] HPCC-30323 ECL Watch v9 Activities list not showing active WUs Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src/store/Memory.ts | 2 +- esp/src/src/store/Store.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/esp/src/src/store/Memory.ts b/esp/src/src/store/Memory.ts index ec36b30414c..1bec0fee3e6 100644 --- a/esp/src/src/store/Memory.ts +++ b/esp/src/src/store/Memory.ts @@ -69,7 +69,7 @@ export class Memory extends BaseStore { } } - protected fetchData(request: QueryRequest, options: QueryOptions): ThenableResponse { + protected fetchData(request: QueryRequest, options: QueryOptions = {}): ThenableResponse { options.alphanumColumns = this.alphanumSort; const data = this.queryEngine(request, options)(this.data); data.total = this.data.length; diff --git a/esp/src/src/store/Store.ts b/esp/src/src/store/Store.ts index 41dea790b39..d41d24e893c 100644 --- a/esp/src/src/store/Store.ts +++ b/esp/src/src/store/Store.ts @@ -21,7 +21,7 @@ export interface QueryOptions { start?: number; count?: number; sort?: QuerySort; - alphanumColumns: { [id: string]: boolean }; + alphanumColumns?: { [id: string]: boolean }; } export abstract class BaseStore { From 3b5c28e70cc9c7679f86048d0d2c2ebe03322603 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 21 Sep 2023 14:08:44 +0100 Subject: [PATCH 10/10] HPCC-30332 Add hostPath volume support Signed-off-by: Jake Smith --- helm/hpcc/templates/_helpers.tpl | 42 ++++++++++++++++++++++---------- helm/hpcc/templates/thor.yaml | 2 +- helm/hpcc/values.schema.json | 6 +++++ 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 1a6588fb2af..864b4fa5522 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -327,7 +327,7 @@ Add ConfigMap volume for a component {{/* Add volume mounts -Pass in root, me (the component), includeCategories (optional) and/or includeNames (optional) +Pass in root, me (the component), includeCategories (optional) and/or includeNames (optional), container identifier (optional) Note: if there are multiple planes (other than dll, dali and spill planes), they should be all called with a single call to addVolumeMounts so that if a plane can be used for multiple purposes then duplicate volume mounts are not created. */}} @@ -339,6 +339,7 @@ to addVolumeMounts so that if a plane can be used for multiple purposes then dup {{- $includeNames := .includeNames | default list -}} {{- $component := .me -}} {{- $previousMounts := dict -}} +{{- $id := .id | default "" -}} {{- range $plane := $planes -}} {{- if not $plane.disabled }} {{- $componentMatches := or (not (hasKey $plane "components")) (has $component.name $plane.components) -}} @@ -349,16 +350,24 @@ to addVolumeMounts so that if a plane can be used for multiple purposes then dup {{- $mountPath := $plane.prefix }} {{- $numMounts := int ( $plane.numMounts | default $plane.numDevices | default 1 ) }} {{- if le $numMounts 1 }} -- name: {{ lower $plane.name }}-pv +- name: {{ lower $plane.name }}-volume mountPath: {{ $mountPath | quote }} {{- else }} {{- range $elem := untilStep 1 (int (add $numMounts 1)) 1 }} -- name: {{ lower $plane.name }}-pv-many-{{ $elem }} +- name: {{ lower $plane.name }}-volume-many-{{ $elem }} mountPath: {{ printf "%s/d%d" $mountPath $elem | quote }} {{- end }} {{- end }} {{- end }} {{- $_ := set $previousMounts $plane.prefix true -}} + {{- else if $plane.hostPath }} + {{- if not (hasKey $previousMounts $plane.prefix) }} +- name: {{ lower $plane.name }}-volume + mountPath: {{ $plane.prefix | quote }} + {{- if $id }} + subPath: {{ printf "%s-%s" $component.name $id }} + {{- end }} + {{- end }} {{- end }} {{- /*Generate entries for each alias of the plane*/ -}} @@ -370,11 +379,11 @@ to addVolumeMounts so that if a plane can be used for multiple purposes then dup {{- $mountPath := $alias.prefix }} {{- $numMounts := int ( $alias.numMounts | default $plane.numDevices | default 1 ) }} {{- if le $numMounts 1 }} -- name: {{ lower $plane.name }}-pv-alias-{{ $curAlias.num }} +- name: {{ lower $plane.name }}-volume-alias-{{ $curAlias.num }} mountPath: {{ $mountPath | quote }} {{- else }} {{- range $elem := untilStep 1 (int (add $numMounts 1)) 1 }} -- name: {{ lower $plane.name }}-pv-alias-{{ $curAlias.num }}-many-{{ $elem }} +- name: {{ lower $plane.name }}-volume-alias-{{ $curAlias.num }}-many-{{ $elem }} mountPath: {{ printf "%s/d%d" $mountPath $elem | quote }} {{- end }} {{- end }} @@ -411,18 +420,25 @@ The plane will generate a volume if it matches either an includeLabel or an incl {{- $pvc := hasKey $plane "pvc" | ternary $plane.pvc (printf "%s-%s-pvc" (include "hpcc.fullname" $) $plane.name) }} {{- $numMounts := int ( $plane.numMounts | default $plane.numDevices | default 1 ) }} {{- if le $numMounts 1 }} -- name: {{ lower $plane.name }}-pv +- name: {{ lower $plane.name }}-volume persistentVolumeClaim: claimName: {{ $pvc }} {{- else }} {{- range $elem := until $numMounts }} -- name: {{ lower $plane.name }}-pv-many-{{ add $elem 1 }} +- name: {{ lower $plane.name }}-volume-many-{{ add $elem 1 }} persistentVolumeClaim: claimName: {{ $pvc }}-{{ add $elem 1 }} {{- end }} {{- end }} {{- $_ := set $previousMounts $plane.prefix true }} {{- end }} + {{- else if $plane.hostPath }} + {{- if not (hasKey $previousMounts $plane.prefix) }} +- name: {{ lower $plane.name }}-volume + hostPath: + path: {{ $plane.hostPath }} + type: Directory + {{- end }} {{- end }} {{- /*Generate entries for each alias of the plane*/ -}} @@ -434,12 +450,12 @@ The plane will generate a volume if it matches either an includeLabel or an incl {{- $pvc := $alias.pvc }} {{- $numMounts := int ( $alias.numMounts | default $plane.numDevices | default 1 ) }} {{- if le $numMounts 1 }} -- name: {{ lower $plane.name }}-pv-alias-{{ $curAlias.num }} +- name: {{ lower $plane.name }}-volume-alias-{{ $curAlias.num }} persistentVolumeClaim: claimName: {{ $pvc }} {{- else }} {{- range $elem := until $numMounts }} -- name: {{ lower $plane.name }}-pv-alias-{{ $curAlias.num }}-many-{{ add $elem 1 }} +- name: {{ lower $plane.name }}-volume-alias-{{ $curAlias.num }}-many-{{ add $elem 1 }} persistentVolumeClaim: claimName: {{ $pvc }}-{{ add $elem 1 }} {{- end }} @@ -897,19 +913,19 @@ NB: uid=10000 and gid=10001 are the uid/gid of the hpcc user, built into platfor {{- $component := .me -}} {{- range $plane := $planes -}} {{- if not $plane.disabled -}} - {{- if (or ($plane.pvc) (hasKey $plane "storageClass")) -}} + {{- if (or ($plane.pvc) (or (hasKey $plane "storageClass") (hasKey $plane "hostPath"))) -}} {{- $componentMatches := or (not (hasKey $plane "components")) (has $component.name $plane.components) -}} {{- if and (or (has $plane.category $includeCategories) (has $plane.name $includeNames)) $componentMatches }} {{- if $plane.forcePermissions -}} {{- $planesToChown = append $planesToChown $plane -}} {{- end -}} {{- if $plane.waitForMount -}} - {{- $volumeName := (printf "%s-pv" $plane.name) -}} + {{- $volumeName := (printf "%s-volume" $plane.name) -}} {{- include "hpcc.waitForMount" (dict "root" $root "me" $component "uid" $uid "gid" $gid "volumeName" $volumeName "volumePath" $plane.prefix) | nindent 0 }} {{- end -}} {{- if hasKey $plane "expert" -}} {{- if $plane.expert.validatePlaneScript -}} - {{- $volumeName := (printf "%s-pv" $plane.name) -}} + {{- $volumeName := (printf "%s-volume" $plane.name) -}} {{- include "hpcc.validatePlaneScript" (dict "root" $root "me" $component "uid" $uid "gid" $gid "volumeName" $volumeName "volumePath" $plane.prefix "cmds" $plane.expert.validatePlaneScript) | nindent 0 }} {{- end -}} {{- end -}} @@ -920,7 +936,7 @@ NB: uid=10000 and gid=10001 are the uid/gid of the hpcc user, built into platfor {{- $volumes := list -}} {{- if len $planesToChown -}} {{- range $plane := $planesToChown -}} - {{- $volumeName := (printf "%s-pv" $plane.name) -}} + {{- $volumeName := (printf "%s-volume" $plane.name) -}} {{- $volumes = append $volumes (dict "name" $volumeName "path" $plane.prefix) -}} {{- end -}} {{- include "hpcc.changeMountPerms" (dict "root" $root "uid" $uid "gid" $gid "volumes" $volumes) | nindent 0 }} diff --git a/helm/hpcc/templates/thor.yaml b/helm/hpcc/templates/thor.yaml index 27044dad14f..4b84caa2f1f 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -251,7 +251,7 @@ data: workingDir: /var/lib/HPCCSystems volumeMounts: {{ include "hpcc.addConfigMapVolumeMount" $configCtx.me | indent 12 }} -{{ include "hpcc.addVolumeMounts" $configCtx | indent 12 }} +{{ include "hpcc.addVolumeMounts" (deepCopy $configCtx | merge (dict "id" (toString $containerNum))) | indent 12 }} {{ include "hpcc.addSecretVolumeMounts" $configCtx | indent 12 }} {{ include "hpcc.addCertificateVolumeMount" (dict "root" $configCtx.root "name" $configCtx.me.name "component" "thorworker") | indent 12 }} {{- if and ($misc.postJobCommandViaSidecar) (eq $containerNum 1) }} diff --git a/helm/hpcc/values.schema.json b/helm/hpcc/values.schema.json index 8e9b473e7a5..39f45fcd332 100644 --- a/helm/hpcc/values.schema.json +++ b/helm/hpcc/values.schema.json @@ -568,6 +568,7 @@ "subPath": {}, "secret": {}, "pvc": {}, + "hostPath": {}, "hostGroup": {}, "hosts": {}, "umask": {}, @@ -595,6 +596,10 @@ "description": "optional name of any secret required to access this storage plane", "type": "string" }, + "hostPath": { + "description": "optional, this will create a hostPath volume (mutually exclusive with using pvc)", + "type": "string" + }, "pvc": { "description": "optional name of the persistent volume claim for this plane", "type": "string" @@ -700,6 +705,7 @@ "subPath": {}, "secret": {}, "pvc": {}, + "hostPath": {}, "hostGroup": {}, "hosts": {}, "umask": {},