From 851a6ef24c4be1883ea419e96a6cc184b4d24352 Mon Sep 17 00:00:00 2001 From: Johnny Shum Date: Mon, 31 Oct 2022 12:47:29 -0500 Subject: [PATCH 1/3] Fix due to changes in operator 4.0 for domain status no longer have intropectorJobFailureCount and missing available condtion failure reason. --- electron/app/locales/en/webui.json | 1 + webui/src/js/utils/k8s-domain-actions-base.js | 5 ++++- webui/src/js/viewModels/domain-status-dialog.js | 14 +++++++++++++- webui/src/js/views/domain-status-dialog.html | 15 ++++++++++++--- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/electron/app/locales/en/webui.json b/electron/app/locales/en/webui.json index 81870bbfb..ac3405bb1 100644 --- a/electron/app/locales/en/webui.json +++ b/electron/app/locales/en/webui.json @@ -597,6 +597,7 @@ "domain-design-domain-status-title": "Domain Status", "domain-design-domain-status-overallstatus": "Domain Status:", "domain-design-domain-status-introspectJobFailureCount": "Introspect Job Failure Count:", + "domain-design-domain-status-observedGeneration": "Observed Generation:", "domain-design-domain-status-message": "Last Error Message:", "domain-design-domain-status-conditions": "Conditions:", "domain-design-domain-status-clusterstatus": "Cluster Status:", diff --git a/webui/src/js/utils/k8s-domain-actions-base.js b/webui/src/js/utils/k8s-domain-actions-base.js index 3251d1215..f3911da09 100644 --- a/webui/src/js/utils/k8s-domain-actions-base.js +++ b/webui/src/js/utils/k8s-domain-actions-base.js @@ -117,7 +117,10 @@ function (WktActionsBase, project, wktConsole, i18n, projectIo, dialogHelper) { } else if (completeCondition.status === 'False' && availableCondition.status === 'False') { result['domainOverallStatus'] = i18n.t('k8s-domain-status-checker-domain-status-available', {reason: latestCondition.reason}); - } else { + } else if (completeCondition.status === 'True' && availableCondition.status === 'False') { + result['domainOverallStatus'] = i18n.t('k8s-domain-status-checker-domain-status-available', + {reason: latestCondition.reason}); + } else { // should never happened? result['domainOverallStatus'] = i18n.t('k8s-domain-status-checker-domain-status-unknown', {reason: latestCondition.reason}); diff --git a/webui/src/js/viewModels/domain-status-dialog.js b/webui/src/js/viewModels/domain-status-dialog.js index 220111b2c..1159cfd00 100644 --- a/webui/src/js/viewModels/domain-status-dialog.js +++ b/webui/src/js/viewModels/domain-status-dialog.js @@ -52,13 +52,25 @@ function(accUtils, ko, jsyaml, i18n, project) { this.domainServerStatus = ''; this.introspectJobFailureCount = 0; this.domainHasError = false; + this.isOperatorVersion4orHigher = false; + + if ('installedVersion' in this.project.wko && this.project.wko.installedVersion.value.startsWith('4')) { + this.isOperator4orHigher = true; + } else if (! 'installedVersion' in this.project.wko ) { + this.isOperator4orHigher = true; + } if ('status' in this.domainStatus && 'conditions' in this.domainStatus.status) { this.domainConditions = this.makeYamlOutput(this.domainStatus.status.conditions); this.domainClusterStatus = this.makeYamlOutput(this.domainStatus.status.clusters); this.domainServerStatus = this.makeYamlOutput(this.domainStatus.status.servers); this.domainName = this.domainStatus.spec.domainUID; - this.introspectJobFailureCount = this.domainStatus.status.introspectJobFailureCount; + if (this.isOperatorVersion4orHigher) { + this.introspectJobFailureCount = this.domainStatus.status.observedGeneration; + } else { + this.introspectJobFailureCount = this.domainStatus.status.introspectJobFailureCount; + } + const conditions = this.domainStatus.status.conditions; conditions.sort((a, b) => { if ( a.lastTransitionTime < b.lastTransitionTime ){ diff --git a/webui/src/js/views/domain-status-dialog.html b/webui/src/js/views/domain-status-dialog.html index 0e994fb42..444a3473a 100644 --- a/webui/src/js/views/domain-status-dialog.html +++ b/webui/src/js/views/domain-status-dialog.html @@ -18,9 +18,18 @@
- - - + + + + + + + + + + + +
From c771eaf75f64b27f0fd834e9794e61c532470c1e Mon Sep 17 00:00:00 2001 From: Johnny Shum Date: Mon, 31 Oct 2022 12:58:37 -0500 Subject: [PATCH 2/3] Fix refactoring error --- webui/src/js/viewModels/domain-status-dialog.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webui/src/js/viewModels/domain-status-dialog.js b/webui/src/js/viewModels/domain-status-dialog.js index 1159cfd00..8733635d5 100644 --- a/webui/src/js/viewModels/domain-status-dialog.js +++ b/webui/src/js/viewModels/domain-status-dialog.js @@ -55,11 +55,11 @@ function(accUtils, ko, jsyaml, i18n, project) { this.isOperatorVersion4orHigher = false; if ('installedVersion' in this.project.wko && this.project.wko.installedVersion.value.startsWith('4')) { - this.isOperator4orHigher = true; + this.isOperatorVersion4orHigher = true; } else if (! 'installedVersion' in this.project.wko ) { - this.isOperator4orHigher = true; + this.isOperatorVersion4orHigher = true; } - + if ('status' in this.domainStatus && 'conditions' in this.domainStatus.status) { this.domainConditions = this.makeYamlOutput(this.domainStatus.status.conditions); this.domainClusterStatus = this.makeYamlOutput(this.domainStatus.status.clusters); From 93a0c8a9af8d509c88cc375838d07fcc86c93800 Mon Sep 17 00:00:00 2001 From: Johnny Shum Date: Mon, 31 Oct 2022 13:54:43 -0500 Subject: [PATCH 3/3] per change request --- webui/src/js/viewModels/domain-status-dialog.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/webui/src/js/viewModels/domain-status-dialog.js b/webui/src/js/viewModels/domain-status-dialog.js index 8733635d5..010e8385d 100644 --- a/webui/src/js/viewModels/domain-status-dialog.js +++ b/webui/src/js/viewModels/domain-status-dialog.js @@ -54,18 +54,19 @@ function(accUtils, ko, jsyaml, i18n, project) { this.domainHasError = false; this.isOperatorVersion4orHigher = false; - if ('installedVersion' in this.project.wko && this.project.wko.installedVersion.value.startsWith('4')) { - this.isOperatorVersion4orHigher = true; - } else if (! 'installedVersion' in this.project.wko ) { + if (!project.wko.installedVersion.hasValue() || + window.api.utils.compareVersions(project.wko.installedVersion.value, '4.0.0') >= 0) { this.isOperatorVersion4orHigher = true; } - + if ('status' in this.domainStatus && 'conditions' in this.domainStatus.status) { this.domainConditions = this.makeYamlOutput(this.domainStatus.status.conditions); this.domainClusterStatus = this.makeYamlOutput(this.domainStatus.status.clusters); this.domainServerStatus = this.makeYamlOutput(this.domainStatus.status.servers); this.domainName = this.domainStatus.spec.domainUID; if (this.isOperatorVersion4orHigher) { + // 4.0 higher is not named introspectJobFailureCount but observeredGeneation in the status + // text in the diaglog have been changed to Observed Generation to match, this is just a holder of the value this.introspectJobFailureCount = this.domainStatus.status.observedGeneration; } else { this.introspectJobFailureCount = this.domainStatus.status.introspectJobFailureCount;