Class: Admiral::Layers::AdmiralSvnProxy

Inherits:
Admiral::LayerBase show all
Defined in:
lib/admiral/layers/admiral.svn.proxy.rb

Instance Method Summary collapse

Methods inherited from Admiral::LayerBase

#add_parameter, inherited, #run, #run_ssh_command, #show_information, #upload, #verify

Constructor Details

#initialize(config, ipaddress) ⇒ AdmiralSvnProxy

Returns a new instance of AdmiralSvnProxy.



10
11
12
13
14
15
16
17
18
# File 'lib/admiral/layers/admiral.svn.proxy.rb', line 10

def initialize(config, ipaddress)
  description = "Configuring proxy for SVN"

  super(description, config, ipaddress)
  add_parameter('svn_proxy_host', 'Hostname of the proxy needed to access to svn (ex: proxy.domain.com )')
  add_parameter('svn_proxy_port', 'Port of the proxy (ex: 80)')
  add_parameter('svn_proxy_user', 'Username for the proxy (ex: user)')
  add_parameter('svn_proxy_password', 'Password for the proxy (ex: passwd)')
end

Instance Method Details

#do_actionObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/admiral/layers/admiral.svn.proxy.rb', line 20

def do_action
  svn_proxy_host      = @config['svn_proxy_host']
  svn_proxy_port      = @config['svn_proxy_port']
  svn_proxy_user      = @config['svn_proxy_user']
  svn_proxy_password  = @config['svn_proxy_password']
  username            = @config['username']

  env = {
    'svn_proxy_host'     => svn_proxy_host,
    'svn_proxy_port'     => svn_proxy_port,
    'svn_proxy_user'     => svn_proxy_user,
    'svn_proxy_password' => svn_proxy_password,
  }

  cmd = "/tmp/#{username}/#{$uid}.sh"

  rc = run_ssh_command(cmd, :env => env)
  return (rc == 0)
end