jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/397618 )
Change subject: Check out both ores and revscoring as editable modules
......................................................................
Check out both ores and revscoring as editable modules
Also, install ores[redis] dependencies in a way that hides the
details from puppet.
It seems that we no longer need the manual installation of revscoring
dependencies. This went away as mysteriously as it began.
Bug: T181850
Change-Id: Ifcaa471006a90b8e76118fbb4e91523656ae740d
---
M puppet/modules/ores/manifests/init.pp
M puppet/modules/ores/templates/systemd/ores-celery.erb
M puppet/modules/ores/templates/systemd/ores-wsgi.erb
M puppet/modules/role/manifests/ores.pp
4 files changed, 50 insertions(+), 24 deletions(-)
Approvals:
Gergő Tisza: Looks good to me, approved
jenkins-bot: Verified
diff --git a/puppet/modules/ores/manifests/init.pp
b/puppet/modules/ores/manifests/init.pp
index 089d08d..0e2c053 100644
--- a/puppet/modules/ores/manifests/init.pp
+++ b/puppet/modules/ores/manifests/init.pp
@@ -26,47 +26,75 @@
# revscoring
require_package('python3-dev', 'g++', 'gfortran', 'liblapack-dev',
'libopenblas-dev', 'libenchant-dev')
+ file { $deploy_dir:
+ ensure => directory,
+ }
+
# ORES (in a venv as it needs Python 3)
- virtualenv::environment { $deploy_dir:
+ $venv_dir = "${deploy_dir}/venv"
+ virtualenv::environment { $venv_dir:
ensure => present,
owner => $::share_owner,
group => $::share_group,
python => 'python3',
- require => Package['python3-dev', 'g++', 'gfortran', 'liblapack-dev',
'libopenblas-dev', 'libenchant-dev'],
+ require => [
+ Package['python3-dev', 'g++', 'gfortran', 'liblapack-dev',
'libopenblas-dev', 'libenchant-dev'],
+ File[$deploy_dir],
+ ],
}
- virtualenv::package { 'ores':
- package => 'git+https://github.com/wiki-ai/ores.git#egg=ores',
- path => $deploy_dir,
+
+ $sources_dir = "${deploy_dir}/src"
+ file { $sources_dir:
+ ensure => directory,
+ }
+ git::clone { 'revscoring':
+ directory => "${sources_dir}/revscoring",
+ remote => 'https://github.com/wiki-ai/revscoring',
+ require => File[$sources_dir],
+ }
+ $ores_root = "${sources_dir}/ores"
+ git::clone { 'ores':
+ directory => $ores_root,
+ remote => 'https://github.com/wiki-ai/ores',
+ require => File[$sources_dir],
+ }
+
+ virtualenv::package { 'revscoring':
+ package => "${sources_dir}/revscoring",
+ path => $venv_dir,
editable => true,
+ require => Git::Clone['revscoring'],
}
- #FIXME this should happen as part of normal dependency management but for
some reason it doesn't
- # pylru probably needs to be fixed in the revscoring pakcage, redis in ores
- exec { 'pip_install_revscoring_dependencies_hack':
- command => "curl
https://raw.githubusercontent.com/wiki-ai/revscoring/master/requirements.txt |
${deploy_dir}/bin/pip install pylru redis -r /dev/stdin",
- cwd => $deploy_dir,
- subscribe => Virtualenv::Package['ores'],
- refreshonly => true,
+
+ virtualenv::package { 'ores':
+ # Tricky syntax to get pip to install ores with the extra "redis"
+ # dependencies specified in setup.py
+ package => "${ores_root}[redis]",
+ path => $venv_dir,
+ editable => true,
+ require => [
+ Virtualenv::Package['revscoring'],
+ Git::Clone['ores'],
+ ],
}
- $repo_dir = "${deploy_dir}/src/ores"
apache::reverse_proxy { 'ores':
port => $port,
}
- $cfg_file = "${repo_dir}/config/999-vagrant.yaml"
+ $cfg_file = "${ores_root}/config/999-vagrant.yaml"
file { $cfg_file:
ensure => present,
content => template('ores/ores.yaml.erb'),
- require => Virtualenv::Package['ores'],
+ require => Git::Clone['ores'],
}
systemd::service { 'ores-wsgi':
ensure => present,
service_params => {
require => [
- VirtualEnv::Package['ores'],
+ Virtualenv::Package['ores'],
Class['mediawiki::ready_service'],
- Exec['pip_install_revscoring_dependencies_hack'],
Apache::Site['ores'],
],
subscribe => [
@@ -78,9 +106,8 @@
ensure => present,
service_params => {
require => [
- VirtualEnv::Package['ores'],
+ Virtualenv::Package['ores'],
Class['mediawiki::ready_service'],
- Exec['pip_install_revscoring_dependencies_hack'],
Apache::Site['ores'],
],
subscribe => [
diff --git a/puppet/modules/ores/templates/systemd/ores-celery.erb
b/puppet/modules/ores/templates/systemd/ores-celery.erb
index ae46a7c..7c51e06 100644
--- a/puppet/modules/ores/templates/systemd/ores-celery.erb
+++ b/puppet/modules/ores/templates/systemd/ores-celery.erb
@@ -11,8 +11,8 @@
User=www-data
Group=www-data
SyslogIdentifier=ores-celery
-WorkingDirectory=<%= @repo_dir %>
-ExecStart=<%= @deploy_dir %>/bin/ores applications.celery
+WorkingDirectory=<%= @ores_root %>
+ExecStart=<%= @venv_dir %>/bin/ores applications.celery
Restart=always
[Install]
diff --git a/puppet/modules/ores/templates/systemd/ores-wsgi.erb
b/puppet/modules/ores/templates/systemd/ores-wsgi.erb
index ab46d23..4503085 100644
--- a/puppet/modules/ores/templates/systemd/ores-wsgi.erb
+++ b/puppet/modules/ores/templates/systemd/ores-wsgi.erb
@@ -11,8 +11,8 @@
User=www-data
Group=www-data
SyslogIdentifier=ores-wsgi
-WorkingDirectory=<%= @repo_dir %>
-ExecStart=<%= @deploy_dir %>/bin/ores applications.wsgi --port=<%= @port %>
--processes=1
+WorkingDirectory=<%= @ores_root %>
+ExecStart=<%= @venv_dir %>/bin/ores applications.wsgi --port=<%= @port %>
--processes=1
Restart=always
[Install]
diff --git a/puppet/modules/role/manifests/ores.pp
b/puppet/modules/role/manifests/ores.pp
index 8651e0e..2240030 100644
--- a/puppet/modules/role/manifests/ores.pp
+++ b/puppet/modules/role/manifests/ores.pp
@@ -10,7 +10,6 @@
mediawiki::extension { 'ORES':
needs_update => true,
settings => {
- # Use the staging server until production supports 'damaging'
wgOresBaseUrl => 'https://ores.wikimedia.org/',
# Point at some fake data with flat probability distribution.
--
To view, visit https://gerrit.wikimedia.org/r/397618
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ifcaa471006a90b8e76118fbb4e91523656ae740d
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Dduvall <[email protected]>
Gerrit-Reviewer: Gergő Tisza <[email protected]>
Gerrit-Reviewer: Halfak <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits