This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cloudstack-primate.git
The following commit(s) were added to refs/heads/master by this push: new 445e423 compute: cks cluster async actions fix (#331) 445e423 is described below commit 445e4236272467bf85173368e9d3b2c6b4037a7e Author: Abhishek Kumar <abhishek.mr...@gmail.com> AuthorDate: Mon May 11 16:08:35 2020 +0530 compute: cks cluster async actions fix (#331) Fixes Poll cluster async actions Fixes related to scale cluster Action labels from translations Signed-off-by: Abhishek Kumar <abhishek.mr...@gmail.com> --- src/components/widgets/Status.vue | 2 ++ src/config/section/compute.js | 19 ++++++------------- src/config/section/image.js | 6 +++--- src/locales/en.json | 9 +++++++++ src/views/compute/CreateKubernetesCluster.vue | 17 ++++++++++++++++- src/views/compute/ScaleKubernetesCluster.vue | 24 +++++++++++++++++++----- src/views/compute/UpgradeKubernetesCluster.vue | 19 ++++++++++++++++++- 7 files changed, 73 insertions(+), 23 deletions(-) diff --git a/src/components/widgets/Status.vue b/src/components/widgets/Status.vue index 75222a1..01f2ece 100644 --- a/src/components/widgets/Status.vue +++ b/src/components/widgets/Status.vue @@ -75,6 +75,8 @@ export default { case 'Starting': case 'Stopping': case 'Scheduled': + case 'Scaling': + case 'Upgrading': status = 'processing' break case 'Alert': diff --git a/src/config/section/compute.js b/src/config/section/compute.js index 25e3c68..ce8d2b2 100644 --- a/src/config/section/compute.js +++ b/src/config/section/compute.js @@ -352,7 +352,7 @@ export default { { api: 'createKubernetesCluster', icon: 'plus', - label: 'Create Kubernetes Cluster', + label: 'label.kubernetes.cluster.create', listView: true, popup: true, component: () => import('@/views/compute/CreateKubernetesCluster.vue') @@ -360,28 +360,21 @@ export default { { api: 'startKubernetesCluster', icon: 'caret-right', - label: 'Start Kubernetes Cluster', + label: 'label.kubernetes.cluster.start', dataView: true, show: (record) => { return ['Stopped'].includes(record.state) } }, { api: 'stopKubernetesCluster', icon: 'stop', - label: 'Stop Kubernetes Cluster', + label: 'label.kubernetes.cluster.stop', dataView: true, show: (record) => { return !['Stopped'].includes(record.state) } }, - // { - // api: 'getKubernetesClusterConfig', - // icon: 'cloud-download', - // label: 'Download Cluster Config', - // dataView: true, - // show: (record) => { return !['Stopped'].includes(record.state) } - // }, { api: 'scaleKubernetesCluster', icon: 'swap', - label: 'Scale Kubernetes Cluster', + label: 'label.kubernetes.cluster.scale', dataView: true, show: (record) => { return ['Created', 'Running'].includes(record.state) }, popup: true, @@ -390,7 +383,7 @@ export default { { api: 'upgradeKubernetesCluster', icon: 'plus-circle', - label: 'Upgrade Kubernetes Cluster', + label: 'label.kubernetes.cluster.upgrade', dataView: true, show: (record) => { return ['Created', 'Running'].includes(record.state) }, popup: true, @@ -399,7 +392,7 @@ export default { { api: 'deleteKubernetesCluster', icon: 'delete', - label: 'Delete Kubernetes Cluster', + label: 'label.kubernetes.cluster.delete', dataView: true, show: (record) => { return !['Destroyed', 'Destroying'].includes(record.state) } } diff --git a/src/config/section/image.js b/src/config/section/image.js index 39df4f2..9b0276e 100644 --- a/src/config/section/image.js +++ b/src/config/section/image.js @@ -185,7 +185,7 @@ export default { { api: 'addKubernetesSupportedVersion', icon: 'plus', - label: 'Add Kubernetes Version', + label: 'label.kubernetes.version.add', listView: true, popup: true, component: () => import('@/views/image/AddKubernetesSupportedVersion.vue') @@ -193,7 +193,7 @@ export default { { api: 'updateKubernetesSupportedVersion', icon: 'edit', - label: 'Update Kuberntes Version', + label: 'label.kubernetes.version.update', dataView: true, popup: true, component: () => import('@/views/image/UpdateKubernetesSupportedVersion.vue') @@ -201,7 +201,7 @@ export default { { api: 'deleteKubernetesSupportedVersion', icon: 'delete', - label: 'Delete Kubernetes Version', + label: 'label.kubernetes.version.update', dataView: true } ] diff --git a/src/locales/en.json b/src/locales/en.json index 1905f31..3134b00 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -600,6 +600,15 @@ "label.interval.weekly": "Every {number}", "label.interval.monthly": "Day {number} of month", "label.japanese.keyboard": "Japanese keyboard", +"label.kubernetes.cluster.create": "Create Kubernetes Cluster", +"label.kubernetes.cluster.delete": "Delete Kubernetes Cluster", +"label.kubernetes.cluster.scale": "Scale Kubernetes Cluster", +"label.kubernetes.cluster.start": "Start Kubernetes Cluster", +"label.kubernetes.cluster.stop": "Stop Kubernetes Cluster", +"label.kubernetes.cluster.Upgrade": "Upgrade Kubernetes Cluster", +"label.kubernetes.version.add": "Add Kubernetes Version", +"label.kubernetes.version.delete": "Delete Kubernetes Version", +"label.kubernetes.version.update": "Update Kubernetes Version", "label.link.domain.to.ldap": "Link Domain to LDAP", "label.local.storage":"Local Storage", "label.make.project.owner": "Make account project owner", diff --git a/src/views/compute/CreateKubernetesCluster.vue b/src/views/compute/CreateKubernetesCluster.vue index 25c1b78..15b9237 100644 --- a/src/views/compute/CreateKubernetesCluster.vue +++ b/src/views/compute/CreateKubernetesCluster.vue @@ -403,7 +403,22 @@ export default { params.keypair = this.keyPairs[values.keypair].id } api('createKubernetesCluster', params).then(json => { - this.$message.success('Successfully created Kubernetes cluster: ' + values.name) + const jobId = json.createkubernetesclusterresponse.jobid + this.$store.dispatch('AddAsyncJob', { + title: this.$t('label.kubernetes.cluster.create'), + jobid: jobId, + description: values.name, + status: 'progress' + }) + this.$pollJob({ + jobId, + loadingMessage: `Create Kubernetes cluster ${values.name} in progress`, + catchMessage: 'Error encountered while fetching async job result', + successMessage: `Successfully created Kubernetes cluster ${values.name}`, + successMethod: result => { + this.$emit('refresh-data') + } + }) }).catch(error => { this.$notifyError(error) }).finally(() => { diff --git a/src/views/compute/ScaleKubernetesCluster.vue b/src/views/compute/ScaleKubernetesCluster.vue index c30b421..c07890f 100644 --- a/src/views/compute/ScaleKubernetesCluster.vue +++ b/src/views/compute/ScaleKubernetesCluster.vue @@ -25,7 +25,7 @@ <a-form-item :label="$t('cks.cluster.size')"> <a-input v-decorator="['size', { - initialValue: '1', + initialValue: originalSize, rules: [{ validator: (rule, value, callback) => { if (value && (isNaN(value) || value <= 0)) { @@ -76,7 +76,6 @@ export default { }, data () { return { - originalSize: 1, serviceOfferings: [], serviceOfferingLoading: false, minCpu: 2, @@ -93,13 +92,13 @@ export default { }) }, created () { + this.originalSize = !this.isObjectEmpty(this.resource) ? this.resource.size : 1 }, mounted () { this.fetchData() }, methods: { fetchData () { - this.originalSize = !this.isObjectEmpty(this.resource) ? 1 : this.resource.size this.fetchKubernetesVersionData() }, isValidValueForKey (obj, key) { @@ -165,13 +164,28 @@ export default { id: this.resource.id } if (this.isValidValueForKey(values, 'size') && values.size > 0) { - params.kubernetesversionid = this.kubernetesVersions[values.kubernetesversionid].id + params.size = values.size } if (this.isValidValueForKey(values, 'serviceofferingid') && this.arrayHasItems(this.serviceOfferings)) { params.serviceofferingid = this.serviceOfferings[values.serviceofferingid].id } api('scaleKubernetesCluster', params).then(json => { - this.$message.success('Successfully scaled Kubernetes cluster: ' + this.resource.name) + const jobId = json.scalekubernetesclusterresponse.jobid + this.$store.dispatch('AddAsyncJob', { + title: this.$t('label.kubernetes.cluster.scale'), + jobid: jobId, + description: this.resource.name, + status: 'progress' + }) + this.$pollJob({ + jobId, + loadingMessage: `Scale Kubernetes cluster ${this.resource.name} in progress`, + catchMessage: 'Error encountered while fetching async job result', + successMessage: `Successfully scaled Kubernetes cluster ${this.resource.name}`, + successMethod: result => { + this.$emit('refresh-data') + } + }) }).catch(error => { this.$notifyError(error) }).finally(() => { diff --git a/src/views/compute/UpgradeKubernetesCluster.vue b/src/views/compute/UpgradeKubernetesCluster.vue index bd96ae9..78dfaab 100644 --- a/src/views/compute/UpgradeKubernetesCluster.vue +++ b/src/views/compute/UpgradeKubernetesCluster.vue @@ -147,7 +147,24 @@ export default { params.kubernetesversionid = this.kubernetesVersions[values.kubernetesversionid].id } api('upgradeKubernetesCluster', params).then(json => { - this.$message.success('Successfully upgraded Kubernetes cluster: ' + this.resource.name) + this.$emit('refresh-data') + const jobId = json.upgradekubernetesclusterresponse.jobid + this.$store.dispatch('AddAsyncJob', { + title: this.$t('label.kubernetes.cluster.upgrade'), + jobid: jobId, + description: this.resource.name, + status: 'progress' + }) + this.$pollJob({ + jobId, + loadingMessage: `Upgrade Kubernetes cluster ${this.resource.name} in progress`, + catchMessage: 'Error encountered while fetching async job result', + successMessage: `Successfully upgraded Kubernetes cluster ${this.resource.name}`, + successMethod: result => { + this.$emit('refresh-data') + console.log('hello!') + } + }) }).catch(error => { this.$notifyError(error) }).finally(() => {