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

Reply via email to