Skip to content

Instantly share code, notes, and snippets.

@lastcanal
Created December 15, 2011 15:16
Show Gist options
  • Select an option

  • Save lastcanal/1481444 to your computer and use it in GitHub Desktop.

Select an option

Save lastcanal/1481444 to your computer and use it in GitHub Desktop.
all_servers =
UAT:
http: 'UAT1|UAT2'
node: 'UAT1|UAT2|UAT3'
dmgr: 'UAT1'
NFT:
http: 'NFT1|NFT2'
node: 'NFT1|NFT2'
dmgr: 'NFT1'
all_actions =
http: 'start|stop|copy_plugin'
node: 'start|stop|status'
dmgr: 'start|stop|bounce'
@set type: 'wps', job_folder: "/job/folder/wps"
@serial(
# show off panel types
=> @date 'date', 'select date'
=> @dateTime 'datetime', 'Select Date Time'
=> @checkbox 'checkbox' , 'Check checkbox'
=> @radio 'radio', 'Select a radio', 'one|two|three'
=> @text 'text', 'A text input'
=> @textArea 'textarea', 'A textarea'
=> @password 'password', 'Enter password'
=> @hidden 'hidden', 'Hidden input'
=> @select 'select', 'Select input', [1,2,'three']
=> @multiSelect 'multiselect', 'Select input', [1,2,'three']
=> @sort 'list', 'Sort the list', [3,2,6,1,4,5]
# start wps manage servers
=> @select "domain", "select a domain", "UAT|NFT"
=>
if @get('domain').match /^(nft|prod)/i
@select "site", "Select a site", "primary|secondary"
else
@next()
=> @select "service", "select a service", "http|node|dmgr"
=> @select "action", "select an action", all_actions[@get('service')]
=>
{domain,service,site} = @toJSON()
# if site? then site = "_#{site}"
# servers = @serversList("/_WPS_/WPS_#{domain}/WPS_#{service}#{site}")
@multiSelect "servers", "Multiple Servers", all_servers[domain][service]
=>
{type,service,action} = @toJSON()
# iterate over array of servers from multiSelect
for server in @get('servers')
if action is "copy_plugin"
@blade.nshScriptJob("/depot/folder/wps_copy_plugin.sh",
job_name: [server,type,service,action].join('_')
server: server
).on('complete', (response) =>
alert "executed copy plugin on #{server} : #{response.message}"
).execute()
else
@blade.nshScriptJob("/depot/folder/wps_manage_servers.sh",
job_name: [server,type,service,action].join('_')
server: server
argv: [ service, action ]
).on('complete', log).execute()
@done()
).start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment