Jenkins setup:
Version 2.452.2 from helm chart, running on EKS, configured by JCASC. All agents are run in the EKS cluster that contains Jenkins.
Jenkins: 2.452.2
OS: Linux - 5.10.219-208.866.amzn2.x86_64
Java: 17.0.11 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
ace-editor:1.1
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
asm-api:9.7-33.v4d23ef79fcc8
authentication-tokens:1.119.v50285141b_7e1
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1178.v969d9eb_c728e
build-blocker-plugin:166.vc82fc20b_a_ed6
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.1
cloudbees-folder:6.928.v7c780211d66e
command-launcher:107.v773860566e2e
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
configuration-as-code:1850.va_a_8c31d3158b_
credentials:1378.v81ef4269d764
credentials-binding:681.vf91669a_32e45
data-tables-api:2.1.6-1
display-url-api:2.204.vf6fddd8a_8b_e9
durable-task:577.v2a_8a_4b_7c0247
echarts-api:5.5.1-1
eddsa-api:0.3.0-4.v84c6f0f4969e
flatpickr-api:4.6.13-5.v534d8025a_a_59
font-awesome-api:6.6.0-2
generic-webhook-trigger:2.2.2
git:5.5.1
git-client:5.0.0
git-server:126.v0d945d8d2b_39
github:1.40.0
github-api:1.321-468.v6a_9f5f2d5a_7e
github-branch-source:1797.v86fdb_4d57d43
gson-api:2.11.0-41.v019fcf6125dc
handlebars:3.0.8
instance-identity:185.v303dc7c645f9
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
job-dsl:1.87
joda-time-api:2.13.0-85.vb_64d1c2921f1
jquery3-api:3.7.1-2
jsch:0.2.16-86.v42e010d9484b_
json-api:20240303-41.v94e11e6de726
json-path-api:2.9.0-58.v62e3e85b_a_655
junit:1302.va_b_878c32eb_b_5
kubernetes:4290.v93ea_4b_b_26a_61
kubernetes-client-api:6.10.0-240.v57880ce8b_0b_2
kubernetes-credentials:190.v03c305394deb_
kubernetes-credentials-provider:1.262.v2670ef7ea_0c5
ldap:725.v3cb_b_711b_1a_ef
lockable-resources:1315.v4ea_8e5159ec8
mailer:472.vf7c289a_4b_420
matrix-auth:3.2.2
matrix-project:832.va_66e270d2946
metrics:4.2.21-451.vd51df8df52ec
mina-sshd-api-common:2.13.2-125.v200281b_61d59
mina-sshd-api-core:2.13.2-125.v200281b_61d59
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
parameterized-scheduler:277.v61a_4b_a_49a_c5c
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-groovy-lib:730.ve57b_34648c63
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-extensions:2.2214.vb_b_34b_2ea_9b_83
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2214.vb_b_34b_2ea_9b_83
pipeline-stage-view:2.34
plain-credentials:183.va_de8f1dd5a_2b_
plugin-util-api:4.1.0
prism-api:1.29.0-17
prometheus:787.v52e8f47488fc
rebuild:332.va_1ee476d8f6d
role-strategy:743.v142ea_b_d5f1d3
schedule-build:577.v0613c45b_9eef
scm-api:696.v778d637b_a_762
script-security:1362.v67dc1f0e1b_b_3
snakeyaml-api:2.3-123.v13484c65210a_
ssh-credentials:343.v884f71d78167
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
view-job-filters:382.vdf2d5e3f02f0
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3969.vdc9d3a_efcc6a_
workflow-cps-global-lib:612.v55f2f80781ef
workflow-durable-task-step:1371.vb_7cec8f3b_95e
workflow-job:1400.v7fd111b_ec82f
workflow-multibranch:783.787.v50539468395f
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:926.v9f4f9b_b_98c19
I have 3 seed jobs specified in the Jenkins config that are run periodically to maintain the various jobs in Jenkins. The seed job only creates the folder structure in Jenkins as well as the various jobs. If the job doesn’t exist, it’s created by the seed job, then run. Each job is a pipeline script that contains all of its own settings including the cron expression. So each job is responsible for configuring itself on the first run.
Here’s the problems:
1: At creation, some jobs randomly will not add the cron schedule ( “Build periodically with parameters”) despite being run successfully after the job is created.
2: At some random time later, usually weeks, some jobs (not all jobs, just some at random) will forget the cron expression. Viewing the job configuration, the “Build periodically with parameters” option is not selected anymore. Running the job again successfully should configure the cron schedule again as the config is in the job pipeline, but it doesn’t.
I don’t understand how the option is being unselected. There’s only 3 people that have access to login to Jenkins and none of us are doing it. It’s also happening across all 3 of the Jenkins instances we have doing this. It would be a significant effort to move the job configuration into the seed script, so I don’t want to do that. The only thing I can think of, and this seems likely, is that the seed job is overwriting the jobs with a new config… but if so, then why is the crontab trigger the only option missing?
I’d appreciate any ideas any has. Thanks!