From e882e07ff950b5b743fef234abee2bb54499eaff Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:02:03 -0400 Subject: [PATCH 01/14] HPCC-30421 ECL Watch v9 fix LandingZone silent failure on upload Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- .../components/forms/landing-zone/FileListForm.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/esp/src/src-react/components/forms/landing-zone/FileListForm.tsx b/esp/src/src-react/components/forms/landing-zone/FileListForm.tsx index cd89e811201..1112167f2a1 100644 --- a/esp/src/src-react/components/forms/landing-zone/FileListForm.tsx +++ b/esp/src/src-react/components/forms/landing-zone/FileListForm.tsx @@ -80,9 +80,14 @@ export const FileListForm: React.FunctionComponent = ({ .then(response => response.json()) .then(response => { setSubmitDisabled(false); - const DFUActionResult = response?.UploadFilesResponse?.UploadFileResults?.DFUActionResult; + const exceptions = response?.Exceptions?.Exception ?? []; + if (exceptions.length > 0) { + logger.error(exceptions[0]?.Message ?? nlsHPCC.ErrorUploadingFile); + return; + } + const DFUActionResult = response?.UploadFilesResponse?.UploadFileResults?.DFUActionResult ?? []; if (DFUActionResult.filter(result => result.Result !== "Success").length > 0) { - console.log("upload failed"); + logger.error(nlsHPCC.ErrorUploadingFile); } else { closeForm(); if (typeof onSubmit === "function") { @@ -90,7 +95,8 @@ export const FileListForm: React.FunctionComponent = ({ } reset(defaultValues); } - }); + }) + .catch(err => logger.error(err)); }; handleSubmit( From c1fc1f90bc4a8204634ce57ef448be44e2582c85 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Fri, 6 Oct 2023 11:55:20 -0400 Subject: [PATCH 02/14] HPCC-30443 ECL Watch v9 fix search results superfile links Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/Search.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/esp/src/src-react/components/Search.tsx b/esp/src/src-react/components/Search.tsx index fe6d3072d40..2e27faf4c28 100644 --- a/esp/src/src-react/components/Search.tsx +++ b/esp/src/src-react/components/Search.tsx @@ -29,6 +29,9 @@ const searchResultUrl = (result) => { case "Logical File": url = "#/files/" + result._nodeGroup + "/" + result._name; break; + case "Super File": + url = "#/files/" + result._name; + break; case "Query": url = "#/queries/" + result._querySetId + "/" + result._id; break; @@ -112,7 +115,7 @@ export const Search: React.FunctionComponent = ({ key: "open", text: nlsHPCC.Open, disabled: !uiState.hasSelection, iconProps: { iconName: "WindowEdit" }, onClick: () => { if (selection.length === 1) { - window.location.href = `#/workunits/${selection[0].Wuid}`; + window.location.href = searchResultUrl(selection[0]); } else { for (let i = selection.length - 1; i >= 0; --i) { window.open(searchResultUrl(selection[i]), "_blank"); From f8e28d3a42aedcccad4930a043130955a7e35d1f Mon Sep 17 00:00:00 2001 From: g-pan Date: Thu, 12 Oct 2023 16:24:35 -0400 Subject: [PATCH 03/14] HPCC-28758 Update docs for elastic4hpcclogs chart info Signed-off-by: g-pan --- .../ContainerizedMods/ContainerLogging.xml | 69 +++++++------------ 1 file changed, 23 insertions(+), 46 deletions(-) diff --git a/docs/EN_US/ContainerizedHPCC/ContainerizedMods/ContainerLogging.xml b/docs/EN_US/ContainerizedHPCC/ContainerizedMods/ContainerLogging.xml index 51787bcf528..12349160019 100644 --- a/docs/EN_US/ContainerizedHPCC/ContainerizedMods/ContainerLogging.xml +++ b/docs/EN_US/ContainerizedHPCC/ContainerizedMods/ContainerLogging.xml @@ -214,7 +214,7 @@ myelk-kibana-68688b4d4d-d489b 1/1 Running 0 - + Confirming the Elastic Services To confirm the Elastic services are running, issue the following @@ -279,47 +279,24 @@ myelk-kibana LoadBalancer 10.110.129.199 localhost 5601:31465/TCP 68m logs. The way you direct HPCC Systems to do so is by providing a values file that includes the log mappings. We have provided a default values file and we provide an example command line that inserts that - values file into your deployment. - - These are the Elastic4HPCCLogs values: - - # Configures HPCC logAccess to target elastic4hpcclogs deployment -global: - logAccess: - name: "Elastic4HPCCLogs" - type: "elasticstack" - connection: - protocol: "http" - host: "elasticsearch-master.default.svc.cluster.local" - port: 9200 - logMaps: - - type: "global" #These settings apply to all log mappings - storeName: "hpcc-logs*" #Logs are expected to be housed in ES inde - searchColumn: "message" #The 'message' field is to be targeted for - timeStampColumn: "@timestamp" #The '@timestamp' field contains time log - - type: "workunits" #Search by workunits specific log mapping - storeName: "hpcc-logs*" # Only needed if differs from global.store - searchColumn: "hpcc.log.jobid" # Field containing WU information - - type: "components" #Search by components specific log mapping - searchColumn: "kubernetes.container.name" # Field containing container information - - type: "audience" #Search by audience specific log mapping - searchColumn: "hpcc.log.audience" # Field containing audience information - - type: "class" #Search by log class specific log mapping - searchColumn: "hpcc.log.class" # Field containing log class information - - type: "instance" #Search by log source instance specific ma - searchColumn: "kubernetes.pod.name" # Field containing source instance informa - - type: "host" #Search by log source host specific mappin - searchColumn: "kubernetes.node.hostname" # Field containing source host information - - You can use the delivered Elastic4HPCCLogs chart, provided on - https://github.com/hpcc-systems/HPCC-Platform/tree/master/helm/managed/logging/elastic - or you can add the values there to your customized configuration - values yaml file. You can then install it using a command such - as: + values file into your deployment. This suggested configuration values + file for enabling log access can be found in the HPCC Systems Platform + GitHub repository. - helm install mycluster hpcc/hpcc -f elastic4hpcclogs-hpcc-logaccess.yaml + https://github.com/hpcc-systems/HPCC-Platform + + Then navigating to the + helm/examples/azure/log-analytics/loganalytics-hpcc-logaccess.yaml + file. - + You can use the delivered Elastic4HPCCLogs chart provided or you + can add the values there to your customized configuration values yaml + file. + + You can then install it using a command such as: + + helm install mycluster hpcc/hpcc -f elastic4hpcclogs-hpcc-logaccess.yaml @@ -619,10 +596,10 @@ ContainerLog Target Audience Filtering The availble target audiences include operator(OPR), user(USR), - programmer(PRO), monitor(MON), audit(ADT), or all. The filter is controlled by the - <section>.logging.audiences value. The string value is comprised - of 3 letter codes delimited by the aggregation operator (+) or the - removal operator (-). + programmer(PRO), monitor(MON), audit(ADT), or all. The filter is + controlled by the <section>.logging.audiences value. The string + value is comprised of 3 letter codes delimited by the aggregation + operator (+) or the removal operator (-). For example, all component log output to include Programmer and User messages only: @@ -634,8 +611,8 @@ ContainerLog Target Category Filtering The available target categories include disaster(DIS), error(ERR), - information(INF), warning(WRN), progress(PRO), event(EVT), metrics(MET). The - category (or class) filter is controlled by the + information(INF), warning(WRN), progress(PRO), event(EVT), metrics(MET). + The category (or class) filter is controlled by the <section>.logging.classes value, comprised of 3 letter codes delimited by the aggregation operator (+) or the removal operator (-). From 02af306173972732ed8a67662aa53e24f411005e Mon Sep 17 00:00:00 2001 From: wangkx Date: Wed, 18 Oct 2023 09:35:04 -0400 Subject: [PATCH 04/14] HPCC-30565 Check empty (not null) host in validateDropZone() Signed-off-by: wangkx --- dali/base/dautils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dali/base/dautils.cpp b/dali/base/dautils.cpp index 38dad59731d..e81eb7242d7 100644 --- a/dali/base/dautils.cpp +++ b/dali/base/dautils.cpp @@ -124,7 +124,7 @@ bool isPathInPlane(IPropertyTree *plane, const char *path) bool validateDropZone(IPropertyTree * plane, const char * path, const char * host, bool ipMatch) { - if (host) + if (!isEmptyString(host)) { if (!isHostInPlane(plane, host, ipMatch)) return false; From 83bb1f1730a39ec1f991047b74d09b0f6c193b0b Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Mon, 16 Oct 2023 16:18:28 -0400 Subject: [PATCH 05/14] HPCC-30462 ECL Watch v9 add packagemap targets dropdown options should use target names as label/value, rather than target types Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/PackageMaps.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esp/src/src-react/components/PackageMaps.tsx b/esp/src/src-react/components/PackageMaps.tsx index 517903e25c6..fd561003cd6 100644 --- a/esp/src/src-react/components/PackageMaps.tsx +++ b/esp/src/src-react/components/PackageMaps.tsx @@ -367,8 +367,8 @@ export const PackageMaps: React.FunctionComponent = ({ const _targets: TypedDropdownOption[] = [{ key: "*", text: "ANY" }]; const _processes: TypedDropdownOption[] = [{ key: "*", text: "ANY" }]; Targets?.TargetData.map(target => { - if (_targets.filter(t => t.key === target.Type).length === 0) { - _targets.push({ key: target.Type, text: target.Type, type: target.Type }); + if (_targets.filter(t => t.key === target.Name).length === 0) { + _targets.push({ key: target.Name, text: target.Name, type: target.Type }); } target?.Processes?.Item.map(item => { if (_processes.filter(p => p.key === item).length === 0) { From a868d4d9d9d49b42752f65f440b2294d8d9b7828 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 19 Oct 2023 17:59:09 +0100 Subject: [PATCH 06/14] HPCC-30580 Reduce default max arenas Signed-off-by: Jake Smith --- initfiles/sbin/hpcc_setenv.in | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/initfiles/sbin/hpcc_setenv.in b/initfiles/sbin/hpcc_setenv.in index 8451af0cda2..60de6860025 100755 --- a/initfiles/sbin/hpcc_setenv.in +++ b/initfiles/sbin/hpcc_setenv.in @@ -114,15 +114,14 @@ umask ${OUMASK} # use less heap when threaded # but if set too low it can affect performance significantly -num_arenas=$num_cpus -if [ -z "$num_arenas" ] ; then - num_arenas=8 -elif [ $num_arenas -lt 8 ] ; then - num_arenas=8 -elif [ $num_arenas -gt 32 ] ; then - num_arenas=32 +if [ -z "$MALLOC_ARENA_MAX" ]; then + if [ $num_cpus -gt 8 ]; then + num_arenas=8 + else + num_arenas=$num_cpus + fi + export MALLOC_ARENA_MAX=$num_arenas fi -export MALLOC_ARENA_MAX=$num_arenas PATH_PREFIX=`cat ${HPCC_CONFIG} | sed -n "/\[${SECTION}\]/,/\[/p" | grep "^path *= *" | sed -e 's/^path *= *//'` From 92d2f65e9f674052b4f65a25972ef1501661a094 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Thu, 19 Oct 2023 16:49:38 -0400 Subject: [PATCH 07/14] HPCC-28224 ECL Watch v5 fix playground job name not shown on WU list Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/eclwatch/ECLPlaygroundWidget.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/esp/src/eclwatch/ECLPlaygroundWidget.js b/esp/src/eclwatch/ECLPlaygroundWidget.js index b97ff251141..2b652d96a2d 100644 --- a/esp/src/eclwatch/ECLPlaygroundWidget.js +++ b/esp/src/eclwatch/ECLPlaygroundWidget.js @@ -337,8 +337,9 @@ define([ var context = this; hpccComms.Workunit.compile({ baseUrl: "" }, selectedTarget.Name, ecl).then(function (wu) { context.wu = wu; + context.wu.update({ Jobname: jobname }); return context.wu.watchUntilComplete(function () { - context.updateInput("State", "", wu.State); + context.updateInput("State", "", context.wu.State); }); }).then(function () { context.updateInput("State", "", "Publishing"); From e0c57dee961818c27c808eebeac077b8fa9e5f44 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Thu, 19 Oct 2023 17:45:27 -0400 Subject: [PATCH 08/14] HPCC-30415 ECL Watch v9 fix Add User to Group username label Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/GroupMembers.tsx | 2 +- esp/src/src-react/components/forms/GroupAddUser.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/esp/src/src-react/components/GroupMembers.tsx b/esp/src/src-react/components/GroupMembers.tsx index 53a714191c1..5cd1cfb5930 100644 --- a/esp/src/src-react/components/GroupMembers.tsx +++ b/esp/src/src-react/components/GroupMembers.tsx @@ -58,7 +58,7 @@ export const GroupMembers: React.FunctionComponent = ({ const columns = React.useMemo((): FluentColumns => { return { username: { - label: nlsHPCC.UserName, + label: nlsHPCC.Username, formatter: (_name, idx) => { return {_name}; } diff --git a/esp/src/src-react/components/forms/GroupAddUser.tsx b/esp/src/src-react/components/forms/GroupAddUser.tsx index 182759d0246..08230ac5007 100644 --- a/esp/src/src-react/components/forms/GroupAddUser.tsx +++ b/esp/src/src-react/components/forms/GroupAddUser.tsx @@ -81,7 +81,7 @@ export const GroupAddUserForm: React.FunctionComponent = ({ key={fieldName} groupname={groupname} required={true} - label={nlsHPCC.GroupName} + label={nlsHPCC.Username} selectedKey={value} onChange={(evt, option) => { onChange(option.key); From dbb273763068b801d22591f995919191e16e4498 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Mon, 23 Oct 2023 14:29:15 +0100 Subject: [PATCH 09/14] HPCC-30617 Up default Dali terminationGracePeriodSeconds and allow to be configurable. Signed-off-by: Jake Smith --- helm/hpcc/templates/dali.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index b3a336ad701..77afa7b8280 100644 --- a/helm/hpcc/templates/dali.yaml +++ b/helm/hpcc/templates/dali.yaml @@ -101,6 +101,7 @@ spec: spec: {{- include "hpcc.placementsByPodTargetType" (dict "root" $ "pod" $dali.name "type" "dali") | indent 6 }} serviceAccountName: "hpcc-dali" + terminationGracePeriodSeconds: {{ .terminationGracePeriodSeconds | default 3600 }} initContainers: {{- include "hpcc.createConfigInitContainers" (dict "root" $ "me" $dali "includeCategories" $tmpDaliScope.aggregatePlaneCategories "includeNames" $tmpDaliScope.aggregateSashaNamedPlanes) | indent 6 }} {{- include "hpcc.addImagePullSecrets" $commonCtx | nindent 6 -}} From 548b1042d3199c052419c1223e83dac1b5291fd4 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Mon, 23 Oct 2023 14:31:40 +0100 Subject: [PATCH 10/14] HPCC-30628 Add initNullConfiguration for CLI's without configuration Call initNullConfiguration() in tools that have no configuration, allowing them to be used in k8s in circumstances where they previously failed when underlying common code called getComponentConfig or getGlobalConfig. Signed-off-by: Jake Smith --- dali/dalidiag/dalidiag.cpp | 2 ++ dali/dalistop/dalistop.cpp | 31 ++++++++++++++++++++----------- dali/sasha/sasha.cpp | 2 ++ system/jlib/jptree.cpp | 8 ++++++++ system/jlib/jptree.hpp | 1 + 5 files changed, 33 insertions(+), 11 deletions(-) diff --git a/dali/dalidiag/dalidiag.cpp b/dali/dalidiag/dalidiag.cpp index 9fc16b59607..da15a672539 100644 --- a/dali/dalidiag/dalidiag.cpp +++ b/dali/dalidiag/dalidiag.cpp @@ -532,6 +532,8 @@ int main(int _argc, char* argv[]) } try { + initNullConfiguration(); + Owned group = createIGroup(epa); assertex(group); initClientProcess(group, DCR_DaliDiag, 0, NULL, NULL, MP_WAIT_FOREVER); diff --git a/dali/dalistop/dalistop.cpp b/dali/dalistop/dalistop.cpp index 63eda00220c..e3c74a4823a 100644 --- a/dali/dalistop/dalistop.cpp +++ b/dali/dalistop/dalistop.cpp @@ -24,6 +24,13 @@ #include "daclient.hpp" +static void usage() +{ + printf("usage: dalistop [/nowait]\n"); + printf("eg: dalistop . -- stop dali server running locally\n"); + printf(" dalistop eq0001016 -- stop dali server running remotely\n"); +} + int main(int argc, const char* argv[]) { InitModuleObjects(); @@ -34,23 +41,25 @@ int main(int argc, const char* argv[]) const char *server = nullptr; if (argc<2) { - // with no args, use port from daliconfig if present (used by init scripts) - Owned daliConfigFile = createIFile("daliconf.xml"); - if (daliConfigFile->exists()) - { - Owned daliConfig = createPTree(*daliConfigFile, ipt_caseInsensitive); - port = daliConfig->getPropInt("@port", DALI_SERVER_PORT); - server = "."; - } + if (isContainerized()) + usage(); else { - printf("usage: dalistop [/nowait]\n"); - printf("eg: dalistop . -- stop dali server running locally\n"); - printf(" dalistop eq0001016 -- stop dali server running remotely\n"); + // with no args, use port from daliconfig if present (used by init scripts) + Owned daliConfigFile = createIFile("daliconf.xml"); + if (daliConfigFile->exists()) + { + Owned daliConfig = createPTree(*daliConfigFile, ipt_caseInsensitive); + port = daliConfig->getPropInt("@port", DALI_SERVER_PORT); + server = "."; + } + else + usage(); } } else { + initNullConfiguration(); server = argv[1]; port = DALI_SERVER_PORT; } diff --git a/dali/sasha/sasha.cpp b/dali/sasha/sasha.cpp index 3f7b02de1ce..920cdaf1385 100644 --- a/dali/sasha/sasha.cpp +++ b/dali/sasha/sasha.cpp @@ -406,6 +406,8 @@ int main(int argc, char* argv[]) EnableSEHtoExceptionMapping(); Thread::setDefaultStackSize(0x10000); try { + initNullConfiguration(); + startMPServer(0); attachStandardFileLogMsgMonitor("sasha.log", NULL, MSGFIELD_STANDARD, MSGAUD_all, MSGCLS_all, TopDetail, LOGFORMAT_table, true); queryStderrLogMsgHandler()->setMessageFields(MSGFIELD_prefix); diff --git a/system/jlib/jptree.cpp b/system/jlib/jptree.cpp index e4afee9e170..a6b2391d642 100644 --- a/system/jlib/jptree.cpp +++ b/system/jlib/jptree.cpp @@ -9099,6 +9099,14 @@ void replaceComponentConfig(IPropertyTree *newComponentConfig, IPropertyTree *ne executeConfigUpdaterCallbacks(); } +void initNullConfiguration() +{ + if (componentConfiguration || globalConfiguration) + throw makeStringException(99, "Configuration has already been initialised"); + componentConfiguration.setown(createPTree()); + globalConfiguration.setown(createPTree()); +} + class CYAMLBufferReader : public CInterfaceOf { protected: diff --git a/system/jlib/jptree.hpp b/system/jlib/jptree.hpp index 32885b51ffe..b3dc69c6fdd 100644 --- a/system/jlib/jptree.hpp +++ b/system/jlib/jptree.hpp @@ -320,6 +320,7 @@ jlib_decl IPropertyTree * loadArgsIntoConfiguration(IPropertyTree *config, const jlib_decl IPropertyTree * loadConfiguration(IPropertyTree * defaultConfig, const char * * argv, const char * componentTag, const char * envPrefix, const char * legacyFilename, IPropertyTree * (mapper)(IPropertyTree *), const char *altNameAttribute=nullptr, bool monitor=true); jlib_decl IPropertyTree * loadConfiguration(const char * defaultYaml, const char * * argv, const char * componentTag, const char * envPrefix, const char * legacyFilename, IPropertyTree * (mapper)(IPropertyTree *), const char *altNameAttribute=nullptr, bool monitor=true); jlib_decl void replaceComponentConfig(IPropertyTree *newComponentConfig, IPropertyTree *newGlobalConfig); +jlib_decl void initNullConfiguration(); jlib_decl IPropertyTree * getCostsConfiguration(); //The following can only be called after loadConfiguration has been called. All components must call loadConfiguration(). From 46fcc5eff84fa3b5279590638a94fd8a87ba2b0b Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Tue, 24 Oct 2023 13:13:20 +0100 Subject: [PATCH 11/14] HPCC-30642 Update helm schema for terminationGracePeriodSeconds Signed-off-by: Jake Smith --- helm/hpcc/values.schema.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/helm/hpcc/values.schema.json b/helm/hpcc/values.schema.json index 39f45fcd332..c4ca7834b5a 100644 --- a/helm/hpcc/values.schema.json +++ b/helm/hpcc/values.schema.json @@ -1271,6 +1271,10 @@ }, "egress": { "$ref" : "#/definitions/egress" + }, + "terminationGracePeriodSeconds": { + "$ref": "#/definitions/terminationGracePeriodSeconds", + "default": 3600 } } }, @@ -1342,6 +1346,9 @@ "type": "string", "description": "The default repo version used if not supplied for the defaultRepo" }, + "terminationGracePeriodSeconds": { + "$ref": "#/definitions/terminationGracePeriodSeconds" + }, "resources": { "$ref": "#/definitions/resources" }, @@ -1384,6 +1391,9 @@ }, "resources": { "$ref": "#/definitions/resources" + }, + "terminationGracePeriodSeconds": { + "$ref": "#/definitions/terminationGracePeriodSeconds" } } }, @@ -3166,6 +3176,12 @@ } }, "required": [ "name", "type", "target" ] + }, + "terminationGracePeriodSeconds": { + "type": "integer", + "description": "Period permitted for component to terminate gracefully before being killed by Kubernetes", + "default": 600, + "minimum": 0 } } } From e1c1c0da547cf7a0f3ff3e8298075499c77565e5 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Tue, 24 Oct 2023 18:35:25 +0100 Subject: [PATCH 12/14] HPCC-30330 NetworkPolicy needed for sasha ingress from eclwatch Signed-off-by: Jake Smith --- helm/hpcc/templates/esp.yaml | 3 +++ helm/hpcc/templates/network.yaml | 15 +++++++++++++++ helm/hpcc/templates/sasha.yaml | 1 + 3 files changed, 19 insertions(+) diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 4f124ba61ff..810fdb278c9 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -116,6 +116,9 @@ spec: run: {{ .name | quote }} server: {{ .name | quote }} accessDali: "yes" +{{- if eq .application "eclwatch" }} + accessSasha: "yes" +{{- end }} app: {{ $application }} helmVersion: 9.2.31-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "name" $application "component" "esp" "instance" .name) | indent 8 }} diff --git a/helm/hpcc/templates/network.yaml b/helm/hpcc/templates/network.yaml index 80d31b1617b..9bbc2e3d673 100644 --- a/helm/hpcc/templates/network.yaml +++ b/helm/hpcc/templates/network.yaml @@ -157,6 +157,21 @@ spec: matchLabels: app: eclservices --- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: sasha-server +spec: + podSelector: + matchLabels: + app: sasha + ingress: + - from: + - podSelector: + matchLabels: + accessSasha: "yes" +--- + ## ## Provides access to pods labeled prometheusMetricsReporter: "yes" ## onto port declared in global.metrics.sinks[type=prometheus].configuration.port diff --git a/helm/hpcc/templates/sasha.yaml b/helm/hpcc/templates/sasha.yaml index 54ff10416ff..6e0b5642126 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -51,6 +51,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "sasha" "name" "sasha" "instance" $serviceName) | indent 8 }} run: {{ $serviceName | quote }} server: {{ $serviceName | quote }} + app: sasha accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} helmVersion: 9.2.31-closedown0 {{- if hasKey $sasha "labels" }} From f1da8e2ff2b17992412829476a47cbed70b6a5fc Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Thu, 26 Oct 2023 09:11:12 -0400 Subject: [PATCH 13/14] HPCC-30528 ECL Watch v9 higher precision for costs less than 1.00 Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src/Session.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/esp/src/src/Session.ts b/esp/src/src/Session.ts index d24351a7771..6d86536a919 100644 --- a/esp/src/src/Session.ts +++ b/esp/src/src/Session.ts @@ -48,13 +48,15 @@ getBuildInfo().then(info => { dojoConfig.currencyCode = info["currencyCode"] ?? ""; }); -const format = d3Format(",.2f"); +const formatTwoDigits = d3Format(",.2f"); +const formatSixDigits = d3Format(",.6f"); export function formatCost(value): string { if (isNaN(value)) { logger.debug(`formatCost called for a nullish value: ${value}`); return ""; } const _number = typeof value === "string" ? Number(value) : value; + const format = (_number > 0 && _number < 1) ? formatSixDigits : formatTwoDigits; return `${format(_number)} (${dojoConfig?.currencyCode || "USD"})`; } From e3d7c2400cb5ccfa096bb104d6adbfa2c8d52789 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 26 Oct 2023 17:14:19 +0100 Subject: [PATCH 14/14] Split off 9.2.32 Signed-off-by: Gordon 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 57517cb36b9..fb4b1bc73d1 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: 9.2.31-closedown0 +version: 9.2.33-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: 9.2.31-closedown0 +appVersion: 9.2.33-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index fde95ff039f..1737b4ae0a1 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1384,7 +1384,7 @@ kind: Service metadata: name: {{ $lvars.serviceName | quote }} labels: - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 128a8f0de56..a4d9fc12939 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: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 annotations: checksum/config: {{ $configSHA }} spec: diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index 77afa7b8280..42718650130 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: 9.2.31-closedown0 + helmVersion: 9.2.33-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 f932435b704..dc3b8dd83c3 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: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclagent.yaml b/helm/hpcc/templates/eclagent.yaml index 51f09faeb00..b83877e22d6 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: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -135,7 +135,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclccserver.yaml b/helm/hpcc/templates/eclccserver.yaml index f0755e59df8..0dd4221f4f9 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: 9.2.31-closedown0 + helmVersion: 9.2.33-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: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclscheduler.yaml b/helm/hpcc/templates/eclscheduler.yaml index 70a36e0d205..5258d4db6d4 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: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 810fdb278c9..e31321d0f1f 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -120,7 +120,7 @@ spec: accessSasha: "yes" {{- end }} app: {{ $application }} - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 1f9fdf27b84..d2e12a389b8 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: 9.2.31-closedown0 + helmVersion: 9.2.33-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 c5b8a96ae3e..00c235208c4 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: 9.2.31-closedown0 + helmVersion: 9.2.33-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: 9.2.31-closedown0 + helmVersion: 9.2.33-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: 9.2.31-closedown0 + helmVersion: 9.2.33-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: 9.2.31-closedown0 + helmVersion: 9.2.33-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 6e0b5642126..8dcb7cdce91 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -53,7 +53,7 @@ spec: server: {{ $serviceName | quote }} app: sasha accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 28f5cc9f625..43b8c2d7aa8 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -82,7 +82,7 @@ data: labels: accessDali: "yes" accessEsp: "yes" - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 }} @@ -147,7 +147,7 @@ data: accessEsp: "yes" app: "thor" component: "thormanager" - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 }} @@ -214,7 +214,7 @@ data: accessEsp: "yes" app: "thor" component: "thorworker" - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 }} @@ -347,7 +347,7 @@ spec: accessEsp: {{ $commonCtx.eclAgentUseChildProcesses | ternary "yes" "no" | quote }} app: "thor" component: "thor-eclagent" - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-closedown0 instance: {{ $commonCtx.eclAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.eclAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} @@ -412,7 +412,7 @@ spec: accessEsp: "no" app: "thor" component: "thor-thoragent" - helmVersion: 9.2.31-closedown0 + helmVersion: 9.2.33-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 b0a307c4ba4..b8742aa56dc 100644 --- a/version.cmake +++ b/version.cmake @@ -5,7 +5,7 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 9 ) set ( HPCC_MINOR 2 ) -set ( HPCC_POINT 31 ) +set ( HPCC_POINT 33 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) ###