Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/86086
Change subject: Add labsvagrant.rb helper script
......................................................................
Add labsvagrant.rb helper script
This is to have a helper script that can run the vagrant
"enable-role", "disable-role", "list-roles", "reset-roles",
"provision" commands on the host machine itself.
Primarily added to help with the labsvagrant module in the
operations/puppet.git repository, to help people use the
puppet modules available in vagrant to setup mediawiki
instances on labs.
Change-Id: I5d6d24d3848b02b2b96cd10e383a7844c5d431f6
---
M lib/mediawiki-vagrant/helpers.rb
A lib/mediawiki-vagrant/labsvagrant.rb
2 files changed, 65 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant
refs/changes/86/86086/1
diff --git a/lib/mediawiki-vagrant/helpers.rb b/lib/mediawiki-vagrant/helpers.rb
index b634643..8f395a8 100644
--- a/lib/mediawiki-vagrant/helpers.rb
+++ b/lib/mediawiki-vagrant/helpers.rb
@@ -5,7 +5,7 @@
require 'pathname'
## Shortcuts
-
+$DIR = $DIR || '/vagrant' # Set default if not already set
$VP = Pathname.new($DIR) # Vagrant path
$IP = $VP + 'mediawiki' # MediaWiki path
$PP = $VP + 'puppet' # Puppet path
diff --git a/lib/mediawiki-vagrant/labsvagrant.rb
b/lib/mediawiki-vagrant/labsvagrant.rb
new file mode 100755
index 0000000..034e4a6
--- /dev/null
+++ b/lib/mediawiki-vagrant/labsvagrant.rb
@@ -0,0 +1,64 @@
+#!/usr/bin/env ruby
+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
--
To view, visit https://gerrit.wikimedia.org/r/86086
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5d6d24d3848b02b2b96cd10e383a7844c5d431f6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits