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:
parent
077a3c364b
commit
ac7940a5bb
@ -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()
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user