Releases: cloudfoundry/diego-release
Diego v0.1447.0
Changes from v0.1446.0 to v0.1447.0
- Depends on garden-linux-release v0.330.0.
- Depends on etcd-release v22.
Significant changes
App execution
Logging
Manifest Generation
Dependencies
Cleanup
- Remove unused logWrap from tps handlers.
- Remove dns_health_check.erb template files from vizzini and benchmark-bbs jobs
Test suites and tooling
BOSH job changes
None.
BOSH property changes
None.
Diego v0.1446.0
Changes from v0.1445.0 to v0.1446.0
- Depends on garden-linux-release v0.330.0.
- Depends on etcd-release v22.
Significant changes
Bindmounting Downloads
- As a BBS API client, I can specify that my DownloadAction on a Task or DesiredLRP is to be provided via a read-only bind-mount, and updated Diego Cells will respect that
- Stager uses read-only bind-mounts for buildpack and lifecycle downloads
- Nsync recipe generation uses read-only bind-mounts for lifecycle downloads
Performance
- Re-enable the benchmark-bbs tests with a smaller target number of records
- Investigate slamming the auctioneer directly
BBS API
- As a BBS client, I would like to get the list of present cells from the BBS
- Fix backwards-incompatibility introduced in CellPresence models
- As a BBS client, I would like the event stream to contain Task events
- BBS Retry Logic not working
SSH
- As a CF user, I expect that an SSH session into a CF instance should have same environment that the app process does
- Work with Greenhouse to get WATs passing in ketchup pipeline (reverses story #101458218)
- As a Diego operator, I would like to see metrics about the number of SSH connections maintained by each SSH proxy
- cloudfoundry-incubator/diego-ssh #16: Remove cli plugin from diego-ssh
- Update cflinuxfs2 rootfs in diego-release to 1.24.0+
- cloudfoundry-incubator/diego-release #120: Remove cloudfoundry/cli from diego tree
- Release version 0.2.2 of the Diego-SSH plugin
- cloudfoundry-incubator/nsync #5: Replace single quote with double for sshd args
Manifest generation
- Remove static IPs for all VMs from Diego manifest generation
- Diego manifest-generation templates should consume CC internal-API basic-auth user from CF manifest
- Consolidate diego-release's stubs-for-cf-release into manifest-generation folder
- cloudfoundry-incubator/diego-release #110: Added scripts to generate manifests for tests
- cloudfoundry-incubator/diego-release #107: Added merge references to test stubs for api & domain
App execution
- When Diego stops an instance, it should send TERM signals to all the remaining processes running in it before destroying the container
- Add postSetupHook and postSetupUser to executor
Component metrics
- As a Diego operator, I would like to see components emit presence and uptime metrics when they hold their lock
- Auctioneer should report number of failed cell-state requests as a metric
- Return errors from
metrics.SendValue
in runtime-schema metric objects.
Dependencies
- Update cflinuxfs2 rootfs to 1.25.0+ in diego-release
- Update cflinuxfs2 rootfs to 1.27.0+ in diego-release
- Update diego-release to use CLI 6.14.1+
Test suites and tooling
- Continual app polling in upgrade test suite should have a small tolerance for request failures
- cloudfoundry-incubator/diego-release #122: add parallel blob download to deploy script
- cloudfoundry-incubator/diego-acceptance-tests #5: Override default and cf push timeouts if they are configured
Cleanup
- untie KeyManager validation from encryption flags
- Expunge unnecessary references to storeadapter and etcdClients from Diego projects
- Remove Godeps from buildpack_app_lifecycle
- Use fake clock on executor/depot/metrics/reporter_test.go
Miscellany
- CC/CC-Bridge should report UNCLAIMED instances with a placement error as 'down', not 'starting'
- Fix ketchup canary app
- pushing an app with a long filename fails
BOSH job changes
None.
BOSH property changes
- Added
acceptance_tests.cf_push_timeout_in_seconds
: Timeout forcf push
in DATs, in seconds. - Added
acceptance_tests.long_curl_timeout_in_seconds
: Timeout for long curl in DATs, in seconds. - Added
diego.executor.post_setup_hook
: Experimental, command to run after setup action. - Added
diego.executor.post_setup_user
: Experimental, user to run post-setup command as. - Added
vizzini.ssh.proxy_address
: Host and port for the SSH proxy for vizzini test suite. - Added
vizzini.ssh.proxy_secret
: Shared secret for the SSH proxy's Diego authenticator.
Diego v0.1445.0
Changes from v0.1444.0 to v0.1445.0
- Depends on garden-linux-release v0.330.0.
- Depends on etcd-release v20.
Important changes to manifest-generation scripts
As part of story #107891444, the generate-deployment-manifest
script now takes flag-based arguments instead of positional ones, and simplifies some of the arguments. The script now takes three required stub arguments, and two optional ones:
-c
: CF deployment manifest file (required)-i
: IaaS settings stub file (required)-p
: Property overrides stub file (required)-n
: Instance-count overrides stub file (optional)-v
: Release-version stub file (optional)
The additional-jobs stub has been dropped, and the persistent-disk overrides stub content is now merged into the IaaS settings stub file.
Significant changes
Performance tests
- Re-enable the benchmark-bbs tests with a smaller target number of records (in flight)
- As an operator I should be able to configure my database persistent disk
Upgrade stability tests
Bind-mounting downloads
- As a BBS API client, I can specify that my DownloadAction on a Task or DesiredLRP is to be provided via a read-only bind-mount, and updated Diego Cells will respect that (in flight)
- add logging around download action's rate limiting
SSH
Manifest generation
- Diego-release generate-deployment-manifest script should specify stubs via flags, not positional arguments
- cloudfoundry-incubator/diego-release #103: Allowed to set filename for $development
- Fix metron_agent spec to disable buffering by default
- cloudfoundry-incubator/diego-release #108: failure output of generate-bosh-lite-manifests is confusing
Logging and Monitoring
- The executor's Monitor step should log on health transitions
- The Diego Health dashboard should display the number of unhealthy cells
Dependencies
- Update cflinuxfs2 rootfs in diego-release to 1.22.0+
- Update cflinuxfs2 rootfs in diego-release to 1.23.0+
Miscellany
- Investigate whether cells can be bosh stopped and bosh started
- rep ctl script should not override conntrack setting on bosh-lite
BOSH job changes
None.
BOSH property changes
None.
Diego v0.1444.0
Changes from v0.1443.0 to v0.1444.0
- Depends on garden-linux-release v0.330.0.
- Depends on etcd-release v20.
Significant changes
- Refactor executor to use the allocation store as a cache when retrieving information about containers on a cell.
- Re-enable the benchmark-bbs tests with a smaller target number of records (in flight)
- cloudfoundry-incubator/cf_http #1: Add Apache License v2.0
BOSH job changes
None.
BOSH property changes
None.
Diego v0.1443.0
Changes from v0.1442.0 to v0.1443.0
- Depends on garden-linux-release v0.329.0.
- Depends on etcd-release v20.
Significant changes
Bind-mounting downloads
- As a cached-downloader client, I would like to retrieve a cached downloaded asset as an expanded archive in a directory
- Add integration test coverage for FetchAsDirectory
Upgrade stability tests
- As a Diego developer, I expect that the 'upgrade-from-stable' suite runs smoke tests against my piecewise deployment at each step between upgrades from V0 to V-prime
- As a Diego developer, I expect that the 'upgrade-from-stable' suite tests SSH functionality in the new-app smoke tests
- As a Diego developer, I expect that the 'upgrade-from-stable' suite pushes an app to my piecewise deployment after V0 is deployed and checks its scalability at each step between upgrades from V0 to V-prime
- As a Diego developer, I expect the 'upgrade-from-stable' suite to check the initial V0 app for continual routability during Diego deployment upgrades (but not CF)
- Upgrade-pipeline manifests should not deploy legacy runtime components
- As a Diego developer, I expect to run the 'upgrade-from-stable' suite in CI against a new BOSH-Lite instance provisioned on AWS (in flight)
- scripts/sync-submodule-config needs to add diego-upgrade-stability in tests section
Performance tests
Docker support
- Unable to push 'redis' as a docker image app, but 'library/redis' works
- cloudfoundry-incubator/nsync #4: Use ports in desired app cc message for docker app
SSH
- cloudfoundry-incubator/diego-ssh #12: Simplify SHA1/MD5 fingerprint generators
- cloudfoundry-incubator/diego-ssh #13: Wait for exec stream copies to complete
Internal correctness and safety
- Auction cell-state request policy should be more resilient to slow cells
- Cells that fail an internal health-check should opt out of performing auction work
- Refactor executor to use the allocation store as a cache when retrieving information about containers on a cell. (in flight)
- The route-emitter should avoid taking destructive action on a DesiredLRP's routes if its domain is not fresh
- Convergence and RemoveDesiredLRP should delete orphaned RunInfos
- BBS should not panic during LRP convergence when the DesiredLRP is not present
Dependencies
- Update cflinuxfs2 stack in diego-release to 1.19.0+
- Update cflinuxfs2 rootfs in diego-release to 1.20.0+
- Update cflinuxfs2 rootfs in diego-release to 1.21.0
Manifest generation
- As a Diego operator, I should be able to configure the dropsonde port on Diego components via my deployment manifest
- As a Diego operator, I should be able to configure the metron agents in the Diego deployment to contact doppler servers on a different port
- cloudfoundry-incubator/diego-release #109: move templates out of stubs directories, and generate clean manifests
- cloudfoundry-incubator/diego-release #98: Fix co-located diego manifest generation
Logging and metrics
- As a Diego operator, I would like to capture request metrics from the auctioneer handlers via the Datadog nozzle
- Route-emitter should log route information only about 'cf-router' routes
- Do not log ssh routes private key in nsync logs.
- cloudfoundry-incubator/diego-ssh #14: Additional logging context in proxy
Documentation
Test coverage and flakiness
- cloudfoundry-incubator/rep #7: Fix test race in maintain and harmonizer pkg
- Coverage for exportNetworkEnvVars
- scripts/run-cats
- cloudfoundry-incubator/diego-release #106: Added a variable to disable failfast
BOSH job changes
None.
BOSH property changes
- Add
diego.auctioneer.dropsonde_port
: Port on which the auctioneer emits dropsonde messages to metron. - Add
diego.bbs.dropsonde_port
: Port on which the BBS emits dropsonde messages to metron. - Add
diego.bbs.desired_lrp_creation_timeout
: Expected maximum time for the BBS to create a complete DesiredLRP record. - Add
diego.cc_uploader.dropsonde_port
: Port on which the cc-uploader emits dropsonde messages to metron. - Add
diego.converger.dropsonde_port
: Port on which the converger emits dropsonde messages to metron. - Add
diego.executor.garden_healthcheck.interval
: Frequency for the executor to health-check garden. - Add
diego.executor.garden_healthcheck.timeout
: Maximum allowed time for executor's garden health-check. - Add
diego.executor.garden_healthcheck.command_retry_pause
: Time to wait between retrying garden commands in executor's health-check. - Add
diego.executor.garden_healthcheck.process.path
: Path of the command to run to perform the executor's garden health-check. - Add
diego.executor.garden_healthcheck.process.args
: Comma-separated list of command-line args to pass to the executor's garden health-check process. - Add
diego.executor.garden_healthcheck.process.user
: User for the executor's garden health-check process to run as. - Add
diego.executor.garden_healthcheck.process.dir
: Container directory in which the executor runs its garden health-check process. - Add
diego.executor.garden_healthcheck.process.env
: Environment variables for the executor to apply when running the garden health-check. - Add
diego.file_server.dropsonde_port
: Port on which the file-server emits dropsonde messages to metron. - Add
diego.nsync.dropsonde_port
: Port on which the nsync-listener and nsync-bulker emit dropsonde messages to metron. - Add
diego.rep.dropsonde_port
: Port on which the rep emits dropsonde messages to metron. - Add
diego.route_emitter.dropsonde_port
: Port on which the route-emitter emits dropsonde messages to metron. - Add
diego.ssh_proxy.dropsonde_port
: Port on which the ssh-proxy emits dropsonde messages to metron. - Add
diego.stager.dropsonde_port
: Port on which the stager emits dropsonde messages to metron. - Add
diego.tps.dropsonde_port
: Port on which the tps-listener and tps-watcher emit dropsonde messages to metron. - Add
vizzini.eventually_timeout
: Default timeout for Ginkgo Eventually assertions in vizzini.
Diego v0.1442.0
Changes from v0.1441.0 to v0.1442.0
- Depends on garden-linux-release v0.328.0.
- Depends on etcd-release v18.
Significant changes
- tps_watcher does not reconnect to the BBS when its session dies
- Fix metron properties in bosh-lite manifest generation
- Remove DATs that are redundant with CATs
- operator should be able to verify that when creating an app with ports and diego:true, requests to the cell host port are received by the app on the requested port
- Update cflinuxfs2 stack in diego-release to 1.18.0+
- cloudfoundry-incubator/consuladapter #1: Add KillWithFire func
- cloudfoundry-incubator/consuladapter #2: Add new line after build flag OR #3: Fix consulrunner build tags for Windows
- cloudfoundry-incubator/rep #5: Use KillWithFire to stop consul on Windows
BOSH job changes
None.
BOSH property changes
None.
Diego v0.1441.0
Changes from v0.1440.0 to v0.1441.0
- Depends on garden-linux-release v0.327.0.
- Depends on etcd-release 18.
Significant changes
- Some docker apps fail to start with command detected from image metadata
- Cell rep state requests should not take longer than 1s to complete (in flight)
- cloudfoundry-incubator/diego-release #97: Ability to set datacenter in templates (defaulting to "dc1")
- cloudfoundry-incubator/diego-release #100: clean up manifest generation, and a couple other things
- As a Diego operator, I would like to be able to configure the rep/executor's memory and disk capacity via the spiff-based manifest-generation tools
- All ports in diego-release should be configurable via BOSH properties
- Update cf cli in diego-release to 6.13.0+
- Update cflinuxfs2 rootfs to 1.16.0+
- Update cflinuxfs2 stack to 1.17.0+
BOSH job changes
None.
BOSH property changes
- Replace
diego.nsync.nsync_url
withdiego.nsync.listen_addr
: This is now the address on which the nsync-listener listens for requests, instead of the URL other services use to communicate with the nsync-listener. - Replace
diego.stager.stager_url
withdiego.stager.listen_addr
: This is now the address on which the stager listens for requests, instead of the URL other services use to communicate with the stager. - Add
diego.stager.staging_task_callback_url
: This is the URL of the stager service, used to receive staging task completion callbacks from the BBS. - Add
diego.tps.listener.listen_addr
: Address on which the TPS listener receives requests. - Rename
diego.cc_uploader.address
todiego.cc_uploader.listen_addr
. - Rename
diego.file_server.address
todiego.file_server.listen_addr
. - Remove
acceptance_tests.skip_ssh_without_plugin_tests
: The Diego Acceptance Tests suite now uses only the core CF CLI, at version 6.13.0, and not the separate SSH CLI plugin.
Diego v0.1440.0
Changes from v0.1439.0 to v0.1440.0
- Depends on garden-linux-release v0.326.0.
- Depends on etcd-release 18.
Important changes
The recommended version of garden-linux-release, v0.326.0, has changed its backing layer system to use aufs instead of btrfs. Please see the notes for this Garden-Linux final release for more details.
If you are upgrading from garden-linux-release v0.316.0 or earlier, we recommend you recreate your Diego Cells during the upgrade to v0.326.0 and later, to avoid issues with residual containers on the btrfs volume that garden-linux will be unable to delete. You can do this intentionally with the --recreate
flag on bosh deploy
, or incidentally by deploying a new stemcell at the same time. If you've been waiting to upgrade your stemcell, now's a great time!
Also, if you are using the generate-deployment-manifest
script to produce your Diego deployment manifest, please be aware that it has incorporated a few changes to its arguments:
- The optional 'director-uuid' stub argument is now removed, as the BOSH director UUID will be taken from the CF manifest.
- There is a new required argument that expects a stub optionally specifying the versions of the Diego, Garden-Linux, and ETCD releases to deploy. If any of these versions are missing, they will default to 'latest'.
Other significant changes
- Errors about invalid DesiredLRPs should not prevent the nsync-bulker from bumping the cf-apps domain
- As a Diego developer, I would like documentation about which BBS API endpoints are public or private
- If the rep gets an unrecoverable error from garden when starting up, it should exit immediately
- Diego ssh proxy template should not require
ssh_proxy.diego_credentials
to be set if the diego authenticator is not enabled - environment variables from the default running group sometimes do not appear in the apps environment
- Remove director_uuid argument from generate-deployment-manifest
- diego manifest generation should use the cf release version specified in the cf-release manifest used as a stub rather than defaulting to latest
- As a Diego operator, I should be able to specify versions of the diego, etcd, and garden-linux releases when generating a manifest
- cloudfoundry-incubator/diego-release #85: Enables other stub configurations to be merged in after the enable_ss…
- cloudfoundry-incubator/consuladapter #1: Add KillWithFire func
- cloudfoundry-incubator/candiedyaml #16: Fix panic for strings less than 3 chars
- cloudfoundry-incubator/executor #15: Fix race condition in run step test
- Roll back garden-linux-release on CI to 0.316
- enable aufs on ci
- Enable aufs on CI
BOSH property changes
None.
Diego v0.1439.0
Changes from v0.1438.0 to v0.1439.0
- Depends on garden-linux-release v0.316.0.
- Depends on etcd-release 18.
Significant changes
- Errors about invalid DesiredLRPs should not prevent the nsync-bulker from bumping the cf-apps domain
- Auctioneer should distribute tasks as evenly as possible
- Auction state requests should time out after 1s by default
- As a Diego developer, I expect to run the 'upgrade-from-stable' suite in CI against a new BOSH-Lite instance provisioned on AWS
- pivotal-golang/lager #16: Use Reader instead of Scanner to avoid large token issue
- Update cflinuxfs2 rootfs to 1.15.0+
BOSH property changes
- Add
diego.auctioneer.cell_state_timeout
: Duration for the auctioneer to wait before timing out state requests to cells. Defaults to "1s". - Add
diego.executor.max_concurrent_downloads
: Number of concurrent downloads/stream-ins to allow the executor to perform at once. Defaults to "5".
Diego v0.1438.0
Changes from v0.1437.0 to v0.1438.0
- Depends on garden-linux-release v0.316.0.
- Depends on etcd-release 18.
Significant changes
- As a CF app developer, I would like to be able to stage Docker images from registries that present only the v2 registry API
- The BBS should retry a DesiredLRP update if it fails because of a CAS error
- Auction state requests should be resilient to network errors
- auctioneer should log the ids of the work it assigns to cell reps and the ids of any work rejected
- As a Diego operator, I would like to see the rep emit container creation time as a metric
- BBS should emit metrics for unclaimed, claimed, missing, and extra LRPs
- As a Diego developer, I would like a CONTRIBUTING document in diego-release instead of instructions in the main README
- As a Diego operator or developer, I would like instructions for deploying CF+Diego at various states of stability
- As a Diego team member, I would like to run the bbs benchmark suite in CI
- As a Diego developer, I would like a benchmark suite for retrieval of DesiredLRP and ActualLRP data by the route-emitter
- TPS listener should have logging around calls to external services
- Tune taskCBWorkPool and createActualMaxWorkers workpool sizes
- expose workpool sizes as command line arguments
- Investigate the time it takes to schedule task auctions for 4000 tasks
- cloudfoundry-incubator/diego-release #82: Allow skipping of acceptance tests by using regex
- cloudfoundry-incubator/diego-release #84: Re-enable btrfs and disk quotas on BOSH lite
BOSH job changes
None.
BOSH property changes
- Add
acceptance_tests.skip_regex
: Skip tests with descriptions matching this regular expression. - Add
benchmark-bbs.log_file
: File name for benchmark log output.