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