Advanced Continuous Delivery for PE configuration

Advanced configuration settings for Continuous Delivery for PE help you fine-tune aspects of the software that can impact runtime and operation speed.

Adjusting available memory

Adjust the amount of memory available to Continuous Delivery for PE based on the size of your repositories and the complexity of your desired workflows.

In some cases, the amount of memory allocated to the Continuous Delivery for PE application by default isn't sufficient. Memory consumption scales with the size of a repository and the desired number of concurrently running jobs.

Adjust the amount of memory allocated to Continuous Delivery for PE by setting Memory available for CD4PE (in MiB) in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.

Adjusting the timeout period for snapshots

Puppet Application Manager makes backup copies of the various components of your Continuous Delivery for PE installation when creating a snapshot. You can configure the length of time Puppet Application Manager is able to spend making each component's backup copy.

Find more information about creating and using snapshots in the Puppet Application Manager (PAM) documentation section.

To use any of the settings in this section, set them in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.

Table 1.
Setting Description Default value
Object store backup timeout The amount of time that a running snapshot spends attempting to back up the Continuous Delivery for PE object store. 30 minutes
Continuous Delivery for PE database backup timeout The amount of time that a running snapshot spends attempting to back up the Continuous Delivery for PE database. 10 minutes
Nodes database backup timeout The amount of time that a running snapshot spends attempting to back up the database used by the Nodes page. 10 minutes

Improving job performance by caching Git repositories

Users with large Git repositories can enable Git repository caching in order to improve job performance. By default, repository caching is disabled.

Enable Git Repo caching in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.

Including the .git directory in cached repositories

The .git directory is automatically omitted when copying cached Git repositories to job hardware. This means that the job cannot perform Git actions on the code. If needed, you can adjust this setting so that the .git directory is included in the cached repository.

To include the .git directory in copies of cached Git repositories sent to job hardware, enable Include Git history for jobs in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.

Adjusting the timeout period for jobs

In some circumstances, such as when working with large Git repositories, you may need to adjust the length of the job timeout period. Use the settings in this section to customize your job timeout period.

To use any of the settings in this section, set them in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.
Setting Description Default value
Repo cache retrieval timeout (minutes) Only available if Git repository caching is enabled. Sets the timeout period for a thread attempting to access a cached Git repository. 28 minutes
Job HTTP read timeout (minutes) Sets the timeout period for a job connecting to an endpoint. 29 minutes
Job global timeout (minutes) Sets the default timeout period for jobs. Once this timeout period elapses, the job fails and a timeout message is printed to the log. 30 minutes
Bolt PCP read timeout (seconds) Sets the Bolt PCP read timeout period.
Note: Jobs cannot proceed while file sync is running. If a file sync operation is not completed before the Bolt PCP read timeout period elapses, the job fails. Increase the Bolt PCP read timeout period to prevent these job failures.
60 seconds

In order to ensure that all useful error messages are printed to the logs, make sure that the value of Job global timeout is larger than the value of Job HTTP read timeout, and that both are larger than the value of Repo cache retrieval timeout.

Configuring LDAP server search result limits

By default Continuous Delivery for PE requests 500 search results at a time from a connected LDAP server. If your LDAP server has a search result limitation below 500, you can configure Continuous Delivery for PE to match the LDAP server's search result threshold by setting LDAP group search size limit in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.

Adjusting HTTP timeout periods

In some circumstances, you may need to adjust the length of the timeout period for various HTTP operations. Use the settings in this section to customize your HTTP timeout periods.

To use any of the settings in this section, set them in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.
Setting Description Default value (seconds)
Global HTTP connection timeout (seconds) Sets the timeout period for all external HTTP connections. 120
Global HTTP read timeout (seconds) Sets the timeout period for all external HTTP read actions. 120
Global HTTP write timeout (seconds) Sets the timeout period for all external HTTP write actions. 120
Global HTTP request timeout (seconds) Sets the total amount of time an external HTTP request will remain open. 300

Configuring login attempt limits

By default, Continuous Delivery for PE enforces limits on the number of unsuccessful login attempts that can be made by a user within a certain timeframe. If the user exceeds the allowed number of unsuccessful login attempts within that timeframe, their account will be temporarily locked. Use the settings in this section to customize login attempt limiting for your installation.

To change any of the default parameters for login attempts, set them in the Advanced configuration and tuning section of the Config page in Puppet Application Manager.
Setting Description Default value
Max login attempts before lockout The number of unsuccessful login attempts a user can make before the account is locked. 10 (attempts)
Time period (minutes) to look at for failed logins The amount of time that will elapse before the count of failed login attempts restarts. 15 (minutes)
Time period (minutes) to lock an account How long a user's account will be locked if the number of unsuccessful login attempts is exceeded within the failed login timeframe. 120 (minutes)