Version 0.1428.0 of Diego is recommended for use with CF v217.
Changes from 0.1412.0 to 0.1428.0
- garden-linux-release
is no longer a submodule of diego-release, therefore is not bundled with
Diego and needs to be uploaded to BOSH separately. - Depends on garden-linux-release v0.303.0.
Breaking changes
- As a Diego operator, I can colocate all the diego-release jobs onto a single
VM: This changes the
default ports of some of the Diego components, meaning that they will no
longer be reachable on the previous ports. Specifically, the default port for
the receptor component changed from 8888 to 8887. - Refactor error handling in the
BBS: This changes how
errors are serialized internally and may cause inter-component communication to
fail unexpectedly during a deploy. No major outage is predicted
for this change. - As a Diego operator, I can run the static file-server and the cc-uploader
server on separate VMs:
This introduces a new component, cc-uploader, split out of the file-server.
This change may cause staging failures during the deploy until the at least one of
the cc-uploaders is up and running. - Make BBS API consistently
RPC-ful: This is a
re-organization of the internal BBS API, changing every endpoint from a
REST-like interface to a RPC-like interface. During the deploy, it will cause
requests to fail, and may cause LRPs to lose routability temporarily.
Other significant changes
- Consul agents and servers communicate securely to the consul
cluster - DATs Java buildpack test should not specify the buildpack
explicitly - Update cflinuxfs2 stack to
1.4.0+ - The BBS server handles calling the task completion callback
URL - Remove extra disk allocation for staging
tasks - Diego should provide the appropriate instance environment variables to its
containers - As a CF app developer, when staging an app on Diego fails, I would like to
see a specific error type depending on the type of
failure - Fix instance env var
names - As a Diego operator, I can configure garden's
allow_host_access
flag
through the manifest-generation
templates - Update cflinuxfs2 rootfs to
1.5.0+ - clean up and integration test the Task
BBS - Clean up Task BBS code from
runtime-schema - Rename 'internal' packages to be compatible with Go 1.5 package
conventions - As a Diego operator, I want always to allow 'root' actions on the
cells - DiskMB limit should apply to total disk size for an instance with a docker
rootfs - Add test coverage for DesiredLRP event
stream - auctioneer should time out requests to cells
correctly - Executor GardenStore RemainingResources and TotalResources can now
fail - All Stager communication should happen directly with the
BBS - Only detect buildpack on java
DAT - Diego core components evacuate ActualLRPs through the BBS API
server - Diego core components create and update DesiredLRPs through the BBS API
server - Diego core components converge LRPs through the BBS API
server - Diego core components desire a task through the BBS API
server - Diego core components take a task through its lifecycle through the BBS API
server - Diego core components trigger task convergence through the BBS API
server - As a CF developer, I expect my app to have CC's global running environment
variables in its environment when running on
Diego - The BBS server serializes different versions of Task data based on BOSH-deployed config
- As a CF user, I would like my cached docker images to start regardless of
the IP addresses of the docker registry
nodes - All BBS serialization can be encoded based on BOSH-deployed config
- As a Diego operator or developer, I would like Diego to consume
garden-linux-release
BOSH job changes
- Add
cc_uploader
job: contains cc-upload-brokering handlers formerly present in the file-server. - Add
rootfses
job: unpackages the cflinuxfs2 rootfs. - Remove
garden-linux
job.
BOSH property changes
- Move
diego.file_server.cc.*
todiego.cc_uploader.cc.*
- This includes:
diego.cc_uploader.cc.base_url
,
diego.cc_uploader.cc.basic_auth_password
,
diego.cc_uploader.cc.job_polling_interval_in_seconds
,
diego.cc_uploader.cc.staging_upload_user
and
diego.cc_uploader.cc.staging_upload_password
. - Also keeps
diego.file_server.log_level
anddiego.cc_uploader.log_level
available.
- This includes:
- Add
diego.cc_uploader.address
: Address on which cc-uploader handles requests. - Add
diego.cc_uploader.debug_addr
: Address for cc-uploader debug server. - Add
diego.cc_uploader.cc.external_port
: CC Port for cc-uploader. - Add
diego.rep.evacuation_timeout_in_seconds
: The time to wait for evacuation to complete in seconds. - Add
diego.bbs.serialization_format
: Default format for BBS records. - Add
diego.converger.bbs.api_url
: Address for the converger to contact the BBS server. - Add
diego.stager.bbs.api_url
: Address for the stager to contact the BBS server. - Add
diego.stager.cc_uploader_url
: Address for the stager to contact the cc-uploader. - Add
diego.stager.docker_registry_address
: Address for stager to contact the caching docker registry. - Remove
diego.auctioneer.receptor_task_handler_url
. - Remove
diego.converger.receptor_task_handler_url
. - Remove
diego.rep.receptor_task_handler_url
. - Remove
diego.stager.diego_api_url
. - Remove
diego.executor.allow_privileged
: Executor now always allows privileged actions (those running as 'root'). - Remove
diego.garden-linux
in favor ofgarden
:diego.garden-linux.listen_network
=>garden.listen_network
diego.garden-linux.listen_address
=>garden.listen_address
diego.garden-linux.allow_networks
=>garden.allow_networks
diego.garden-linux.insecure_docker_registry_list
=>garden.insecure_docker_registry_list
diego.garden-linux.mtu
=>garden.network_mtu
- Add
garden.deny_networks
: List of CIDR blocks to which containers will be denied access. - A full list of the garden-linux-release properties can be found here