Generating impact analysis reports

Impact analysis reports show you the effect and risk of proposed code changes, allowing for quick review of lower-risk changes while enabling additional scrutiny for higher-risk changes. Add an impact analysis task to each control repo and module repo pipeline to generate an impact analysis report for every change submitted to your repos.

Note: When impact analysis is enabled, catalog compiles are generated every time an impact analysis task detects that a node may be impacted by a change to your Puppet code. These additional compiles increase the performance load placed on your PE master.

Add impact analysis to a module pipeline

Once you add an impact analysis task to your module pipeline, the impact analysis report is automatically generated each time the pipeline is triggered and the conditions you've set are met.

Before you begin
  1. Configure impact analysis.

  2. Set up a pipeline for your module that includes at least one deployment.

CAUTION: Impact analysis fails if you include the $environment variable in your Puppet manifest. Instead, use Hiera and class parameters.

Impact analysis reports are generated by diffing a newly generated catalog for the deployment conditions you've set against the current catalog for the same deployment. The results of this process are shown in the impact analysis report.

You can add as many impact analysis tasks to your pipeline as you wish, but each stage in the pipeline can have only one impact analysis task. An impact analysis task cannot be in the same stage as a deployment.

  1. In the Continuous Delivery for PE web UI, click Modules. Click the name of the module you wish to add impact analysis to.
  2. Select the pipeline you wish to add impact analysis to. Make sure there is at least one deployment present in the pipeline.

    Impact analysis is calculated for your pipeline using the deployment conditions you've chosen.

  3. Add impact analysis to a stage that does not contain a deployment. Click More actions . Select Add item to stage, then select Impact analysis.
    Tip: For best results, add impact analysis to a stage in your pipeline that comes before a PR gate and before any deployment stages.
  4. Optional: Set the catalog compilation batch size. By default, Continuous Delivery for PE compiles 10 catalogs at a time when performing an impact analysis task.
  5. Select the environments you want to generate an impact analysis report for.
  6. For each selected environment, choose the control repo where the code associated with that environment is stored.
  7. Click Add impact analysis.
Results
Impact analysis is now enabled for your module pipeline. An impact analysis report is generated each time the pipeline runs.

Add impact analysis to a control repo pipeline

Once you add an impact analysis task to your control repo pipeline, the impact analysis report is automatically generated each time the pipeline is triggered and the conditions you've set are met.

Before you begin
  1. Configure impact analysis.

  2. Set up a pipeline for your control repo that includes at least one deployment.

CAUTION: Impact analysis fails if you include the $environment variable in your Puppet manifest. Instead, use Hiera and class parameters.

Impact analysis reports are generated by diffing a newly generated catalog for the deployment conditions you've set against the current catalog for the same deployment. The results of this process are shown in the impact analysis report.

You can add as many impact analysis tasks to your pipeline as you wish, but each stage in the pipeline can have only one impact analysis task. An impact analysis task cannot be in the same stage as a deployment.

  1. In the Continuous Delivery for PE web UI, click Control repos. Click the name of the control repo you wish to add impact analysis to.
  2. Select the pipeline you wish to add impact analysis to. Make sure there is at least one deployment present in the pipeline.

    Impact analysis is calculated for your pipeline using the deployment conditions you've chosen.

  3. Add impact analysis to a stage that does not contain a deployment. Click More actions . Select Add item to stage, then select Impact analysis.
    Tip: For best results, add impact analysis to a stage in your pipeline that comes before a PR gate and before any deployment stages.
  4. Optional: Set the catalog compilation batch size. By default, Continuous Delivery for PE compiles 10 catalogs at a time when performing an impact analysis task.
  5. Determine which environments you want to generate an impact analysis report for.
    • Select Run for all environments in the pipeline to generate impact analysis for all environments used by all deployments in the pipeline.

    • Select Run for selected environments to choose which environments to run impact analysis on from among those used by the pipeline's deployments.

  6. Click Add impact analysis.
Results

Impact analysis is now enabled for your control repo pipeline. An impact analysis report is generated each time the pipeline runs.

Generate an impact analysis report on demand

You can create a new impact analysis report for any code change committed to a control repo or module in Continuous Delivery for PE without triggering a pipeline.

Before you begin
Impact analysis reports are generated by diffing a newly generated catalog for the deployment conditions you've set against the current catalog for the same deployment. The results of this process are shown in the impact analysis report.

  1. In the Continuous Delivery for PE web UI, navigate to the control repo or module you wish to generate an impact analysis report for.
  2. Click Manual actions and select New impact analysis.
  3. Select the branch where the code you want to analyze is located, then select the specific commit that contains the new code.
  4. Select the PE instance that manages the nodes you want to analyze, then select the specific node group.
    • For impact analysis on a control repo: If relevant, select an environment prefix.
    • For impact analysis on a module: Select the control repo where the module's environment code is deployed.
  5. Finally, set the number of node catalogs that should be compiled concurrently.
  6. Click Analyze. A new impact analysis report based on your selections is generated for you. Click View impact analysis to be redirected to the report.
    Note: Depending on the size of your node group, it may take several minutes for the impact analysis report to be created.