Add scaleIn actions and scripts
Change-Id: I77cd4d27f7d7379ba91350838aab2c818af0db4f
This commit is contained in:
parent
bee330e9e8
commit
41c5ed8b27
|
@ -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()
|
||||
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue