Andrew Bogott has submitted this change and it was merged.

Change subject: Various dynamicproxy-api changes:
......................................................................


Various dynamicproxy-api changes:

- Switch to using uwsgi
- Create initial db if needed

Change-Id: I797d8f5e96e0dcc504668b1cd8832aa2e5de6e41
---
A modules/dynamicproxy/files/initial-data.db
M modules/dynamicproxy/manifests/api.pp
M modules/dynamicproxy/manifests/init.pp
M modules/dynamicproxy/templates/proxy.conf
M modules/generic/files/upstart/dynamicproxy-api.conf
5 files changed, 28 insertions(+), 4 deletions(-)

Approvals:
  Andrew Bogott: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/dynamicproxy/files/initial-data.db 
b/modules/dynamicproxy/files/initial-data.db
new file mode 100644
index 0000000..0f1df67
--- /dev/null
+++ b/modules/dynamicproxy/files/initial-data.db
Binary files differ
diff --git a/modules/dynamicproxy/manifests/api.pp 
b/modules/dynamicproxy/manifests/api.pp
index bc07dc6..02c8d1c 100644
--- a/modules/dynamicproxy/manifests/api.pp
+++ b/modules/dynamicproxy/manifests/api.pp
@@ -4,14 +4,30 @@
         require => Class['misc::labsdebrepo'],
     }
 
-    package { ['python-invisible-unicorn', 'python-flask-sqlalchemy']:
+    package { ['python-invisible-unicorn', 'python-flask-sqlalchemy', 'uwsgi', 
'uwsgi-plugin-python']:
         ensure => 'present',
         require => Package['python-flask'],
     }
 
     generic::upstart_job{ 'dynamicproxy-api':
-        require => Package['python-invisible-unicorn', 
'python-flask-sqlalchemy', 'redis', 'python-flask'],
+        require => Package['python-invisible-unicorn', 
'python-flask-sqlalchemy', 'redis', 'python-flask', 'uwsgi', 
'uwsgi-plugin-python'],
         install => 'true',
         start   => 'true'
     }
+
+    file { '/etc/dynamicproxy-api':
+        ensure => 'directory',
+        owner => 'www-data',
+        group => 'www-data',
+    }
+
+    # Create initial db file if it doesn't exist, but don't clobber if it does.
+    file { '/etc/dynamicproxy-api/data.db':
+        ensure => 'file',
+        source => 'puppet:///modules/dynamicproxy/initial-data.db',
+        replace => false,
+        require => File['/etc/dynamicproxy-api'],
+        owner => 'www-data',
+        group => 'www-data',
+    }
 }
diff --git a/modules/dynamicproxy/manifests/init.pp 
b/modules/dynamicproxy/manifests/init.pp
index 5f7b693..79c83fb 100644
--- a/modules/dynamicproxy/manifests/init.pp
+++ b/modules/dynamicproxy/manifests/init.pp
@@ -11,7 +11,7 @@
     include misc::labsdebrepo
 
     package { 'nginx-extras':
-        ensure => present,
+        ensure => latest,
         require => Class['misc::labsdebrepo'],
      }
 
diff --git a/modules/dynamicproxy/templates/proxy.conf 
b/modules/dynamicproxy/templates/proxy.conf
index 70d7d17..9f0bcd0 100644
--- a/modules/dynamicproxy/templates/proxy.conf
+++ b/modules/dynamicproxy/templates/proxy.conf
@@ -35,6 +35,13 @@
     # is an interim solution that works for now.
     proxy_read_timeout 600s;
 
+    location /dynamicproxy-api {
+        include uwsgi_params;
+        uwsgi_pass unix:///tmp/uwsgi.sock;
+        uwsgi_param SCRIPT_NAME /dynamicproxy-api;
+        uwsgi_modifier1 30;
+    }
+
     location / {
         set $backend '';
         set $vhost '';
diff --git a/modules/generic/files/upstart/dynamicproxy-api.conf 
b/modules/generic/files/upstart/dynamicproxy-api.conf
index 3d2ac49..5d697ea 100644
--- a/modules/generic/files/upstart/dynamicproxy-api.conf
+++ b/modules/generic/files/upstart/dynamicproxy-api.conf
@@ -1,10 +1,11 @@
 description    "API for the dynamic proxy, aka Invisible Unicorn"
 
 start on runlevel [2345]
+stop on runlevel [!2345]
 
 respawn
 respawn limit 10 5
 
 script
-    /usr/bin/dynamicproxy-api
+    /usr/bin/uwsgi --logto /var/log/uwsgi/app/invisible.log 
--buffer-size=32768 --plugin python --die-on-term -s /tmp/uwsgi.sock --module 
invisible_unicorn.api --callable app --processes 4 --threads 2 --master true 
--uid www-data
 end script

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I797d8f5e96e0dcc504668b1cd8832aa2e5de6e41
Gerrit-PatchSet: 8
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to