Brett Smith [Wed, 15 Jun 2016 16:58:31 +0000 (12:58 -0400)]
Package build directories get same owner as $WORKSPACE.
Since this script runs as root inside the Docker container, the
directory created on the previous line is normally owned by root too.
This causes trouble when the package tests run later and try to create
repository information inside the directory. See, e.g.,
<https://ci.curoverse.com/job/build-packages-sso/23/consoleFull> for a
build that failed because of this.
Brett Smith [Fri, 3 Jun 2016 19:34:25 +0000 (15:34 -0400)]
9345: Use same script to test all Rails packages.
We want to simplify the SSO test script for a variety of reasons. We
don't want the package to depend on the PostgreSQL server; testing
proper PostgreSQL server configuration is a little out of scope for
this; and it's difficult to execute the test in a CentOS 7 Docker
image. This commit has the SSO server follow the same test strategy
as other Rails servers.
Lucas Di Pentima [Wed, 15 Jun 2016 13:58:02 +0000 (10:58 -0300)]
9408: Added apt-get flag to avoid installing 'Recommended:' packages, it's better to have an explicit dependency list. Also, added bzip2 that was being pulled implicitly and it's needed.
Brett Smith [Mon, 13 Jun 2016 14:16:07 +0000 (10:16 -0400)]
9309: Bugfix Ruby source install instructions for CentOS.
* Add missing `make` dependency.
* Add `-i` to `sudo gem install` throughout. Red Hat adds /usr/local
paths to $PATH in `/etc/profile`, so we need `-i` to find `gem`.
Peter Amstutz [Fri, 10 Jun 2016 15:45:38 +0000 (11:45 -0400)]
9353: Add libcloud.common.BaseHTTPError to CLOUD_ERRORS.
Due to eventual consistency, it seems that calling ex_create_tags() on a node
that has just been created can return "InvalidInstanceID.NotFound" for some
period. The ec2 driver raises BaseHTTPError when it doesn't recognize a more
specific error, however prior to this commit, this wasn't recognized as a
retryable error, so node manager would fall over. This commit makes
BaseHTTPError a retryable error.
Peter Amstutz [Thu, 9 Jun 2016 21:55:37 +0000 (17:55 -0400)]
9388: Process each notify individually instead attempting to batch them up.
Prior to this commit, websockets used to try to send log events out in batches,
by getting all logs with an id greater than last log that was sent.
Unfortunately, under concurrent database writes, logs from uncommited
transactions may not appear in the query even if logs with larger ids do
appear. This results in the uncommitted log never being sent out because
subsequent batch sends would not consider logs prior to the last log id that
was sent (which, in this case, is higher than the log that was missed.)
This commit eliminates the batching behavior. Because NOTIFY includes the log
id of a specific record that was committed, consider only the log record with
that id and process events in the order that the NOTIFY events arrive. This
means events may be delivered out of numeric order (although they now more
closely reflect the "actual" order, e.g. the order that the events were
actually committed to the database).
"Catch ups" where the client has specified a last_log_id and needs to have past
logs replayed continue to be sent in batches.
Brett Smith [Fri, 10 Jun 2016 03:23:35 +0000 (23:23 -0400)]
9187: Add priorities to crunch-dispatch-local test containers.
This is necessary to keep the tests working after 2c4ff054b533c62ecdb269963d3ab0af20d2df8b.
Otherwise, crunch-dispatch-local declines to do anything with them.
Refs #9187.
Tom Clegg [Tue, 7 Jun 2016 17:59:19 +0000 (13:59 -0400)]
9278: Set expires_at=now if a client sets it to a time in the past.
The definition of "now" in the default collection scope changes from
current_timestamp (time the current transaction started) to
statement_timestamp() (time the current statement started) so a test
case can expire a collection and then confirm that it is not in the
default scope, all within a single test transaction.
Brett Smith [Wed, 8 Jun 2016 17:17:43 +0000 (13:17 -0400)]
9309: Separate PostgreSQL setup page in Install Guide.
This provides us with a few benefits:
* We have a place to discuss the different deployment options
installers have around PostgreSQL.
* PostgreSQL setup is very distro-specific (and it's going to get
worse when we add CentOS 7), so this can take some of that noise out
of the Rails server install guides.
* People who want to try new things, like cloud database services,
get a clearer separation of the install process and the database
setup process.