Building Dependency Trees

Overview

OKD uses image change triggers in a BuildConfig to detect when an image stream tag has been updated. You can use the oc adm build-chain command to build a dependency tree that identifies which images would be affected by updating an image in a specified image stream.

The build-chain tool can determine which builds to trigger; it analyzes the output of those builds to determine if they will in turn update another image stream tag. If they do, the tool continues to follow the dependency tree. Lastly, it outputs a graph specifying the image stream tags that would be impacted by an update to the top-level tag. The default output syntax for this tool is set to a human-readable format; the DOT format is also supported.

Usage

The following table describes common build-chain usage and general syntax:

Table 1. Common build-chain Operations
DescriptionSyntax

Build the dependency tree for the latest tag in <image-stream>.

  1. $ oc adm build-chain <image-stream>

Build the dependency tree for the v2 tag in DOT format, and visualize it using the DOT utility.

  1. $ oc adm build-chain <image-stream>:v2 \
  2. -o dot \
  3. | dot -T svg -o deps.svg

Build the dependency tree across all projects for the specified image stream tag found the test project.

  1. $ oc adm build-chain <image-stream>:v1 \
  2. -n test all

You may need to install the graphviz package to use the dot command.