Continuous Delivery for PE known issues
These are the known issues for the Continuous Delivery for Puppet Enterprise (PE) 4.x release series.
A Puppet Enterprise (2023.4 or later) module is not compatible with Ruby 3.2
A module included with Puppet Enterprise 2023.4 or later is not compatible with Ruby 3.2. While this does not affect Puppet Enterprise users, it can affect users integrating Continuous Delivery for Puppet Enterprise (PE) with these versions of PE. If you are integrating Continuous Delivery for PE with Puppet Enterprise 2023.4 or later, install a version of the module compatible with newer Ruby versions using the following command:
puppet module upgrade puppetlabs-cd4pe_jobs
Continuous Delivery for Puppet Enterprise (PE) fails when used with Puppet 8 (Puppet Enterprise 2023.4 or later)
Puppet 8 (included with Puppet Enterprise 2023.4 or later) has
removed legacy facts by default. Continuous Delivery for PE relies on the
operatingsystem in order to develop a
list of systems that are available to be used as job hardware. If you are running
Continuous Delivery for PE 5.x with Puppet Enterprise 2023.4 or
later, you need to add the following to
Users trying to login using SAML SSO could see a 405 Method Not Allowed
The SAML redirect URL changed in version 4.22.0 to:
CD4PE WEB UI ENDPOINT>/cd4pe/saml-auth. Versions of Continuous Delivery for PE prior to 4.22.0 should continue to use:
<YOUR CD4PE WEB UI ENDPOINT>/saml-auth.
When upgrading Continuous Delivery for PE and Puppet Application Manager, you lose connectivity to your cluster
The issue occurs either during or after an upgrade to Continuous Delivery for PE and Puppet Application Manager. In each scenario you eventually lose
connectivity to your clusters in Puppet Application Manager and Kubernetes. You get errors that images are missing,
kubelet are running.
To address this issue, follow the instructions in this knowledge base article.
Installing on 4 CPUs can hang with the new
pod stuck in a "Pending" status
Standalone installations on systems with 4 CPUs have an issue where upgrades and
configuration changes can hang with the new
pod stuck in a "Pending" status.
To work around the issue temporarily delete a non-critical pod. For example, to
delete the Prometheus pod use
kubectl delete pod -n monitoring -l
Once 4.22.0 is deployed, the best long term solution is to deselect Enable Vault in the Puppet Application Manager (PAM) UI under Advanced configuration and tuning. Vault is not used in Continuous Delivery for PE 4.22.0 and freeing the resources it consumes allows 4 CPU installations to upgrade without this problem.
Upgrading to 4.12.0 can delete the
In busier Kubernetes clusters, upgrading to Continuous Delivery for PE version 4.12.0 can delete the
Ingress. If the application is unavailable after
kubectl get ingress cd4pe returns an
empty list, redeploy the deployed version to recreate the Ingress.
Impact analysis can require additional disk space
Impact analysis branches are not always pruned after impact analysis is complete. This creates orphaned environments that fill up the /etc/puppetlabs/code/environments directory on the PE primary server. If you are experiencing storage capacity issues with impact analysis, increase the storage capacity on the /etc/puppetlabs/code/environments mount.
Impact analysis tasks fail when using the
When using the
satellite_pe_tools module with Continuous Delivery for PE, impact analysis tasks fail with a
"Internal Server Error: org.jruby.exceptions.RuntimeError: (Error)
PuppetDB not configured, please provide facts with your catalog
request" error. This issue occurs because the API endpoint used to
collect facts during impact analysis tasks errors if the
fact_terminus parameter is set to
satellite or any value other than
puppetdb. This issue is resolved in the versions of Puppet Server included in PE
versions 2021.4 and 2019.8.9.
Impact analysis tasks fail when using Puppet Enterprise versions 2021.2 or 2019.8.7
Impact analysis fails with a
R10K::Module::Forge cannot handle
option ‘default_branch_override’ error. If you're using PE version 2021.2 or 2019.8.7, you must update the
pe-r10k package by following the instructions in this Puppet Support
article to continue to use impact analysis. After you update the package,
you can update to future versions of PE using the
installer as normal.
Preflight check failure when using Puppet Application Manager versions 1.19 or 1.20
Puppet Application Manager versions 1.19 and 1.20 display an
Analyzer Failed: invalid analyzer error during the
preflight checks when deploying a new version of Continuous Delivery for PE.
This error relates to analyzers supported by version 1.24 and newer versions of the
Puppet Application Manager. The error can be safely ignored. To
resolve the failure and take advantage of the new preflight checks, upgrade Puppet Application Manager to the latest version.
Deployments might time out on node groups with complex rules
When using a built-in deployment policy other than the eventual consistency policy to deploy changes to a node group with highly complex rules, the deployment times out in some cases.
A PE instance cannot be integrated if
dns_alt_names is not set on the master
If the Puppet master certificate for your PE instance does not have
dns_alt_names configured, attempting to integrate the instance with
Continuous Delivery for PE fails with a
We could not successfully
validate the provided credentials against the Code Manager Service
error. The master certificate must be regenerated before PE is integrated with Continuous Delivery for PE. For instructions, see Regenerate master certificates in the PE documentation.
Jobs fail when using chained SSL certificates on Windows
If you are using Continuous Delivery for PE with SSL configured to use chained certificates, attempts to run jobs on Windows job hardware fail.
Custom deployment policies aren't initially shown for new control repos
When your first action in a newly created control repo is to add a deployment to a pipeline, any custom deployment policies stored in the control repo aren't shown as deployment policy options. To work around this issue, click Built-in deployment policies and then click Custom deployment policies to refresh the list of available policies.