Ori.livneh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/108079


Change subject: Compatibility update for Parsoid puppetization
......................................................................

Compatibility update for Parsoid puppetization

- Parsoid now consists of two repositories:
  - mediawiki/services/parsoid/deploy: node_modules, debian/, etc.
  - mediawiki/services/parsoid: parsoid source
  The latter repository is a submodule of the former, so doing a recursive
  clone of the deploy repo is sufficient.
- deploy repo contains all required node_modules, so npm is longer needed.
- The init.d compatibility layer was specific to MediaWiki-Vagrant and never
  needed in the first place.

TODOs:
- The Parsoid team ships their own Upstart job configuration now; check whether
  we can use it instead of rolling our own.
- ..or just use the Debian package, once it's ready.
- localsettings.js seems to have changed.

Tested.

Change-Id: I58f4ef3df8c46c84e94bc449f26eb8f4d578e757
---
M puppet/modules/mediawiki/manifests/init.pp
M puppet/modules/mediawiki/manifests/parsoid.pp
M puppet/modules/mediawiki/templates/parsoid.conf.erb
3 files changed, 16 insertions(+), 30 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/79/108079/1

diff --git a/puppet/modules/mediawiki/manifests/init.pp 
b/puppet/modules/mediawiki/manifests/init.pp
index 2274965..6e985e6 100644
--- a/puppet/modules/mediawiki/manifests/init.pp
+++ b/puppet/modules/mediawiki/manifests/init.pp
@@ -156,6 +156,11 @@
         refreshonly => true,
     }
 
+    file { '/vagrant/somedir':
+        ensure => present,
+        source => 'puppet:///modules/mediawiki/empty',
+    }
+
     Mediawiki::Extension <| |>
     Mediawiki::Settings <| |>
 }
diff --git a/puppet/modules/mediawiki/manifests/parsoid.pp 
b/puppet/modules/mediawiki/manifests/parsoid.pp
index c4d1687..1b8ee77 100644
--- a/puppet/modules/mediawiki/manifests/parsoid.pp
+++ b/puppet/modules/mediawiki/manifests/parsoid.pp
@@ -43,46 +43,27 @@
         ensure => '0.8.2-1chl1~precise1',
     }
 
-    package { 'npm':
-        ensure => '1.1.39-1chl1~precise1',
-    }
-
-    @git::clone { 'mediawiki/extensions/Parsoid':
+    @git::clone { 'mediawiki/services/parsoid/deploy':
         directory  => $dir,
-        require    => Package['nodejs', 'npm'],
+        require    => Package['nodejs'],
     }
 
-    exec { 'install parsoid':
-        command   => 'npm install',
-        onlyif    => 'npm list --json | grep -q \'"missing": true\'',
-        cwd       => "${dir}/js",
-        require   => Git::Clone['mediawiki/extensions/Parsoid'],
-    }
-
-    file { "${dir}/js/api/localsettings.js":
+    file { 'localsettings.js':
+        path    => "${dir}/src/api/localsettings.js",
         content => template('mediawiki/parsoid.localsettings.js.erb'),
-        require => Git::Clone['mediawiki/extensions/Parsoid'],
+        require => Git::Clone['mediawiki/services/parsoid/deploy'],
+        notify  => Service['parsoid'],
     }
 
     file { '/etc/init/parsoid.conf':
         ensure  => present,
         content => template('mediawiki/parsoid.conf.erb'),
-        require => Exec['install parsoid'],
-    }
-
-    file { '/etc/init.d/parsoid':
-        ensure  => link,
-        target  => '/lib/init/upstart-job',
-        require => File['/etc/init/parsoid.conf'],
+        require => Package['nodejs'],
     }
 
     service { 'parsoid':
         ensure    => running,
         provider  => 'upstart',
-        subscribe => File['/etc/init/parsoid.conf', 
"${dir}/js/api/localsettings.js"],
-        require   => [
-            Exec['install parsoid'],
-            File['/etc/init/parsoid.conf', "${dir}/js/api/localsettings.js"],
-        ],
+        require   => File['localsettings.js', '/etc/init/parsoid.conf'],
     }
 }
diff --git a/puppet/modules/mediawiki/templates/parsoid.conf.erb 
b/puppet/modules/mediawiki/templates/parsoid.conf.erb
index ef29a68..1473ca6 100644
--- a/puppet/modules/mediawiki/templates/parsoid.conf.erb
+++ b/puppet/modules/mediawiki/templates/parsoid.conf.erb
@@ -12,9 +12,9 @@
 setgid "www-data"
 
 env VCAP_APP_PORT="<%= @port %>"
-env NODE_PATH="<%= @parsoid_path %>/js/node_modules"
+env NODE_PATH="<%= @parsoid_path %>/node_modules"
 
-chdir "<%= @dir %>/js"
-exec node api/server.js 
+chdir "<%= @dir %>"
+exec node src/api/server.js
 
 respawn

-- 
To view, visit https://gerrit.wikimedia.org/r/108079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I58f4ef3df8c46c84e94bc449f26eb8f4d578e757
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <o...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to