Add scaleIn actions and scripts

Change-Id: I77cd4d27f7d7379ba91350838aab2c818af0db4f
This commit is contained in:
Snihyr Kostyantyn 2016-08-23 16:43:42 +03:00 committed by Konstantin Snihyr
parent bee330e9e8
commit 41c5ed8b27
9 changed files with 109 additions and 4 deletions

View File

@ -149,4 +149,37 @@ Methods:
Body:
- $this.components.where($ is components:Ralf).first().scaleOut()
scaleInSprout:
Meta:
- meta:Title:
text: "Scale in Sprout"
Scope: Public
Body:
- $this.components.where($ is components:Sprout).first().scaleIn()
scaleInBono:
Meta:
- meta:Title:
text: "Scale in Bono"
Scope: Public
Body:
- $this.components.where($ is components:Bono).first().scaleIn()
scaleInHomestead:
Meta:
- meta:Title:
text: "Scale in Homestead"
Scope: Public
Body:
- $this.components.where($ is components:Homestead).first().scaleIn()
scaleInRalf:
Meta:
- meta:Title:
text: "Scale in Ralf"
Scope: Public
Body:
- $this.components.where($ is components:Ralf).first().scaleIn()

View File

@ -21,6 +21,24 @@ Namespaces:
--- #-------------------------------------------------------------# ---
Name: ClearwaterServerProvider
Extends: apps:TemplateServerProvider
Methods:
releaseReplicas:
Arguments:
replicas:
Contract:
- $.class(res:Instance)
Body:
- $owner: $.find(ClearwaterComponentBase)
- $replicas.select($owner.releaseServer($))
- cast($this, apps:TemplateServerProvider).releaseReplicas($replicas)
--- #-------------------------------------------------------------# ---
Name: ClearwaterComponentBase
Extends:
@ -37,7 +55,7 @@ Properties:
Usage: Out
serverProvider:
Contract: $.class(apps:TemplateServerProvider)
Contract: $.class(ClearwaterServerProvider)
Usage: Out
Methods:
@ -57,7 +75,8 @@ Methods:
"%PRIVATE_NETWORK_GATEWAY%": $instance.joinedNetworks.first().network.describe().gateway
"%ZONE%": $.parent.dnsApp.zoneName
"%DNSSEC_KEY%": $.parent.dnsApp.dnsSecKey
"%DNS_PRIVATE_IP%": $.parent.dnsApp.instance.joinedNetworks.first().ipList.where($ = $instance.floatingIpAddress).first()
"%DNS_PRIVATE_IP%": $.parent.dnsApp.instance.joinedNetworks.first().ipList
.where($ = $instance.floatingIpAddress).first()
"%ETCD_IP%": $.parent.etcdClusterIp or $instancePrivateIp
getDeployScriptName:
@ -73,7 +92,7 @@ Methods:
- $._environment: $.find(std:Environment).require()
- $.componentName: typeinfo($).name.split(".").last()
- $.parent: $.find(cw:Clearwater).require()
- $.serverProvider: $.serverProvider or new(apps:TemplateServerProvider, $this,
- $.serverProvider: $.serverProvider or new(ClearwaterServerProvider, $this,
template => $.parent.instanceTemplate,
serverNamePattern => $this.componentName + "-{}")
- $.cluster: $.cluster or new(apps:ServerReplicationGroup, $this,
@ -110,6 +129,15 @@ Methods:
- $file: sys:Resources.string($.getConfigureScriptName()).replace($replacements)
- conf:Linux.runCommand($instance.agent, $file)
releaseServer:
Arguments:
- instance:
Contract: $.class(res:LinuxInstance).notNull()
Body:
- $index: $.cluster.getServers().indexWhere($.name = $instance.name)
- $file: sys:Resources.string($.getUninstallScriptName())
- conf:Linux.runCommand($instance.agent, $file)
deploy:

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
monit unmonitor -g bono
sudo service bono quiesce
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
monit unmonitor -g ellis
sudo service ellis stop
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
monit unmonitor -g homer
sudo service homer stop
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
monit unmonitor -g homestead
monit unmonitor -g homestead-prov
sudo service homestead stop && sudo service homestead-prov stop
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
monit unmonitor -g ralf
sudo service ralf stop
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
monit unmonitor -g sprout
sudo service sprout quiesce
sudo monit unmonitor clearwater_cluster_manager
sudo monit unmonitor clearwater_config_manager
sudo monit unmonitor -g etcd
sudo service clearwater-etcd decommission

View File

@ -19,7 +19,7 @@ Description: |
Author: 'Mirantis, Inc'
Tags: [vIMS]
Classes:
com.mirantis.clearwater.components.base.ClearwaterReplicaProvider: components/base/ClearwaterComponentBase.yaml
com.mirantis.clearwater.components.base.ClearwaterServerProvider: components/base/ClearwaterComponentBase.yaml
com.mirantis.clearwater.Clearwater: Clearwater.yaml
com.mirantis.clearwater.components.base.ClearwaterComponentBase: components/base/ClearwaterComponentBase.yaml
com.mirantis.clearwater.components.Bono: components/Bono.yaml