Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9123912
swarm_join.rb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
936 B
Subscribers
None
swarm_join.rb
View Options
#!/opt/puppetlabs/puppet/bin/ruby
require
'json'
require
'open3'
require
'puppet'
def
swarm_join
(
advertise_addr
,
listen_addr
,
token
,
manager_ip
)
cmd_string
=
"docker swarm join"
cmd_string
<<
" --advertise-addr=
#{
advertise_addr
}
"
unless
advertise_addr
.
nil?
cmd_string
<<
" --listen-addr=
#{
listen_addr
}
"
unless
listen_addr
.
nil?
cmd_string
<<
" --token=
#{
token
}
"
unless
token
.
nil?
cmd_string
<<
"
#{
manager_ip
}
"
unless
manager_ip
.
nil?
stdout
,
stderr
,
status
=
Open3
.
capture3
(
cmd_string
)
raise
Puppet
::
Error
,
(
"stderr: '
#{
stderr
}
'"
)
if
status
!=
0
stdout
.
strip
end
params
=
JSON
.
parse
(
STDIN
.
read
)
advertise_addr
=
params
[
'advertise_addr'
]
listen_addr
=
params
[
'listen_addr'
]
token
=
params
[
'token'
]
manager_ip
=
params
[
'manager_ip'
]
begin
result
=
swarm_join
(
advertise_addr
,
listen_addr
,
token
,
manager_ip
)
puts
result
exit
0
rescue
Puppet
::
Error
=>
e
puts
({
status
:
'failure'
,
error
:
e
.
message
})
exit
1
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sat, Jun 21, 6:21 PM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3213606
Attached To
R205 puppet-puppetlabs-docker
Event Timeline
Log In to Comment