Files
nomad/api
Mahmood Ali d9495d2b66 tests: deflake test-api job (#9742)
Deflake test-api job, currently failing at around 7.6% (44 out of 578
workflows), by ensuring that test nomad agent use a small dedicated port
range that doesn't conflict with the kernel ephemeral range.

The failures are disproportionatly related to port allocation, where a
nomad agent fails to start when the http port is already bound to
another process. The failures are intermitent and aren't specific to any
test in particular. The following is a representative failure:
https://app.circleci.com/pipelines/github/hashicorp/nomad/13995/workflows/6cf6eb38-f93c-46f8-8aa0-f61e62fe7694/jobs/128169
.

Upon investigation, the issue seems to be that the api freeport library
picks a port block within 10,000-14,500, but that overlaps with the
kernel ephemeral range 32,769-60,999! So, freeport may allocate a free
port to the nomad agent, just to be used by another process before the
nomad agent starts!

This happened for example in
https://app.circleci.com/pipelines/github/hashicorp/nomad/14111/workflows/e1fcd7ff-f0e0-4796-8719-f57f510b1ffa/jobs/129684
.  `freeport` allocated port 41662 to serf, but `google_accounts`
raced to use it to connect to the CirleCI vm metadata service.

We avoid such races by using a dedicated port range that's disjoint from
the kernel ephemeral port range.
2021-01-06 16:18:28 -05:00
..
2017-10-13 13:12:20 -07:00
2017-10-13 13:12:20 -07:00
2020-01-29 13:55:39 -05:00
2017-07-21 16:33:04 -07:00
2020-10-21 14:05:46 -04:00
2020-11-05 13:04:18 -05:00
2020-07-17 11:02:00 -04:00
2017-10-13 14:36:02 -07:00
2020-02-16 16:04:59 -06:00
2017-10-13 14:36:02 -07:00
2017-10-13 14:36:02 -07:00
2020-09-29 17:57:46 -04:00
2020-07-17 11:02:00 -04:00
2017-09-19 10:08:23 -05:00
2017-07-21 16:33:04 -07:00
2016-03-17 16:04:09 -07:00
2017-07-21 16:33:04 -07:00
2019-01-18 15:31:31 -05:00