MasterSlave* classes were deleted

Classes were removed for the following reasons:

1) They doesn't bring any significant value. Especially for complex
    apps where the are supposed to be used
2) The naming is not appropriate
3) There are no appropriate names exist because those classes can
   be equally good used for scenarios where there is a primary/secondary
   nodes, when there are 2 types of nodes with different relations or
   even for just 2-components apps
4) Thus property names like master and slave limit inheritors in
   giving them better names that better reflect component roles
   within the application

Change-Id: Ia47f0ee42e03706223e73eaced44fda8f22fe814
Closes-Bug: #1617363
This commit is contained in:
Stan Lagun 2016-08-29 14:16:44 -07:00
parent 077a3c364b
commit ac7940a5bb
2 changed files with 0 additions and 108 deletions

View File

@ -83,107 +83,3 @@ Methods:
Body:
- $this.servers.scale(-1 * $this.scaleFactor)
- $this.deploy()
--- # ------------------------------------------------------------------ # ---
# A base class for applications which consist of two software components, each
# of them installed and configured on its own group of servers. The first
# component serves as "master", the second as "slave"
# If the ServerGroup for slave is not specified, slave components are installed
# on the same nodes with master
Name: MasterSlaveApplication
Extends: std:Application
Properties:
master:
Contract: $.class(SoftwareComponent).notNull()
slave:
Contract: $.class(SoftwareComponent).notNull()
masterServers:
Contract: $.class(ServerGroup).notNull()
slaveServers:
Contract: $.class(ServerGroup)
masterReadyEvent:
Contract: $.class(Event).notNull()
Usage: Runtime
Default:
name: masterReady
slaveReadyEvent:
Contract: $.class(Event).notNull()
Usage: Runtime
Default:
name: slaveReady
Methods:
deploy:
Body:
- $this.master.deployAt($this.masterServers)
- $this.masterReadyEvent.notify($this)
- $this.onMasterReady()
- $slaveServers: $this.slaveServers or $this.masterServers
- $this.slave.deployAt($slaveServers)
- $this.slaveReadyEvent.notify($this)
- $this.onSlaveReady($this.slave, $slaveServers)
onMasterReady:
onSlaveReady:
--- # ------------------------------------------------------------------ # ---
Name: MasterSlaveApplicationWithMasterScaling
Extends: MasterSlaveApplication
Properties:
masterServers:
Contract: $.class(ServerReplicationGroup).notNull()
masterScaleFactor:
Contract: $.int().check($>0)
Default: 1
Methods:
scaleOutMaster:
Scope: Public
Body:
- $this.masterServers.scale($this.masterScaleFactor)
- $this.deploy()
scaleInMaster:
Scope: Public
Body:
- $this.masterServers.scale(-1 * $this.masterScaleFactor)
- $this.deploy()
--- # ------------------------------------------------------------------ # ---
Name: MasterSlaveApplicationWithSlaveScaling
Extends: MasterSlaveApplication
Properties:
slaveServers:
Contract: $.class(ServerReplicationGroup).notNull()
slaveScaleFactor:
Contract: $.int().check($ > 0)
Default: 1
Methods:
scaleOutSlave:
Scope: Public
Body:
- $this.slaveServers.scale($this.slaveScaleFactor)
- $this.deploy()
scaleInMaster:
Scope: Public
Body:
- $this.slaveServers.scale(-1 * $this.slaveScaleFactor)
- $this.deploy()

View File

@ -48,10 +48,6 @@ Classes:
io.murano.applications.SingleServerApplication: baseapps.yaml
io.murano.applications.MultiServerApplication: baseapps.yaml
io.murano.applications.MultiServerApplicationWithScaling: baseapps.yaml
io.murano.applications.MasterSlaveApplication: baseapps.yaml
io.murano.applications.MasterSlaveApplicationWithMasterScaling: baseapps.yaml
io.murano.applications.MasterSlaveApplicationWithSlaveScaling: baseapps.yaml
# Tests
io.murano.applications.tests.TestReplication: tests/TestReplication.yaml