Hashar has uploaded a new change for review.

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

Change subject: devpi a cache/proxy for python PyPI
......................................................................

devpi a cache/proxy for python PyPI

Meant to run on labs with /srv mounted to extended disk.

Install directly from PyPI since there is no Debian package.

Wrap it as a systemd service. Process is run in the foreground and
systemd handles PID tracking and stop/start using kill.

Bug: T117207
Change-Id: Iec7fbffcb39f821d25959f4599b836c1118c8225
---
M manifests/role/ci.pp
A modules/devpi/manifests/init.pp
A modules/devpi/templates/initscripts/devpi.systemd.erb
3 files changed, 75 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/02/250002/1

diff --git a/manifests/role/ci.pp b/manifests/role/ci.pp
index 52867c1..7b8ef48 100644
--- a/manifests/role/ci.pp
+++ b/manifests/role/ci.pp
@@ -480,6 +480,21 @@
 
 }
 
+# == Class role::ci::pmcache
+#
+# Proxy/Cache for package managers
+class role::ci::pmcache {
+
+    requires_realm('labs')
+
+    include role::labs::lvm::srv
+
+    class { '::devpi':
+        require => Class['role::labs::lvm::srv'],
+    }
+
+}
+
 # Website for Continuous integration
 #
 # http://doc.mediawiki.org/
diff --git a/modules/devpi/manifests/init.pp b/modules/devpi/manifests/init.pp
new file mode 100644
index 0000000..c535774
--- /dev/null
+++ b/modules/devpi/manifests/init.pp
@@ -0,0 +1,50 @@
+# == Class devpi
+#
+# PyPI proxy/cache. Meant to run on wmf labs
+#
+# http://doc.devpi.net/
+#
+class devpi {
+
+    requires_realm('labs')
+    require_package('python-pip')
+
+    package { 'devpi-server':
+        ensure   => '2.3.1',
+        provider => 'pip',
+        require  => Package['python-pip'],
+    }
+
+    user { 'devpi':
+        home        => '/var/lib/devpi',
+        managedhome => true,
+        system      => true,
+        gid         => 'devpi',
+        require     => Group['devpi'],
+    }
+
+    group { 'devpi':
+        ensure => present,
+        name   => 'devpi',
+        system => true,
+    }
+
+    file { '/srv/devpi':
+        ensure => directory,
+        mode   => '0775',
+        owner  => 'devpi',
+        group  => 'devpi',
+    }
+
+    base::service_unit { 'devpi':
+        ensure         => present,
+        refresh        => true,
+        systemd        => true,
+        service_params => {},
+        require        => [
+            File['/srv/devpi'],
+            Package['devpi-server'],
+        ],
+    }
+
+}
diff --git a/modules/devpi/templates/initscripts/devpi.systemd.erb 
b/modules/devpi/templates/initscripts/devpi.systemd.erb
new file mode 100644
index 0000000..6310b90
--- /dev/null
+++ b/modules/devpi/templates/initscripts/devpi.systemd.erb
@@ -0,0 +1,10 @@
+[Unit]
+Description=devpi, PyPI proxy
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+Type=simple
+User=devpi
+Group=devpi
+ExecStart=devpi-server --host=0.0.0.0 --port=3141 --serverdir /srv/devpi

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iec7fbffcb39f821d25959f4599b836c1118c8225
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to