Class: Scaltainer::DockerService
- Inherits:
-
ReplicaSetBase
- Object
- ReplicaSetBase
- Scaltainer::DockerService
- Defined in:
- lib/scaltainer/orchestrators/swarm.rb
Instance Attribute Summary
Attributes inherited from ReplicaSetBase
#id, #name, #namespace, #type
Instance Method Summary collapse
- #get_replicas ⇒ Object
-
#initialize(service_name, namespace) ⇒ DockerService
constructor
A new instance of DockerService.
- #set_replicas(replicas) ⇒ Object
Constructor Details
#initialize(service_name, namespace) ⇒ DockerService
Returns a new instance of DockerService.
3 4 5 6 7 8 9 10 |
# File 'lib/scaltainer/orchestrators/swarm.rb', line 3 def initialize(service_name, namespace) # set logger? full_name = namespace ? "#{namespace}_#{service_name}" : service_name @service = Docker::Service.all(filters: {name: [full_name]}.to_json)[0] raise "Docker Service not found: #{full_name}" unless @service @id = @service.id super(service_name, 'service', namespace) end |
Instance Method Details
#get_replicas ⇒ Object
12 13 14 15 16 |
# File 'lib/scaltainer/orchestrators/swarm.rb', line 12 def get_replicas replicated = @service.info["Spec"]["Mode"]["Replicated"] raise ConfigurationError.new "Cannot replicate a global service: #{@name}" unless replicated replicated["Replicas"] end |
#set_replicas(replicas) ⇒ Object
18 19 20 |
# File 'lib/scaltainer/orchestrators/swarm.rb', line 18 def set_replicas(replicas) @service.scale replicas end |