Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/86083
Change subject: Add labsvagrant helper script to help manage labsvagrant roles
......................................................................
Add labsvagrant helper script to help manage labsvagrant roles
Is replacement for 'vagrant' command used in mediawiki/vagrant
Change-Id: I955079f6d209630b5ff209a9cd695ba6ec620e3f
---
A modules/labsvagrant/files/labsvagrant.rb
D modules/labsvagrant/files/vagrant-puppet-runner.bash
M modules/labsvagrant/manifests/init.pp
3 files changed, 75 insertions(+), 22 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/83/86083/1
diff --git a/modules/labsvagrant/files/labsvagrant.rb
b/modules/labsvagrant/files/labsvagrant.rb
new file mode 100644
index 0000000..5a511c7
--- /dev/null
+++ b/modules/labsvagrant/files/labsvagrant.rb
@@ -0,0 +1,64 @@
+require 'helpers'
+
+case ARGV.shift
+when "list-roles"
+ puts "Available roles:\n\n"
+ enabled = roles_enabled
+ roles_available.each { |role|
+ prefix = enabled.include?(role) ? '*' : ' '
+ puts "#{prefix} #{role}"
+ }
+ puts "\nRoles marked with '*' are enabled."
+ puts 'Use "labsvagrant enable-role" & "labsvagrant disable-role" to
customize.'
+
+when "reset-roles"
+ if not ARGV.empty? or ['-h', '--help'].include? ARGV.first
+ puts 'Disable all optional roles.'
+ puts 'USAGE: labsvagrant reset-roles'
+ end
+ update_roles []
+ puts "All roles were disabled."
+ puts COMMIT_CHANGES
+when "enable-role"
+ if ARGV.empty? or ['-h', '--help'].include? ARGV.first
+ puts 'Enable an optional role (run "labsvagrant list-roles" for a
list).'
+ puts 'USAGE: labsvagrant enable-role ROLE'
+ return 0
+ end
+ avail = roles_available
+ ARGV.each do |r|
+ if not avail.include? r
+ puts "'#{r}' is not a valid role."
+ return 1
+ end
+ end
+ update_roles(roles_enabled + ARGV)
+
+when "disable-role"
+ if ARGV.empty? or ['-h', '--help'].include? ARGV.first
+ puts 'Disable one or more optional roles.'
+ puts 'USAGE: labsvagrant disable-role ROLE'
+ return 0
+ end
+ enabled = roles_enabled
+ ARGV.each do |r|
+ if not enabled.include? r
+ puts "'#{r}' is not enabled."
+ end
+ end
+ update_roles(enabled - ARGV)
+when "provision"
+ puppet_path = "/vagrant/puppet"
+ exec "puppet apply \
+ --modulepath #{puppet_path}/modules \
+ --manifestdir #{puppet_path}/manifests \
+ --templatedir #{puppet_path}/templates \
+ --fileserverconfig #{puppet_path}/extra/fileserver.conf \
+ --config_version #{puppet_path}/extra/config-version \
+ --verbose \
+ --logdest console \
+ --detailed-exitcodes \
+ #{puppet_path}/manifests/site.pp"
+
+
+end
diff --git a/modules/labsvagrant/files/vagrant-puppet-runner.bash
b/modules/labsvagrant/files/vagrant-puppet-runner.bash
deleted file mode 100644
index c4442e7..0000000
--- a/modules/labsvagrant/files/vagrant-puppet-runner.bash
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-# Apply vagrant puppet configuration to this host.
-
-VAGRANT_HOME=/vagrant
-PUPPET_HOME=${VAGRANT_HOME}/puppet
-MANIFEST=${PUPPET_HOME}/manifests/site.pp
-
-exec puppet apply \
- --modulepath ${PUPPET_HOME}/modules \
- --manifestdir ${PUPPET_HOME}/manifests \
- --templatedir ${PUPPET_HOME}/templates \
- --fileserverconfig ${PUPPET_HOME}/extra/fileserver.conf \
- --config_version ${PUPPET_HOME}/extra/config-version \
- --verbose \
- --logdest ${VAGRANT_HOME}/logs/puppet/puppet-$(date +%Y%m%dT%H%M).log \
- --logdest console \
- --detailed-exitcodes \
- ${MANIFEST}
diff --git a/modules/labsvagrant/manifests/init.pp
b/modules/labsvagrant/manifests/init.pp
index 82eab4b..8e4f8f1 100644
--- a/modules/labsvagrant/manifests/init.pp
+++ b/modules/labsvagrant/manifests/init.pp
@@ -22,10 +22,17 @@
require => File['/mnt/vagrant']
}
- file { '/bin/vagrant-puppet-runner':
+ file { '/vagrant/lib/mediawiki-vagrant/labsgrant.rb':
ensure => 'present',
- source => 'puppet:///modules/labsvagrant/vagrant-puppet-runner.bash',
- mode => 0755,
- owner => 'root'
+ source => 'puppet:///modules/labsvagrant/labsvagrant.rb',
+ mode => '0755',
+ require => File['/vagrant']
+ }
+
+ file { '/bin/labsvagrant':
+ ensure => 'link',
+ target => '/vagrant/lib/mediawiki-vagrant/labsgrant.rb',
+ mode => '0755',
+ require => File['/vagrant/lib/mediawiki-vagrant/labsgrant.rb']
}
}
--
To view, visit https://gerrit.wikimedia.org/r/86083
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I955079f6d209630b5ff209a9cd695ba6ec620e3f
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits