Class: Admiral::Layers::AdmiralSvnPuppetCookbook
- Inherits:
-
Admiral::LayerBase
- Object
- Admiral::LayerBase
- Admiral::Layers::AdmiralSvnPuppetCookbook
- Defined in:
- lib/admiral/layers/admiral.svn.puppet.cookbook.rb
Instance Method Summary collapse
- #do_action ⇒ Object
-
#initialize(config, ipaddress) ⇒ AdmiralSvnPuppetCookbook
constructor
A new instance of AdmiralSvnPuppetCookbook.
Methods inherited from Admiral::LayerBase
#add_parameter, inherited, #run, #run_ssh_command, #show_information, #upload, #verify
Constructor Details
#initialize(config, ipaddress) ⇒ AdmiralSvnPuppetCookbook
Returns a new instance of AdmiralSvnPuppetCookbook.
11 12 13 14 15 16 17 18 19 |
# File 'lib/admiral/layers/admiral.svn.puppet.cookbook.rb', line 11 def initialize(config, ipaddress) description = "Retrieving cookbooks for applications from SVN" super(description, config, ipaddress) add_parameter('svn_cookbook_base_url', 'Root URL where are located the cookbooks in SVN (ex: https://domain.com/puppet-cookbooks)') add_parameter('svn_user', 'Username for SVN') add_parameter('svn_password', 'Password for SVN') add_parameter('applications', 'List of hash that contains application code and source branch (ex: [ {"code"=>"appli1", "branch"=>"trunk"}, ] )') end |
Instance Method Details
#do_action ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/admiral/layers/admiral.svn.puppet.cookbook.rb', line 21 def do_action svn_cookbook_base_url = @config['svn_cookbook_base_url'] svn_user = @config['svn_user'] svn_password = @config['svn_password'] modules_dir = '/var/lib/puppet/modules/' applications = @config['applications'] applications.each do | application | application_code = application['code'] application_branch = application['branch'] cmd = "svn co --non-interactive --no-auth-cache #{svn_cookbook_base_url}/#{application_code}/#{application_branch}/ #{modules_dir}/#{application_code} --username=#{svn_user} --password=#{svn_password}; done" puts " - Retrieving cookbook for project #{application_code} from #{application_branch}" rc = run_ssh_command(cmd) if rc > 0 return false end end return true end |