From 84da771b594b9f3307ca9be9da475ce94cc78278 Mon Sep 17 00:00:00 2001 From: davidjumani Date: Mon, 28 Sep 2020 16:06:30 +0530 Subject: [PATCH 1/9] Adding warning to scaleKubernetesCluster --- src/config/section/compute.js | 2 +- src/locales/en.json | 1 + src/views/compute/ScaleKubernetesCluster.vue | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config/section/compute.js b/src/config/section/compute.js index d485772e2..786d48b83 100644 --- a/src/config/section/compute.js +++ b/src/config/section/compute.js @@ -450,7 +450,7 @@ export default { api: 'scaleKubernetesCluster', icon: 'swap', label: 'label.kubernetes.cluster.scale', - message: 'message.kubernetes.cluster.scale', + message: 'message.action.scale.kubernetes.cluster.warning', docHelp: 'plugins/cloudstack-kubernetes-service.html#scaling-kubernetes-cluster', dataView: true, show: (record) => { return ['Created', 'Running'].includes(record.state) }, diff --git a/src/locales/en.json b/src/locales/en.json index 096355312..f255d01df 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -2415,6 +2415,7 @@ "message.action.revert.snapshot": "Please confirm that you want to revert the owning volume to this snapshot.", "message.action.router.health.checks": "Health checks result will be fetched from router.", "message.action.router.health.checks.disabled.warning": "Please enable router health checks.", +"message.action.scale.kubernetes.cluster.warning": "Please do not manually scale the cluster if cluster autoscaling is enabled", "message.action.secure.host": "This will restart the host agent and libvirtd process after applying new X509 certificates, please confirm?", "message.action.settings.warning.vm.running": "Please stop the virtual machine to access settings", "message.action.settings.warning.vm.started": "Virtual machine has been started. It needs to be stopped to access settings", diff --git a/src/views/compute/ScaleKubernetesCluster.vue b/src/views/compute/ScaleKubernetesCluster.vue index 8ebc1fb29..6ccefa766 100644 --- a/src/views/compute/ScaleKubernetesCluster.vue +++ b/src/views/compute/ScaleKubernetesCluster.vue @@ -19,7 +19,7 @@
- +
Date: Fri, 9 Oct 2020 15:23:11 +0530 Subject: [PATCH 2/9] Adding option to delete nodes --- src/locales/en.json | 4 ++ src/views/compute/KubernetesServiceTab.vue | 58 +++++++++++++++++++++- 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index f255d01df..3bf96c6dc 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -113,6 +113,7 @@ "label.action.delete.network.processing": "Deleting Network....", "label.action.delete.nexusvswitch": "Delete Nexus 1000v", "label.action.delete.nic": "Remove NIC", +"label.action.delete.node": "Delete node", "label.action.delete.physical.network": "Delete physical network", "label.action.delete.pod": "Delete Pod", "label.action.delete.pod.processing": "Deleting Pod....", @@ -2364,6 +2365,7 @@ "message.action.delete.ingress.rule": "Please confirm that you want to delete this ingress rule.", "message.action.delete.iso": "Please confirm that you want to delete this ISO.", "message.action.delete.iso.for.all.zones": "The ISO is used by all zones. Please confirm that you want to delete it from all zones.", +"message.action.delete.node": "Please confirm that you want to delete this node.", "message.action.delete.network": "Please confirm that you want to delete this network.", "message.action.delete.nexusvswitch": "Please confirm that you want to delete this nexus 1000v", "message.action.delete.physical.network": "Please confirm that you want to delete this physical network", @@ -2648,6 +2650,7 @@ "message.delete.backup": "Are you sure you want to delete the backup?", "message.delete.failed": "Delete fail", "message.delete.gateway": "Please confirm you want to delete the gateway", +"message.deleting.node": "Deleting Node", "message.delete.port.forward.processing": "Deleting Port Forwarding rule...", "message.delete.project": "Are you sure you want to delete this project?", "message.delete.rule.processing": "Deleting rule...", @@ -3102,6 +3105,7 @@ "message.success.delete": "Delete success", "message.success.delete.acl.rule": "Successfully removed ACL rule", "message.success.delete.backup.schedule": "Successfully deleted Configure VM backup schedule", +"message.success.delete.node": "Successfully Deleted Node", "message.success.delete.snapshot.policy": "Successfully deleted snapshot policy", "message.success.delete.static.route": "Successfully deleted static route", "message.success.delete.tag": "Successfully deleted tag", diff --git a/src/views/compute/KubernetesServiceTab.vue b/src/views/compute/KubernetesServiceTab.vue index 20a7fe7f0..0c55c434f 100644 --- a/src/views/compute/KubernetesServiceTab.vue +++ b/src/views/compute/KubernetesServiceTab.vue @@ -93,8 +93,8 @@ @@ -106,6 +106,25 @@ diff --git a/src/views/compute/ScaleKubernetesCluster.vue b/src/views/compute/ScaleKubernetesCluster.vue index 6ccefa766..883cfad2f 100644 --- a/src/views/compute/ScaleKubernetesCluster.vue +++ b/src/views/compute/ScaleKubernetesCluster.vue @@ -26,49 +26,104 @@ :form="form" @submit="handleSubmit" layout="vertical"> - + - {{ $t('label.cks.cluster.size') }} - + {{ $t('label.cks.cluster.autoscalingenabled') }} + - - - - - {{ $t('label.serviceofferingid') }} - - - - - - - {{ opt.name || opt.description }} - - + + + + + {{ $t('label.cks.cluster.minsize') }} + + + + + + + + + {{ $t('label.cks.cluster.maxsize') }} + + + + + + + + + + + {{ $t('label.serviceofferingid') }} + + + + + + + {{ opt.name || opt.description }} + + + + + + {{ $t('label.cks.cluster.size') }} + + + + + + +
{{ this.$t('label.cancel') }} @@ -96,7 +151,11 @@ export default { serviceOfferingLoading: false, minCpu: 2, minMemory: 2048, - loading: false + loading: false, + originalSize: 1, + autoscalingenabled: null, + minsize: null, + maxsize: null } }, beforeCreate () { @@ -108,7 +167,14 @@ export default { }) }, created () { - this.originalSize = !this.isObjectEmpty(this.resource) ? this.resource.size : 1 + if (!this.isObjectEmpty(this.resource)) { + this.originalSize = this.resource.size + if (this.apiParams.autoscalingenabled) { + this.autoscalingenabled = this.resource.autoscalingenabled ? true : null + this.minsize = this.resource.minsize + this.maxsize = this.resource.maxsize + } + } }, mounted () { this.fetchData() @@ -179,12 +245,21 @@ export default { const params = { id: this.resource.id } + if (this.autoscalingenabled != null) { + params.autoscalingenabled = this.autoscalingenabled + } if (this.isValidValueForKey(values, 'size') && values.size > 0) { params.size = values.size } - if (this.isValidValueForKey(values, 'serviceofferingid') && this.arrayHasItems(this.serviceOfferings)) { + if (this.isValidValueForKey(values, 'serviceofferingid') && this.arrayHasItems(this.serviceOfferings) && this.autoscalingenabled == null) { params.serviceofferingid = this.serviceOfferings[values.serviceofferingid].id } + if (this.isValidValueForKey(values, 'minsize')) { + params.minsize = values.minsize + } + if (this.isValidValueForKey(values, 'maxsize')) { + params.maxsize = values.maxsize + } api('scaleKubernetesCluster', params).then(json => { const jobId = json.scalekubernetesclusterresponse.jobid this.$store.dispatch('AddAsyncJob', { From 048ed96a8a1f26cbce1f45d178df34a31617c0d0 Mon Sep 17 00:00:00 2001 From: davidjumani Date: Wed, 28 Oct 2020 22:35:03 +0530 Subject: [PATCH 5/9] Adding autoscalingenabled to ListView --- src/components/view/ListView.vue | 5 +++++ src/config/section/compute.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/view/ListView.vue b/src/components/view/ListView.vue index 7ff0b34c9..ce8121535 100644 --- a/src/components/view/ListView.vue +++ b/src/components/view/ListView.vue @@ -224,6 +224,11 @@ + + + {{ record.autoscalingenabled ? 'Enabled' : 'Disabled' }} + +
diff --git a/src/config/section/compute.js b/src/config/section/compute.js index 5ac50b1f7..ba7d5d104 100644 --- a/src/config/section/compute.js +++ b/src/config/section/compute.js @@ -406,7 +406,7 @@ export default { docHelp: 'plugins/cloudstack-kubernetes-service.html', permission: ['listKubernetesClusters'], columns: () => { - var fields = ['name', 'state', 'size', 'cpunumber', 'memory'] + var fields = ['name', 'state', 'autoscalingenabled', 'size', 'cpunumber', 'memory'] if (['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)) { fields.push('account') } From 89317e948abadfa6bb279140b55d8004d05d68e7 Mon Sep 17 00:00:00 2001 From: davidjumani Date: Thu, 29 Oct 2020 13:07:55 +0530 Subject: [PATCH 6/9] Fix --- src/views/compute/KubernetesServiceTab.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/compute/KubernetesServiceTab.vue b/src/views/compute/KubernetesServiceTab.vue index fe1a07f5e..53856d8a2 100644 --- a/src/views/compute/KubernetesServiceTab.vue +++ b/src/views/compute/KubernetesServiceTab.vue @@ -106,6 +106,7 @@