Page MenuHomeSoftware Heritage

swarm.rb
No OneTemporary

swarm.rb

shared_examples 'swarm' do |_title, _params, _facts, _defaults|
ensure_value = _params['ensure']
init = _params['init']
join = _params['join']
advertise_addr = _params['advertise_addr']
autolock = _params['autolock']
cert_expiry = _params['cert_expiry']
default_addr_pool = _params['default_addr_pool']
default_addr_pool_mask_length = _params['default_addr_pool_mask_length']
dispatcher_heartbeat = _params['dispatcher_heartbeat']
external_ca = _params['external_ca']
force_new_cluster = _params['force_new_cluster']
listen_addr = _params['listen_addr']
max_snapshots = _params['max_snapshots']
snapshot_interval = _params['snapshot_interval']
token = _params['token']
manager_ip = _params['manager_ip']
if _facts[:os]['family'] == 'windows'
exec_environment = "PATH=#{_facts['docker_program_files_path']}/Docker/"
exec_path = ["#{_facts['docker_program_files_path']}/Docker/"]
exec_timeout = 3000
exec_provider = 'powershell'
unless_init = '$info = docker info | select-string -pattern "Swarm: active"
if ($info -eq $null) { Exit 1 } else { Exit 0 }'
unless_join = '$info = docker info | select-string -pattern "Swarm: active"
if ($info -eq $null) { Exit 1 } else { Exit 0 }'
onlyif_leave = '$info = docker info | select-string -pattern "Swarm: active"
if ($info -eq $null) { Exit 1 } else { Exit 0 }'
else
exec_environment = 'HOME=/root'
exec_path = ['/bin', '/usr/bin']
exec_timeout = 0
exec_provider = nil
unless_init = 'docker info | grep -w "Swarm: active"'
unless_join = 'docker info | grep -w "Swarm: active"'
onlyif_leave = 'docker info | grep -w "Swarm: active"'
end
docker_command = "#{_defaults['docker_command']} swarm"
if init
docker_swarm_init_flags = get_docker_swarm_init_flags(
'init' => init,
'advertise_addr' => advertise_addr,
'autolock' => autolock,
'cert_expiry' => cert_expiry,
'dispatcher_heartbeat' => dispatcher_heartbeat,
'default_addr_pool' => default_addr_pool,
'default_addr_pool_mask_length' => default_addr_pool_mask_length,
'external_ca' => external_ca,
'force_new_cluster' => force_new_cluster,
'listen_addr' => listen_addr,
'max_snapshots' => max_snapshots,
'snapshot_interval' => snapshot_interval,
)
exec_init = "#{docker_command} #{docker_swarm_init_flags}"
it {
is_expected.to contain_exec('Swarm init').with(
'command' => exec_init,
'environment' => exec_environment,
'path' => exec_path,
'provider' => exec_provider,
'timeout' => exec_timeout,
'unless' => unless_init,
)
}
end
if join
docker_swarm_join_flags = get_docker_swarm_join_flags(
'join' => join,
'advertise_addr' => advertise_addr,
'listen_addr' => listen_addr,
'token' => token,
)
exec_join = "#{docker_command} #{docker_swarm_join_flags} #{manager_ip}"
it {
is_expected.to contain_exec('Swarm join').with(
'command' => exec_join,
'environment' => exec_environment,
'path' => exec_path,
'provider' => exec_provider,
'timeout' => exec_timeout,
'unless' => unless_join,
)
}
end
if ensure_value == 'absent'
it {
is_expected.to contain_exec('Leave swarm').with(
'command' => 'docker swarm leave --force',
'onlyif' => onlyif_leave,
'path' => exec_path,
'provider' => exec_provider,
)
}
end
end

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 21, 9:16 PM (4 w, 17 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3387960

Event Timeline