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

Reply via email to