Merge pull request #47 from craigtracey/master
Add support for an alternative an modulepath
This commit is contained in:
14
Rakefile
14
Rakefile
@@ -7,22 +7,25 @@
|
||||
|
||||
require 'puppet'
|
||||
|
||||
repo_file = 'other_repos.yaml'
|
||||
repo_file = 'other_repos.yaml'
|
||||
default_modulepath = '/etc/puppet/modules'
|
||||
|
||||
namespace :modules do
|
||||
desc 'clone all required modules'
|
||||
task :clone do
|
||||
repo_hash = YAML.load_file(File.join(File.dirname(__FILE__), repo_file))
|
||||
repos = (repo_hash['repos'] || {})
|
||||
modulepath = (repo_hash['modulepath'] || default_modulepath)
|
||||
repos_to_clone = (repos['repo_paths'] || {})
|
||||
branches_to_checkout = (repos['checkout_branches'] || {})
|
||||
repos_to_clone.each do |remote, local|
|
||||
# I should check to see if the file is there?
|
||||
output = `git clone #{remote} #{local}`
|
||||
outpath = File.join(modulepath, local)
|
||||
output = `git clone #{remote} #{outpath}`
|
||||
Puppet.debug(output)
|
||||
end
|
||||
branches_to_checkout.each do |local, branch|
|
||||
Dir.chdir(local) do
|
||||
Dir.chdir(File.join(modulepath, local)) do
|
||||
output = `git checkout #{branch}`
|
||||
end
|
||||
# Puppet.debug(output)
|
||||
@@ -33,14 +36,15 @@ namespace :modules do
|
||||
task 'status' do
|
||||
repo_hash = YAML.load_file(File.join(File.dirname(__FILE__), repo_file))
|
||||
repos = (repo_hash['repos'] || {})
|
||||
modulepath = (repo_hash['modulepath'] || default_modulepath)
|
||||
repos_to_clone = (repos['repo_paths'] || {})
|
||||
branches_to_checkout = (repos['checkout_branches'] || {})
|
||||
repos_to_clone.each do |remote, local|
|
||||
# I should check to see if the file is there?
|
||||
Dir.chdir(local) do
|
||||
Dir.chdir(File.join(modulepath, local)) do
|
||||
puts "Checking status of #{local}"
|
||||
puts `git status`
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1,25 +1,26 @@
|
||||
# modulepath: /etc/puppet/modules
|
||||
repos:
|
||||
repo_paths:
|
||||
# openstack git repos
|
||||
git://github.com/puppetlabs/puppetlabs-nova: /etc/puppet/modules/nova
|
||||
git://github.com/puppetlabs/puppetlabs-glance: /etc/puppet/modules/glance
|
||||
git://github.com/puppetlabs/puppetlabs-swift: /etc/puppet/modules/swift
|
||||
git://github.com/puppetlabs/puppetlabs-keystone: /etc/puppet/modules/keystone
|
||||
git://github.com/puppetlabs/puppetlabs-horizon: /etc/puppet/modules/horizon
|
||||
git://github.com/puppetlabs/puppetlabs-nova: nova
|
||||
git://github.com/puppetlabs/puppetlabs-glance: glance
|
||||
git://github.com/puppetlabs/puppetlabs-swift: swift
|
||||
git://github.com/puppetlabs/puppetlabs-keystone: keystone
|
||||
git://github.com/puppetlabs/puppetlabs-horizon: horizon
|
||||
# openstack middleware
|
||||
git://github.com/puppetlabs/puppetlabs-rabbitmq: /etc/puppet/modules/rabbitmq
|
||||
git://github.com/puppetlabs/puppetlabs-mysql: /etc/puppet/modules/mysql
|
||||
git://github.com/puppetlabs/puppetlabs-git: /etc/puppet/modules/git
|
||||
git://github.com/puppetlabs/puppetlabs-vcsrepo: /etc/puppet/modules/vcsrepo
|
||||
git://github.com/saz/puppet-memcached: /etc/puppet/modules/memcached
|
||||
git://github.com/puppetlabs/puppetlabs-rsync: /etc/puppet/modules/rsync
|
||||
git://github.com/puppetlabs/puppetlabs-rabbitmq: rabbitmq
|
||||
git://github.com/puppetlabs/puppetlabs-mysql: mysql
|
||||
git://github.com/puppetlabs/puppetlabs-git: git
|
||||
git://github.com/puppetlabs/puppetlabs-vcsrepo: vcsrepo
|
||||
git://github.com/saz/puppet-memcached: memcached
|
||||
git://github.com/puppetlabs/puppetlabs-rsync: rsync
|
||||
# other deps
|
||||
git://github.com/ghoneycutt/puppet-xinetd: /etc/puppet/modules/xinetd
|
||||
git://github.com/saz/puppet-ssh: /etc/puppet/modules/ssh
|
||||
git://github.com/puppetlabs/puppetlabs-stdlib: /etc/puppet/modules/stdlib
|
||||
git://github.com/puppetlabs/puppetlabs-apt: /etc/puppet/modules/apt
|
||||
git://github.com/ripienaar/puppet-concat: /etc/puppet/modules/concat
|
||||
git://github.com/ghoneycutt/puppet-xinetd: xinetd
|
||||
git://github.com/saz/puppet-ssh: ssh
|
||||
git://github.com/puppetlabs/puppetlabs-stdlib: stdlib
|
||||
git://github.com/puppetlabs/puppetlabs-apt: apt
|
||||
git://github.com/ripienaar/puppet-concat: concat
|
||||
checkout_branches:
|
||||
# /etc/puppet/modules/keystone: dev
|
||||
# /etc/puppet/modules/glance: dev
|
||||
# /etc/puppet/modules/nova: dev
|
||||
# keystone: dev
|
||||
# glance: dev
|
||||
# nova: dev
|
||||
|
Reference in New Issue
Block a user