RSS

This Week in Flynn

Last week we shipped a new version of the controller which includes zero-downtime deploys. When rolling out a new version of an application, requests start going to the new release and the old release will be scaled down without downtime.

We dramatically improved the stability and reliability of Flynn CI, including fixing a networking issue that was causing builds to fail and adding more aggressive timeouts.

We landed the first stages of Flynn’s new volume management system backed by ZFS. This feature will be leveraged by Flynn’s database appliances in the future.

We also upgraded several buildpacks, etcd, and the version of the Linux kernel installed in our development and testing VMs.

§ Enhancements

  • Added deployer daemon to perform zero-downtime deploys of apps (#784, #832, #836, #841, #868, #873, #851)
  • Added JSON schemas for the controller to integration test, generate API docs, and validate requests (#471, #846, #903, #904)
  • Now handling HTTP upgrades in router according to RFC 7230 (#826)
  • Releases are no longer required to reference an artifact (#830)
  • CI will only test pull requests and pushes to master (#838)
  • Refactored router proxy logic into a separate package (#842)
  • Added more aggressive timeouts to CI (#844)
  • Exposed panics during shutdown (#850)
  • Removed unused HTTPError type in router client (#852)
  • Refactored controller resource test (#853)
  • Updated to etcd 2.0 (#860)
  • Bumped kernel to 3.16 (#861)
  • Added volume management subsystem with ZFS backend (#750, #866, #865)
  • Added additional logging to CLI log tests (#871)
  • Added test that the router proxies query parameters correctly (#876)
  • Test suites now use single etcd/discoverd pairs for the router and discoverd tests (#879, #920)
  • Now storing host identifier in host API client (#880)
  • Added helper method to merge container configurations (#883)
  • Refactored HTTP context handling (#889)
  • Added delay to etcd reconnect attempts (#891)
  • Added HTTP request logging to host daemon (#894)
  • Redirected CI log URLs to S3 (#897)
  • Refactored CI cluster management API (#901)
  • Added optional pprof handler to router (#909)
  • Now building CI runner binary with race detector on (#911)
  • Added discoverd health check-based registrar (#913)
  • Refactored router listener setup (#915)
  • Added UTF-8 charset to CI logs (#921)
  • Updated buildpacks to the latest versions (#922)
  • Added tool for bumping buildpack versions (#922)
  • Removed pre-installed guest additions from Virtualbox base image (#923)

§ Bugfixes

  • Fixed infinite loop in discoverd (#831)
  • Fixed intermittently failing discoverd health check test (#835)
  • Fixed error code constant type declarations (#839)
  • Fixed consistency issue in resource JSON schema (#843)
  • Don’t assign IP addresses to tap devices on CI (#844)
  • Fixed CI networking instability (#857)
  • Don’t attempt to copy AMI to unsupported region (#858)
  • Read router listener port in tests correctly (#862)
  • Report cluster client connection errors (#863)
  • Fixed marshaling of JSON errors (#874)
  • Fixed router retries of requests with bodies (#875)
  • Fixed shutdown log caller attribution (#878)
  • Don’t attempt to write headers multiple times in streaming responses (#881)
  • Fixed race in discoverd DNS tests (#885)
  • Fixed CI log retrieval when adding hosts (#890)
  • Fixed discoverd leader election (#896)
  • Fixed race in discoverd health tests (#902)
  • Avoided race in controller example generator (#910)
  • Fixed race in flannel subnet file handling (#912)
  • Fixed attach exit status regardless of stdin (#914)
  • Fixed race in router registering with discoverd (#925)

§ What’s Next

We are focused on improving our test suite, documentation, and stability.

§ Stay in Touch

 RSS

Mailing List