Unraveling Cloud Foundry job interdependencies

While Cloud Foundry BOSH release is getting bigger and bigger, and more components are added, it is becomming harder to understand the dependencies between jobs.

Soon with the addition of BOSH links, BOSH will hopfully be smarter about the order in which to start the components in a new deployment.

But untill BOSH links land in master we will have to figure out the correct order our selfs. This is why I wrote a small script to parse the release and display the job dependencies in a markdown table.

The results with cf-relase#v214 can be seen below:

Job Property Description
0 acceptance-tests
0 statsd-injector
0 smoke-tests
0 consul_agent
0 debian_nfs_server
0 haproxy
1 postgres databases.address The database address
1 dea_next nats.machines IP of each NATS cluster member.
1 nfs_mounter nfs_server.address NFS server for droplets and apps (not used in an AWS deploy, use s3 instead)
1 nats_stream_forwarder nats.machines NATS addresses
1 etcd etcd.machines Addresses of etcd machines
1 etcd_metrics_server etcd_metrics_server.nats.machines array of NATS addresses
1 gorouter nats.machines IP of each NATS cluster member.
1 routing-api etcd.machines The IPs of etcd hosts
1 nats nats.machines IP of each NATS cluster member.
1 syslog_drain_binder etcd.machines IPs pointing to the ETCD cluster
2 dea_logging_agent nats.machines IP addresses of Cloud Foundry NATS servers
dea_logging_agent etcd.machines IPs pointing to the ETCD cluster
2 doppler etcd.machines IPs pointing to the ETCD cluster
doppler nats.machines IP addresses of Cloud Foundry NATS servers
3 hm9000 nats.machines
hm9000 etcd.machines IPs pointing to the ETCD cluster
hm9000 hm9000.url URL that HM9000 will register with the gorouter
3 collector collector.opentsdb.address IP address of OpenTsdb
collector collector.graphite.address IP address of Graphite
collector nats.machines IP of each NATS cluster member.
3 loggregator_trafficcontroller uaa.url URL of UAA
loggregator_trafficcontroller etcd.machines IPs pointing to the ETCD cluster
loggregator_trafficcontroller nats.machines IP addresses of Cloud Foundry NATS servers
3 metron_agent syslog_daemon_config.address IP address for syslog aggregator
metron_agent nats.machines IP addresses of Cloud Foundry NATS servers
metron_agent etcd.machines IPs pointing to the ETCD cluster
5 cloud_controller_clock nats.machines IP of each NATS cluster member.
cloud_controller_clock ccdb.address
cloud_controller_clock uaa.url
cloud_controller_clock login.url
cloud_controller_clock hm9000.url
6 cloud_controller_ng nats.machines IP of each NATS cluster member.
cloud_controller_ng nfs_server.address NFS server for droplets and apps (not used in an AWS deploy, use s3 instead)
cloud_controller_ng ccdb.address
cloud_controller_ng uaa.url
cloud_controller_ng login.url
cloud_controller_ng hm9000.url
6 cloud_controller_worker nats.machines IP of each NATS cluster member.
cloud_controller_worker nfs_server.address NFS server for droplets and apps (not used in an AWS deploy, use s3 instead)
cloud_controller_worker ccdb.address
cloud_controller_worker uaa.url
cloud_controller_worker login.url
cloud_controller_worker hm9000.url
7 uaa nats.machines IP of each NATS cluster member.
uaa uaadb.address The UAA database IP address
uaa uaa.url
uaa uaa.ldap.url The URL to the ldap server, must start with ldap:// or ldaps://
uaa login.ldap.url See uaa.ldap.url – login.ldap prefix is used for backwards compatibility to enable ldap from login config
uaa login.notifications.url The url for the notifications service (configure to use Notifications Service instead of SMTP server)
uaa login.logout.redirect.url The Location of the redirect header following a logout of the the UAA (/logout.do). Default value is back to login page (/login)

Spread the word

twitter icon facebook icon linkedin icon