platform issueshttps://0xacab.org/leap/platform/-/issues2019-07-15T15:55:05Zhttps://0xacab.org/leap/platform/-/issues/8944Update nameserver address of Digitalcourage2019-07-15T15:55:05ZVipulUpdate nameserver address of DigitalcourageIn 2020 Digitalcourage will switch off old DNS server (85.214.20.141)<sup>[1]</sup>. So, please update DNS server address to newer one (46.182.19.48).
**Reference: **
[1]: https://digitalcourage.de/support/zensurfreier-dns-serverIn 2020 Digitalcourage will switch off old DNS server (85.214.20.141)<sup>[1]</sup>. So, please update DNS server address to newer one (46.182.19.48).
**Reference: **
[1]: https://digitalcourage.de/support/zensurfreier-dns-serverhttps://0xacab.org/leap/platform/-/issues/8943Library platform architecture2020-08-13T21:35:45ZVaracLibrary platform architecture```mermaid
graph TD
subgraph LEAP
goapi -->|Patron ID| sipproxy
geolocation("Geolocation ??")
openvpn
shape-server(Shapeshifter server)
end
subgraph Library
sipserver
end
subgraph Bitmask
Bitmask-Client...```mermaid
graph TD
subgraph LEAP
goapi -->|Patron ID| sipproxy
geolocation("Geolocation ??")
openvpn
shape-server(Shapeshifter server)
end
subgraph Library
sipserver
end
subgraph Bitmask
Bitmask-Client(Bitmask Client)
shape-client(Shapeshifter client)
end
sipserver--> |Auth: true| sipproxy
sipproxy --> |Auth: true| goapi
goapi --> |Cert, provider.json| Bitmask-Client
Bitmask-Client --> |Cert| shape-client
shape-client --> |"Tunnel (auth)"| shape-server
shape-server --> |Cert| openvpn
```LibraryVPN-deploymenthttps://0xacab.org/leap/platform/-/issues/8941stretch signed-by key in /etc/apt2020-08-13T21:19:21Zkwadronautstretch signed-by key in /etc/aptWe have a deb [signed-by=${archive_key}] but since stretch you can't dump a key in /etc/apt/trusted.d/ anymore, so the leap repo wasn't getting validated.
the keys inside puppet and the debian package (leap-archive-keyring) aren't identi...We have a deb [signed-by=${archive_key}] but since stretch you can't dump a key in /etc/apt/trusted.d/ anymore, so the leap repo wasn't getting validated.
the keys inside puppet and the debian package (leap-archive-keyring) aren't identical, but that doesn't seem to be relevant.Debian Stretchkwadronautkwadronauthttps://0xacab.org/leap/platform/-/issues/8940Removal of --tls-remote in stretch2020-08-13T22:00:56ZkwadronautRemoval of --tls-remote in stretch--tls-remote has been deprecated since eons, --verify-x509-name is supposedly to be it's replacement. When updating our server config, this might/will break clients, and the way around. Should we propose to have 1/2 the gateways updated ...--tls-remote has been deprecated since eons, --verify-x509-name is supposedly to be it's replacement. When updating our server config, this might/will break clients, and the way around. Should we propose to have 1/2 the gateways updated (to stretch and this), then get clients updated, then update the remaining gateways? Other approaches?Debian Stretchhttps://0xacab.org/leap/platform/-/issues/8939Couchdb requirement for mx node, even if only used for sysadmin mails2018-12-13T09:21:19ZkwadronautCouchdb requirement for mx node, even if only used for sysadmin mailsWhen you want to receive notifications as a platform maintainer, you *must* have a couchdb node, can't have mx only.
```
leap list
SERVICES NODES
mx stretch-dev
openvpn stretch-dev
...When you want to receive notifications as a platform maintainer, you *must* have a couchdb node, can't have mx only.
```
leap list
SERVICES NODES
mx stretch-dev
openvpn stretch-dev
TAGS NODES
NODES SERVICES TAGS
stretch-dev mx, openvpn
leap compile
= updated files/ssh/known_hosts
= bailing out
- error while evaluating node 'stretch-dev'
- offending key: couchdb_port
- offending string: couchdb_port
- error message: #<NoMethodError: undefined method `accept_port' for nil:NilClass>
```
https://0xacab.org/leap/platform/-/issues/8938remove nagios on Stretch2020-08-13T21:18:27Zkwadronautremove nagios on StretchDue to nagios3 being removed from stretch, we probably want to re-implement monitoring. Removing check-mk/mrp related things for upgrade to stretch, tracking an alternative would be for a new issue.Due to nagios3 being removed from stretch, we probably want to re-implement monitoring. Removing check-mk/mrp related things for upgrade to stretch, tracking an alternative would be for a new issue.Debian Stretchkwadronautkwadronauthttps://0xacab.org/leap/platform/-/issues/8936_encrypt_message: the key is expired2018-12-28T10:52:26ZSune Mølgaard_encrypt_message: the key is expiredHi all,
What with my private provider and bitmask not talking all that well together, I only just noticed this in `/var/log/leap/mx.log` on my provider:
```
Oct 23 23:48:37 mail2 leap-mx: [-] Processing new mail at '/var/mail/leap-mx/M...Hi all,
What with my private provider and bitmask not talking all that well together, I only just noticed this in `/var/log/leap/mx.log` on my provider:
```
Oct 23 23:48:37 mail2 leap-mx: [-] Processing new mail at '/var/mail/leap-mx/Maildir/new/1540331317.V801I2a0003M544778.mail2'
Oct 23 23:48:37 mail2 leap-mx: [-] Mail owner: 7b92c402e1a0b40d8c0158c766226d61
Oct 23 23:48:37 mail2 leap-mx: [-] Starting factory <twisted.web.client._HTTP11ClientFactory instance at 0x7f30053369e0>
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] Encrypting message to 7b92c402e1a0b40d8c0158c766226d61's pubkey
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] _encrypt_message: the key is expired (2018-04-09 22:00:00)
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] Exporting message for 7b92c402e1a0b40d8c0158c766226d61 directly into CouchDB
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] Done exporting
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] Removing '/var/mail/leap-mx/Maildir/new/1540331317.V801I2a0003M544778.mail2'
Oct 23 23:48:37 mail2 leap-mx: [HTTP11ClientProtocol,client] Done removing
Oct 23 23:48:37 mail2 leap-mx: [-] Stopping factory <twisted.web.client._HTTP11ClientFactory instance at 0x7f30053369e0>
```
Please advise!
Best regards,
Sune Mølgaardhttps://0xacab.org/leap/platform/-/issues/8934leap test succeeds even though couchdb is not accessible2018-10-19T10:06:02ZVaracleap test succeeds even though couchdb is not accessibleI get this cronmail from leech.demo.b.n:
```
From root@leech.demo.bitmask.net
To root@leech.demo.bitmask.net
Subject Cron <root@leech> (/bin/date; /srv/leap/couchdb/scripts/cleanup-user-dbs) >> /var/log/leap/couchdb-cleanup.log
...I get this cronmail from leech.demo.b.n:
```
From root@leech.demo.bitmask.net
To root@leech.demo.bitmask.net
Subject Cron <root@leech> (/bin/date; /srv/leap/couchdb/scripts/cleanup-user-dbs) >> /var/log/leap/couchdb-cleanup.log
/usr/lib/ruby/2.1.0/net/http.rb:879:in `initialize': Connection refused - connect(2) for "localhost" port 5984 (Errno::ECONNREFUSED)
from /usr/lib/ruby/2.1.0/net/http.rb:879:in `open'
from /usr/lib/ruby/2.1.0/net/http.rb:879:in `block in connect'
from /usr/lib/ruby/2.1.0/timeout.rb:76:in `timeout'
from /usr/lib/ruby/2.1.0/net/http.rb:878:in `connect'
from /usr/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
from /usr/lib/ruby/2.1.0/net/http.rb:852:in `start'
from /var/lib/gems/2.1.0/gems/rest-client-1.6.9/lib/restclient/request.rb:206:in `transmit'
from /var/lib/gems/2.1.0/gems/rest-client-1.6.9/lib/restclient/request.rb:68:in `execute'
from /var/lib/gems/2.1.0/gems/rest-client-1.6.9/lib/restclient/request.rb:35:in `execute'
from /var/lib/gems/2.1.0/gems/couchrest-1.2.0/lib/couchrest/rest_api.rb:94:in `execute'
from /var/lib/gems/2.1.0/gems/couchrest-1.2.0/lib/couchrest/rest_api.rb:45:in `get'
from /var/lib/gems/2.1.0/gems/couchrest-1.2.0/lib/couchrest/database.rb:265:in `view'
from /var/lib/gems/2.1.0/gems/couchrest-1.2.0/lib/couchrest/database.rb:281:in `all_docs'
from /srv/leap/couchdb/scripts/lib/leap/users.rb:33:in `all_ids'
from /srv/leap/couchdb/scripts/cleanup-user-dbs:17:in `<main>'
```
Then I run `leap test leech` but it tells me everything is fine:
```
~/leap/git/bitmask leap test leech
= [leech] PASS: Network > Can connect to internet?
= [leech] PASS: Network > Is stunnel running?
= [leech] PASS: Network > Is shorewall running?
= [leech] PASS: Network > Are server certificates valid?
= [leech] PASS: Webapp > Can contact couchdb?
= [leech] PASS: Webapp > Are daemons running?
= [leech] PASS: Webapp > Can access webapp?
= [leech] PASS: Webapp > Can create and authenticate and delete user via API?
= [leech] 9 tests: 8 passes, 0 skips, 0 warnings, 0 failures, 0 errors
```
However, when I test on leech itself, I get:
```
root@leech:~# nc -v localhost 5984
localhost [127.0.0.1] 5984 (?) : Connection refused
```https://0xacab.org/leap/platform/-/issues/8933leap test ordering: check stunnel/couchdb first2018-10-15T12:24:44ZVaracleap test ordering: check stunnel/couchdb firstWe often run into the situation where (on jessie nodes) [stunnel runs out of memory](https://0xacab.org/leap/platform/issues/8856) and [doesn't restart by itself](https://0xacab.org/leap/platform/issues/8928).
This will result in a brok...We often run into the situation where (on jessie nodes) [stunnel runs out of memory](https://0xacab.org/leap/platform/issues/8856) and [doesn't restart by itself](https://0xacab.org/leap/platform/issues/8928).
This will result in a broken provider.
`leap test unstable` will show this:
```
~/leap/git/bitmask leap test unstable
= [tuatara] PASS: Network > Can connect to internet?
= [tuatara] PASS: Network > Is stunnel running?
= [tuatara] PASS: Network > Is shorewall running?
= [tuatara] PASS: Network > Are server certificates valid?
= [tuatara] PASS: OpenVPN > Are daemons running?
= [tuatara] PASS: OpenVPN > Can connect to openvpn?
= [tuatara] 6 tests: 6 passes, 0 skips, 0 warnings, 0 failures, 0 errors
= [donkey] PASS: Network > Can connect to internet?
= [donkey] PASS: Network > Is stunnel running?
= [donkey] PASS: Network > Is shorewall running?
= [donkey] PASS: Network > Are server certificates valid?
= [donkey] FAIL: Webapp > Can contact couchdb? [webapp.rb:14]:
= [donkey] Expected a response from GET http://webapp:REDACTED@localhost:4000, but got "Connection reset by peer" instead.
= [donkey] (via stunnel to aardwolf.unstable.bitmask.i:15984, aka 199.119.112.205)
= [donkey] Tests halted on failure (because of --no-continue).
= bailing out
```
This is very misleading because most users will start investigating the webapp on donkey, but the underlying problem is stunnel on aardwolf being down, as we can see when we run `leap test unstable --continue` below.
So we need to change the order in which the checks are executed, from the ground-level nodes/services (stunnel, couchdb) first down to highlevel services (webapp) at last.
```
~/leap/git/bitmask leap test unstable --continue
= [tuatara] PASS: Network > Can connect to internet?
= [tuatara] PASS: Network > Is stunnel running?
= [tuatara] PASS: Network > Is shorewall running?
= [tuatara] PASS: Network > Are server certificates valid?
= [tuatara] PASS: OpenVPN > Are daemons running?
= [tuatara] PASS: OpenVPN > Can connect to openvpn?
= [tuatara] 6 tests: 6 passes, 0 skips, 0 warnings, 0 failures, 0 errors
= [donkey] PASS: Network > Can connect to internet?
= [donkey] PASS: Network > Is stunnel running?
= [donkey] PASS: Network > Is shorewall running?
= [donkey] PASS: Network > Are server certificates valid?
= [donkey] FAIL: Webapp > Can contact couchdb? [webapp.rb:14]:
= [donkey] Expected a response from GET http://webapp:REDACTED@localhost:4000, but got "Connection reset by peer" instead.
= [donkey] (via stunnel to aardwolf.unstable.bitmask.i:15984, aka 199.119.112.205)
= [donkey] PASS: Webapp > Are daemons running?
= [donkey] FAIL: Webapp > Can access webapp? [webapp.rb:31]:
= [donkey] Expected success code from GET https://unstable.bitmask.net/, but got 500 instead.
= [donkey] <!DOCTYPE html>
= [donkey] <html>
= [donkey] <head>
= [donkey] <meta content='width=device-width, initial-scale=1.0' name='viewport'>
= [donkey] <title>unstable.bitmask.net</title>
= [donkey] <meta content='Leap Web' name='description'>
= [donkey] <link rel="stylesheet" media="all" href="/assets/application-ebe937e880e2c82cc4965397cafbc76afca20a69a8df2bb5407df10a36a33230.css" />
= [donkey] <script src="/assets/application-2c69b8452ef0714289b4be76afc9179d3d2fbde31c719e2dcf5b425f62c3b50e.js"></script>
= [donkey] <meta name="csrf-param" content="authenticity_token" />
= [donkey] <meta name="csrf-token" content="mbgG2O9LQbxq9104rU+ZCeS+YpdBCnWDCA2wLFxBJzObCJgt8Xr4q4rtWwH0oRyJTMlgMXprH4AZMaXAMQCB9w==" />
= [donkey] </meta>
= [donkey] </meta>
= [donkey] </head>
= [donkey] <body>
= [donkey] <div id='wrap'>
= [donkey] <div id='masthead'>
= [donkey] <div class='title'>
= [donkey] <span class='sitename'>
= [donkey] <a href='/'>unstable.bitmask.net</a>
= [donkey] </span>
= [donkey] </div>
= [donkey] </div>
= [donkey] <div id='main'>
= [donkey] <div class='container-fluid'>
= [donkey] <div class='row'>
= [donkey] <div class='col-md-12'>
= [donkey] <div id='messages'>
= [donkey] </div>
= [donkey] <div class='hero-unit'>
= [donkey] <h1>Ouch!</h1>
= [donkey] <h2>We ran into a server error.</h2>
= [donkey] <p class='lead'>The problem has been logged and we will look into it.</p>
= [donkey] <a class='btn btn-primary btn-large' href='/'>
= [donkey] <span class="glyphicon glyphicon-home "></span>
= [donkey] Home
= [donkey] </a>
= [donkey] </div>
= [donkey] </div>
= [donkey] </div>
= [donkey] </div>
= [donkey] </div>
= [donkey] <div id='push'>
= [donkey] </div>
= [donkey] </div>
= [donkey] <div id='footer'>
= [donkey] <div class='locales row'>
= [donkey] <div class='wrap-text'>
= [donkey] <a class="locale" href="/500?locale=es">Español</a> <a class="locale active" href="/500?locale=en">English</a> <a class="locale" href="/500?locale=pt">Português</a> <a class="locale" href="/500?locale=de">Deutsch</a>
= [donkey] </div>
= [donkey] </div>
= [donkey] <div class='links row'>
= [donkey] <div class='wrap-text'>
= [donkey] <a href="/"><span class="glyphicon glyphicon-home "></span>Home</a>
= [donkey] <a href="/privacy-policy"><span class="glyphicon glyphicon-eye-close "></span>Privacy Policy</a>
= [donkey] <a href="/terms-of-service"><span class="glyphicon glyphicon-file "></span>Terms of Service</a>
= [donkey] </div>
= [donkey] </div>
= [donkey] </div>
= [donkey] </body>
= [donkey] </html>
= [donkey] rake aborted!
= [donkey] HTTPClient::KeepAliveDisconnected: HTTPClient::KeepAliveDisconnected: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:813:in `rescue in block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:804:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1138:in `rescue in protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1132:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `gets'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1138:in `rescue in protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1132:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] HTTPClient::KeepAliveDisconnected: HTTPClient::KeepAliveDisconnected: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:813:in `rescue in block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:804:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `gets'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Tasks: TOP => generate_invites
= [donkey] (See full trace by running task with --trace)
= [donkey] FAIL: Webapp > Can create and authenticate and delete user via API? [webapp.rb:37]:
= [donkey] Expected success code from POST https://api.unstable.bitmask.net:4430/1/users.json, but got 500 instead.
= [donkey] {
= [donkey] "error": "server failed",
= [donkey] "message": "Server Error"
= [donkey] }
= [donkey] rake aborted!
= [donkey] HTTPClient::KeepAliveDisconnected: HTTPClient::KeepAliveDisconnected: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:813:in `rescue in block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:804:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1138:in `rescue in protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1132:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `gets'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1138:in `rescue in protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1132:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] HTTPClient::KeepAliveDisconnected: HTTPClient::KeepAliveDisconnected: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:813:in `rescue in block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:804:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Caused by:
= [donkey] Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:7
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `gets'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `block in parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:192:in `send_request'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:184:in `send_and_parse_response'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:170:in `execute'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/connection.rb:97:in `head'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/server.rb:50:in `database!'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:38:in `prepare_database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/support/inheritable_attributes.rb:48:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/connection.rb:26:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest-2.0.0/lib/couchrest/document.rb:91:in `database'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:14:in `block (2 levels) in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:117:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:505:in `call'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:12:in `block in create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:81:in `run_callbacks'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:11:in `create'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/couchrest_model-2.1.0.rc1/lib/couchrest/model/persistence.rb:47:in `save'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:16:in `block (2 levels) in <top (required)>'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `times'
= [donkey] /srv/leap/webapp/lib/tasks/invite_code.rake:13:in `block in <top (required)>'
= [donkey] /srv/leap/webapp/vendor/bundle/ruby/2.1.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
= [donkey] Tasks: TOP => generate_invites
= [donkey] (See full trace by running task with --trace)
= [donkey] FAIL: Webapp > Can sync Soledad? [webapp.rb:50]:
= [donkey] Expected success code from POST https://api.unstable.bitmask.net:4430/1/users.json, but got 500 instead.
= [donkey] {
= [donkey] "error": "server failed",
= [donkey] "message": "Server Error"
= [donkey] }
= [donkey] 9 tests: 5 passes, 0 skips, 0 warnings, 4 failures, 0 errors
= [aardwolf] PASS: Network > Can connect to internet?
= [aardwolf] FAIL: Network > Is stunnel running? [network.rb:52]:
= [aardwolf] There should be 1 stunnel processes running for `/etc/stunnel/couch_server.conf`.
= [aardwolf] Expected: 1
= [aardwolf] Actual: 0
= [aardwolf] PASS: Network > Is shorewall running?
= [aardwolf] PASS: Network > Are server certificates valid?
= [aardwolf] FAIL: CouchDB > Are daemons running? [couchdb.rb:12]:
= [aardwolf] No running process for bin/beam
= [aardwolf] FAIL: CouchDB > Is CouchDB running? [couchdb.rb:23]:
= [aardwolf] Expected a response from GET http://localhost:5984, but got "Connection refused - connect(2) for "localhost" port 5984" instead.
= [aardwolf] (via direct localhost connection)
= [aardwolf] FAIL: CouchDB > Do ACL users exist? [couchdb.rb:60]:
= [aardwolf] Expected a response from GET http://admin:REDACTED@localhost:5984/_users/_all_docs, but got "Connection refused - connect(2) for "localhost" port 5984" instead.
= [aardwolf] (via direct localhost connection)
= [aardwolf] FAIL: CouchDB > Do required databases exist? [couchdb.rb:78]:
= [aardwolf] Expected a response from GET http://admin:REDACTED@localhost:5984/customers, but got "Connection refused - connect(2) for "localhost" port 5984" instead.
= [aardwolf] (via direct localhost connection)
= [aardwolf] FAIL: CouchDB > Can records be created? [couchdb.rb:108]:
= [aardwolf] Expected a response from POST http://admin:REDACTED@localhost:5984/tokens_593, but got "Connection refused - connect(2) for "localhost" port 5984" instead.
= [aardwolf] (via direct localhost connection)
= [aardwolf] FAIL: CouchDB > Delete mail storage used in mx tests [bonafide_helper.rb:127]:
= [aardwolf] Expected success code from GET https://api.unstable.bitmask.net:4430/1/users/0.json?login=test_user_email, but got 500 instead.
= [aardwolf] {
= [aardwolf] "error": "server failed",
= [aardwolf] "message": "Server Error"
= [aardwolf] }
= [aardwolf] PASS: Soledad > Is Soledad running?
= [aardwolf] 12 tests: 4 passes, 0 skips, 0 warnings, 7 failures, 0 errors
= [demodex] PASS: Network > Can connect to internet?
= [demodex] PASS: Network > Is stunnel running?
= [demodex] PASS: Network > Is shorewall running?
= [demodex] PASS: Network > Are server certificates valid?
= [demodex] 4 tests: 4 passes, 0 skips, 0 warnings, 0 failures, 0 errors
= [cat] PASS: Network > Can connect to internet?
= [cat] PASS: Network > Is stunnel running?
= [cat] PASS: Network > Is shorewall running?
= [cat] PASS: Network > Are server certificates valid?
= [cat] FAIL: Mx > Can contact couchdb? [mx.rb:18]:
= [cat] Expected a response from GET http://leap_mx:REDACTED@localhost:4000/identities, but got "Connection reset by peer" instead.
= [cat] (via stunnel to aardwolf.unstable.bitmask.i:15984, aka 199.119.112.205)
= [cat] FAIL: Mx > Can query identities db? [mx.rb:160]:
= [cat] Expected a response from GET http://leap_mx:REDACTED@localhost:4000/identities, but got "Connection reset by peer" instead.
= [cat] (via stunnel to aardwolf.unstable.bitmask.i:15984, aka 199.119.112.205)
= [cat] PASS: Mx > Are MX daemons running?
= [cat] FAIL: Mx > Can deliver email? [bonafide_helper.rb:96]:
= [cat] Expected success code from GET https://api.unstable.bitmask.net:4430/1/identities/test_user_bad@unstable.bitmask.net.json, but got 500 instead.
= [cat] {
= [cat] "error": "server failed",
= [cat] "message": "Server Error"
= [cat] }
= [cat] FAIL: Mx > Can postfix query leapmx? [mx.rb:160]:
= [cat] Expected a response from GET http://leap_mx:REDACTED@localhost:4000/identities, but got "Connection reset by peer" instead.
= [cat] (via stunnel to aardwolf.unstable.bitmask.i:15984, aka 199.119.112.205)
= [cat] 9 tests: 5 passes, 0 skips, 0 warnings, 4 failures, 0 errors
```https://0xacab.org/leap/platform/-/issues/8932running apt as cirunner in setup.sh2018-09-28T07:40:52Zkwadronautrunning apt as cirunner in setup.shThis gets executed in the ci-builds
```
before_script:
- cd tests/platform-ci
- su -c 'time ./setup.sh' cirunner
```
In above setupscript:
`which bundle || /usr/bin/apt install bundle `
This will fail, because it's not running as ...This gets executed in the ci-builds
```
before_script:
- cd tests/platform-ci
- su -c 'time ./setup.sh' cirunner
```
In above setupscript:
`which bundle || /usr/bin/apt install bundle `
This will fail, because it's not running as root. Having 2 scripts, one as root, one as cirunner is probably easiest.https://0xacab.org/leap/platform/-/issues/8931Create gemlock file for CI2018-09-22T13:59:16ZkwadronautCreate gemlock file for CIWhen updating the Ruby gem for the platform-ci (`tests/platform-ci/Gemfile`) I didn't understand why it didn't work:
https://0xacab.org/kwadronaut/platform/-/jobs/71807
https://0xacab.org/kwadronaut/platform/commit/334b613169ed8ba8193e97...When updating the Ruby gem for the platform-ci (`tests/platform-ci/Gemfile`) I didn't understand why it didn't work:
https://0xacab.org/kwadronaut/platform/-/jobs/71807
https://0xacab.org/kwadronaut/platform/commit/334b613169ed8ba8193e975133e851419ba44669
This was due to caching in the CI, the lockfile is generated once, therefore we should add it to git, to make sure we're always testing the correct gems. (And if the lockfile gets changed and updated, caching won't block us).Next major releasehttps://0xacab.org/leap/platform/-/issues/8930[Stretch] Upgrade test2020-08-13T22:00:41Zkwadronaut[Stretch] Upgrade testTo get the upgrade tests working for/during stretch development these commits need to be included in master:
https://0xacab.org/kwadronaut/platform/commit/6f2e08f447f7ab4409fde73fecb8b6694e818cfd
https://0xacab.org/kwadronaut/platform/...To get the upgrade tests working for/during stretch development these commits need to be included in master:
https://0xacab.org/kwadronaut/platform/commit/6f2e08f447f7ab4409fde73fecb8b6694e818cfd
https://0xacab.org/kwadronaut/platform/commit/bc6f72890706ea3cf1080f80633ee64e509a024e
They make the debian version check tolerate stretch.Debian Stretchhttps://0xacab.org/leap/platform/-/issues/8929Logrotate complains about already existing log archives2018-08-30T07:00:38ZVaracLogrotate complains about already existing log archives```
Cron Daemon (Thu 30 Aug 2018 08:29:49 AM )
From root@millipede.demo.bitmask.net
To root@millipede.demo.bitmask.net
Subject Cron <root@millipede> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc...```
Cron Daemon (Thu 30 Aug 2018 08:29:49 AM )
From root@millipede.demo.bitmask.net
To root@millipede.demo.bitmask.net
Subject Cron <root@millipede> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc/cron.daily/logrotate:
error: error creating output file /var/log/munin/munin-node.log.1: File exists
error: error creating output file /var/log/leap/openvpn_tcp.log.1: File exists
error: error creating output file /var/log/leap/openvpn_udp.log.1: File exists
error: error creating output file /var/log/syslog.1.gz: File exists
run-parts: /etc/cron.daily/logrotate exited with return code 1
```https://0xacab.org/leap/platform/-/issues/8928stunnel service doesn't restart by itself2018-10-15T12:24:45ZVaracstunnel service doesn't restart by itself```
root@aardwolf:~# systemctl status stunnel4.service
● stunnel4.service - LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons)
Loaded: loaded (/etc/init.d/stunnel4)
Active: active (exited) since Thu 2018-05-03 12:15:12...```
root@aardwolf:~# systemctl status stunnel4.service
● stunnel4.service - LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons)
Loaded: loaded (/etc/init.d/stunnel4)
Active: active (exited) since Thu 2018-05-03 12:15:12 UTC; 3 months 26 days ago
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
root@aardwolf:~# systemctl status stunnel4.service
● stunnel4.service - LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons)
Loaded: loaded (/etc/init.d/stunnel4)
Active: active (exited) since Thu 2018-05-03 12:15:12 UTC; 3 months 26 days ago
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
root@aardwolf:~# ps aux|grep stunnel
root@aardwolf:~#
```https://0xacab.org/leap/platform/-/issues/8927puppetd and smartd service show up as failed units2018-08-29T08:14:51ZVaracpuppetd and smartd service show up as failed units```
root@aardwolf:~# systemctl list-units --state=failed
UNIT LOAD ACTIVE SUB DESCRIPTION
<E2><97><8F> puppet.service loaded failed failed Puppet agent
<E2><97><8F> smartd.service loaded failed failed Self Monitoring and...```
root@aardwolf:~# systemctl list-units --state=failed
UNIT LOAD ACTIVE SUB DESCRIPTION
<E2><97><8F> puppet.service loaded failed failed Puppet agent
<E2><97><8F> smartd.service loaded failed failed Self Monitoring and Reporting Technology (SMART) Daemon
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
```
We should configure them so that they don't show up failed.https://0xacab.org/leap/platform/-/issues/8925Use stretch ruby image for CI2018-07-24T15:40:55ZkwadronautUse stretch ruby image for CIgitlab-ci should use a stretch ruby image while in the stretch branch.gitlab-ci should use a stretch ruby image while in the stretch branch.Debian Stretchhttps://0xacab.org/leap/platform/-/issues/8924Clamd broke after upgrade2018-09-18T18:50:49ZVaracClamd broke after upgradeSince the upgrade to clamd 1.0 clamd is not running anymore:
```
*************************
* !!! ALERT !!! *
* CLAMD IS NOT RUNNING! *
*************************
Attempting to start ClamD...
ERROR: Pars...Since the upgrade to clamd 1.0 clamd is not running anymore:
```
*************************
* !!! ALERT !!! *
* CLAMD IS NOT RUNNING! *
*************************
Attempting to start ClamD...
ERROR: Parse error at line 75: Unknown option StatsHostID
ERROR: Can't parse clamd configuration file /etc/clamav/clamd.conf
*************************
* !!! PANIC !!! *
* CLAMD FAILED TO START *
*************************
Check to confirm that the clamd start process defined for
the 'start_clamd' variable in the 'USER EDIT SECTION' is
set correctly for your particular distro. If it is, then
check your logs to determine why clamd failed to start.
```
```
root@cat:~# grep clamd /var/log/dpkg.log
2018-06-24 06:44:38 upgrade clamdscan:amd64 0.99.2+dfsg-0+deb8u2 0.100.0+dfsg-0+deb8u1
```Hotfixmicahmicahhttps://0xacab.org/leap/platform/-/issues/8919AWS new resource identifiers2018-04-22T12:57:04ZkwadronautAWS new resource identifiersWe use currently for our tests the old (short) identifier. In July 2018, we'll have to use the new longer ones.
https://eu-central-1.console.aws.amazon.com/ec2/v2/home?region=eu-central-1#IdFormatSettings:
"default_image": "ami-2a34...We use currently for our tests the old (short) identifier. In July 2018, we'll have to use the new longer ones.
https://eu-central-1.console.aws.amazon.com/ec2/v2/home?region=eu-central-1#IdFormatSettings:
"default_image": "ami-2a34e94a",
provider/cloud.json.template
We might need to change somethings when broken, or before.https://0xacab.org/leap/platform/-/issues/8918hot-fix apt keys2018-04-22T12:13:52Zkwadronauthot-fix apt keys[Varac mentioned](https://0xacab.org/leap/platform/merge_requests/147#note_141229) this:
> When this gets merged into the stable branch as well as a hotfix the upgrade test should get fixed by that.
Is that just the stable branch?[Varac mentioned](https://0xacab.org/leap/platform/merge_requests/147#note_141229) this:
> When this gets merged into the stable branch as well as a hotfix the upgrade test should get fixed by that.
Is that just the stable branch?Platform 0.10.1https://0xacab.org/leap/platform/-/issues/8916Stretch upgrade2020-08-13T21:18:37ZkwadronautStretch upgradeThere's some work to get the platform onto Stretch. Ideas, to-do lists.
ci building > switch to stretch, create 1 extra pipeline for stretch
Puppet code will need to be reorganized due to new builtin env requirements (implicit environ...There's some work to get the platform onto Stretch. Ideas, to-do lists.
ci building > switch to stretch, create 1 extra pipeline for stretch
Puppet code will need to be reorganized due to new builtin env requirements (implicit environments)
-> determined on directory structure.
Typical layout:
```
puppet/hieradata/
puppet/code/
code/environments/production|environment
code/environments/production/manifests
code/environments/production/hieradata
code/environments/development/...
code/modules/apache|apt|sshd|tor <--- shared across environments, but can be overridden by environment specific modules
code/environments/prduction/modules/tor
code/environments/productions/apache
code/environments/development/modules/apache
code/environments/development/manifests/site.pp
.../development/manifests/site.pp
node foo {
include apache <-- come from development/modules/apache
include tor <--- come from code/modules/tor
}
../production/manifests/site.pp
node foo {
include apache <-- come from production/modules/apache
include sshd <-- come from production/modules/sshd
}
foo# puppet agent apply -t --environment=development
environment-specific module directories override common module directories
```
General steps:
* [x] find an amazon image that is stretch -> #8920
* [x] update our ci-build.sh cloud.json generation (line 134) to specify the image in -1 when deploy_test:stretch is being run
* [x] Update stretch ruby docker image in leap/docker/ruby:stretch_amd64
* [ ] Update ci configuration, specific deploy_test for stretch: Don't get confused by the different masters, 'deploy_test:jessie:master' will deploy to jessie, the packages that are in the 'master' debian repository (stable), the 'except master, stretch' will tell it to *not* deploy when something to these branches is pushed.
```
.gitlab-ci.yml
deploy_test:jessie:master:
stage: deploy
except:
- master
- stretch
script:
- su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner
deploy_test:jessie:staging:
stage: deploy
except:
- stretch
variables:
COMPONENT: "staging"
script:
- su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner
deploy_test:stretch:master:
image: 0xacab.org:4567/leap/docker/ruby:stretch_amd64
stage: deploy
only:
- stretch
script:
- su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner
deploy_test:stretch:staging:
image: 0xacab.org:4567/leap/docker/ruby:stretch_amd64
stage: deploy
only:
- stretch
variables:
COMPONENT: "staging"
script:
- su -c 'set -o pipefail; stdbuf -oL -eL ./ci-build.sh | ts' cirunner
```
* [ ] update ci-build.sh for stretch?
```
tests/platform-ci/ci-build.sh
...
deploy_test*)
build_from_scratch <--- seems like it can stay how it is for now, might need to have a look at components of deb
deploy <-- can stay the same
leap_info <-- can stay the same
test <- can stay the same
cleanup <- can stay the same
;;
```
* [x] create branch in platform,
* [x] change bin/node_init to support stretch https://0xacab.org/leap/platform/merge_requests/149
* [ ] fix the broken things.Debian Stretch