System configuration for OpenStack Infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1315 lines
42KB

  1. - job:
  2. name: puppet-beaker-rspec-puppet-4-infra-system-config
  3. parent: puppet-beaker-rspec-puppet-4-infra
  4. vars:
  5. project_src_dir: "{{ zuul.project.src_dir }}/modules/openstack_project"
  6. # Image building jobs
  7. - secret:
  8. name: system-config-dockerhub
  9. data:
  10. username: opendevzuul
  11. password: !encrypted/pkcs1-oaep
  12. - FF2mwsdYo4b9QI/kEmeFdZS32I+OJUac2xy4JEQJaIevRK9E3rQ/11cBn7xX6zelA/htY
  13. hENMM1gGTYO8BKgTVNijFfCiVCTYFJ9efsOrSeMdj2aLcq/OkZFeq8gMHAZDv+3qaiggq
  14. hbDmldgSouNahhJByWMsDjYqnItfR8w1dYisNQBkDEJdNW5+Cin5WgHRYv2skui9pjumU
  15. vWHjwLbITLEjb0hwVErggAzvED4x0UjNEMfb6KCpoXeKdlCaI8h1DXVD9RdQ4s1WvUCro
  16. xwl4AIUyCmdtXbqW787PQ4j8BgdOi8RD40ZTSxpoV/bwT+/NrP3Jj2KVYdEKQJimzXnwL
  17. goDclapu9aFrAaqwWSnWCRc7GQptSZ7DBXmA7MsNinBclWHX/chX5k9Q1+XifAhmKJZqP
  18. ovkzEGtmUjTQZFjvuCtFxIWZEGVtGHDmgEkzevgVCeuHDTeIDlkAvA3+TT+/A70zyYdbP
  19. EHOTSSjCU6RSlJxAXjNb5pzKjpeT7PyX2f4/8Zn3JnwTlfPJ0C7qdEYjQ54hbsKynjrpQ
  20. 7f6NN9pAeQS1pid5J7oH4f7YaKM78pnhoTxRl3LmeitIlAG+zCpiT4J+se2eG27ep4aUA
  21. bYuO0L+KBosY6DcvEbR9TqkYLPgJuEPi/6SQr9bBOldEspXXAv9msyCB4VMhVU=
  22. - job:
  23. name: system-config-build-image
  24. parent: opendev-build-docker-image
  25. dependencies: opendev-buildset-registry
  26. abstract: true
  27. vars:
  28. docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker"
  29. - job:
  30. name: system-config-upload-image
  31. parent: opendev-upload-docker-image
  32. dependencies: opendev-buildset-registry
  33. abstract: true
  34. secrets:
  35. name: docker_credentials
  36. secret: system-config-dockerhub
  37. pass-to-parent: true
  38. - job:
  39. name: system-config-promote-image
  40. parent: opendev-promote-docker-image
  41. abstract: true
  42. secrets:
  43. name: docker_credentials
  44. secret: system-config-dockerhub
  45. pass-to-parent: true
  46. # Jinja-init jobs
  47. - job:
  48. name: system-config-build-image-jinja-init
  49. description: Build a jinja-init image.
  50. parent: system-config-build-image
  51. vars: &jinja-init_vars
  52. docker_images:
  53. - context: docker/jinja-init
  54. target: jinja-init
  55. repository: opendevorg/jinja-init
  56. files: &jinja-init_files
  57. - docker/jinja-init/.*
  58. - docker/python-base/.*
  59. - job:
  60. name: system-config-upload-image-jinja-init
  61. description: Build and upload a jinja-init image.
  62. parent: system-config-upload-image
  63. vars: *jinja-init_vars
  64. files: *jinja-init_files
  65. - job:
  66. name: system-config-promote-image-jinja-init
  67. description: Promote a previously published jinja-init image to latest.
  68. parent: system-config-promote-image
  69. vars: *jinja-init_vars
  70. files: *jinja-init_files
  71. # Gitea-init jobs
  72. - job:
  73. name: system-config-build-image-gitea-init
  74. description: Build a gitea-init image.
  75. parent: system-config-build-image
  76. vars: &gitea-init_vars
  77. docker_images:
  78. - context: docker/gitea-init
  79. target: gitea-init
  80. repository: opendevorg/gitea-init
  81. files: &gitea-init_files
  82. - docker/gitea-init/.*
  83. - docker/jinja-init/.*
  84. - docker/python-base/.*
  85. - job:
  86. name: system-config-upload-image-gitea-init
  87. description: Build and upload a gitea-init image.
  88. parent: system-config-upload-image
  89. vars: *gitea-init_vars
  90. files: *gitea-init_files
  91. - job:
  92. name: system-config-promote-image-gitea-init
  93. description: Promote a previously published gitea-init image to latest.
  94. parent: system-config-promote-image
  95. vars: *gitea-init_vars
  96. files: *gitea-init_files
  97. # Gitea jobs
  98. - job:
  99. name: system-config-build-image-gitea
  100. description: Build a gitea image.
  101. parent: system-config-build-image
  102. vars: &gitea_vars
  103. docker_images:
  104. - context: docker/gitea
  105. target: gitea
  106. repository: opendevorg/gitea
  107. - context: docker/gitea
  108. target: gitea-openssh
  109. repository: opendevorg/gitea-openssh
  110. # Duplicate in the run-gitea job
  111. files: &gitea_files
  112. - docker/gitea/.*
  113. - job:
  114. name: system-config-upload-image-gitea
  115. description: Build and upload a gitea image.
  116. parent: system-config-upload-image
  117. vars: *gitea_vars
  118. files: *gitea_files
  119. - job:
  120. name: system-config-promote-image-gitea
  121. description: Promote a previously published gitea image to latest.
  122. parent: system-config-promote-image
  123. vars: *gitea_vars
  124. files: *gitea_files
  125. # Haproxy-statsd jobs
  126. - job:
  127. name: system-config-build-image-haproxy-statsd
  128. description: Build a haproxy-statsd image.
  129. parent: system-config-build-image
  130. vars: &haproxy-statsd_vars
  131. docker_images:
  132. - context: docker/haproxy-statsd
  133. repository: opendevorg/haproxy-statsd
  134. # Duplicate in the run-gitea job
  135. files: &haproxy-statsd_files
  136. - docker/haproxy-statsd/.*
  137. - docker/python-base/.*
  138. - job:
  139. name: system-config-upload-image-haproxy-statsd
  140. description: Build and upload a haproxy-statsd image.
  141. parent: system-config-upload-image
  142. vars: *haproxy-statsd_vars
  143. files: *haproxy-statsd_files
  144. - job:
  145. name: system-config-promote-image-haproxy-statsd
  146. description: Promote a previously published haproxy-statsd image to latest.
  147. parent: system-config-promote-image
  148. vars: *haproxy-statsd_vars
  149. files: *haproxy-statsd_files
  150. # Gerrit 2.13 jobs
  151. - job:
  152. name: system-config-build-image-gerrit-2.13
  153. description: Build a gerrit 2.13 image.
  154. parent: system-config-build-image
  155. vars: &gerrit_vars_2_13
  156. docker_images:
  157. # The 2.13 image doesn't build from source, but from existing war file
  158. - context: docker/gerrit/2.13
  159. repository: opendevorg/gerrit
  160. path: /home/zuul/src/opendev.org/opendev/system-config
  161. tags:
  162. - 2.13
  163. files: &gerrit_files_2_13
  164. - docker/gerrit/2.13/.*
  165. - job:
  166. name: system-config-upload-image-gerrit-2.13
  167. description: Build and upload a gerrit 2.13 image.
  168. parent: system-config-upload-image
  169. vars: *gerrit_vars_2_13
  170. files: *gerrit_files_2_13
  171. - job:
  172. name: system-config-promote-image-gerrit-2.13
  173. description: Promote a previously published gerrit 2.13 image to latest.
  174. parent: system-config-promote-image
  175. vars: *gerrit_vars_2_13
  176. files: *gerrit_files_2_13
  177. # Gerrit 2.15 jobs
  178. - job:
  179. name: system-config-build-image-gerrit-2.15
  180. description: Build a gerrit image.
  181. parent: system-config-build-image
  182. pre-run: playbooks/zuul/gerrit/repos.yaml
  183. required-projects: &gerrit_projects_2_15
  184. - name: gerrit.googlesource.com/gerrit
  185. override-checkout: stable-2.15
  186. - name: gerrit.googlesource.com/plugins/commit-message-length-validator
  187. override-checkout: stable-2.15
  188. - name: gerrit.googlesource.com/plugins/download-commands
  189. override-checkout: stable-2.15
  190. - name: gerrit.googlesource.com/plugins/hooks
  191. override-checkout: stable-2.15
  192. - name: gerrit.googlesource.com/plugins/its-base
  193. override-checkout: stable-2.15
  194. - name: gerrit.googlesource.com/plugins/its-storyboard
  195. override-checkout: stable-2.15
  196. - name: gerrit.googlesource.com/plugins/javamelody
  197. override-checkout: stable-2.15
  198. - name: gerrit.googlesource.com/plugins/replication
  199. override-checkout: stable-2.15
  200. - name: gerrit.googlesource.com/plugins/reviewnotes
  201. override-checkout: stable-2.15
  202. - name: gerrit.googlesource.com/plugins/singleusergroup
  203. override-checkout: stable-2.15
  204. vars: &gerrit_vars_2_15
  205. docker_images:
  206. - context: docker/gerrit/bazel
  207. repository: opendevorg/gerrit
  208. path: /home/zuul/src/gerrit.googlesource.com/gerrit
  209. tags:
  210. - 2.15
  211. files: &gerrit_files_2_15
  212. - docker/bazel/.*
  213. - docker/gerrit/base/.*
  214. - docker/gerrit/bazel/.*
  215. - playbooks/zuul/gerrit/.*
  216. - job:
  217. name: system-config-upload-image-gerrit-2.15
  218. description: Build and upload a gerrit image.
  219. parent: system-config-upload-image
  220. pre-run: playbooks/zuul/gerrit/repos.yaml
  221. required-projects: *gerrit_projects_2_15
  222. vars: *gerrit_vars_2_15
  223. files: *gerrit_files_2_15
  224. - job:
  225. name: system-config-promote-image-gerrit-2.15
  226. description: Promote a previously published gerrit image to latest.
  227. parent: system-config-promote-image
  228. vars: *gerrit_vars_2_15
  229. files: *gerrit_files_2_15
  230. # Gerrit 2.16 jobs
  231. - job:
  232. name: system-config-build-image-gerrit-2.16
  233. description: Build a gerrit image.
  234. parent: system-config-build-image
  235. pre-run: playbooks/zuul/gerrit/repos.yaml
  236. required-projects: &gerrit_projects_2_16
  237. - name: gerrit.googlesource.com/gerrit
  238. override-checkout: stable-2.16
  239. - name: gerrit.googlesource.com/plugins/codemirror-editor
  240. override-checkout: stable-2.16
  241. - name: gerrit.googlesource.com/plugins/commit-message-length-validator
  242. override-checkout: stable-2.16
  243. - name: gerrit.googlesource.com/plugins/download-commands
  244. override-checkout: stable-2.16
  245. - name: gerrit.googlesource.com/plugins/hooks
  246. override-checkout: stable-2.16
  247. - name: gerrit.googlesource.com/plugins/its-base
  248. override-checkout: stable-2.16
  249. - name: gerrit.googlesource.com/plugins/its-storyboard
  250. override-checkout: stable-2.16
  251. - name: gerrit.googlesource.com/plugins/javamelody
  252. override-checkout: stable-2.16
  253. - name: gerrit.googlesource.com/plugins/replication
  254. override-checkout: stable-2.16
  255. - name: gerrit.googlesource.com/plugins/reviewnotes
  256. override-checkout: stable-2.16
  257. - name: gerrit.googlesource.com/plugins/singleusergroup
  258. override-checkout: stable-2.16
  259. vars: &gerrit_vars_2_16
  260. docker_images:
  261. - context: docker/gerrit/bazel
  262. repository: opendevorg/gerrit
  263. path: /home/zuul/src/gerrit.googlesource.com/gerrit
  264. tags:
  265. - 2.16
  266. gerrit_additional_plugins:
  267. - codemirror-editor
  268. files: &gerrit_files_2_16
  269. - docker/bazel/.*
  270. - docker/gerrit/base/.*
  271. - docker/gerrit/bazel/.*
  272. - playbooks/zuul/gerrit/.*
  273. - job:
  274. name: system-config-upload-image-gerrit-2.16
  275. description: Build and upload a gerrit image.
  276. parent: system-config-upload-image
  277. pre-run: playbooks/zuul/gerrit/repos.yaml
  278. required-projects: *gerrit_projects_2_16
  279. vars: *gerrit_vars_2_16
  280. files: *gerrit_files_2_16
  281. - job:
  282. name: system-config-promote-image-gerrit-2.16
  283. description: Promote a previously published gerrit image to latest.
  284. parent: system-config-promote-image
  285. vars: *gerrit_vars_2_16
  286. files: *gerrit_files_2_16
  287. # Gerrit 3.0 jobs
  288. - job:
  289. name: system-config-build-image-gerrit-3.0
  290. description: Build a gerrit image.
  291. parent: system-config-build-image
  292. pre-run: playbooks/zuul/gerrit/repos.yaml
  293. required-projects: &gerrit_projects_3_0
  294. - name: gerrit.googlesource.com/gerrit
  295. override-checkout: stable-3.0
  296. - name: gerrit.googlesource.com/plugins/codemirror-editor
  297. override-checkout: stable-3.0
  298. - name: gerrit.googlesource.com/plugins/commit-message-length-validator
  299. override-checkout: stable-3.0
  300. - name: gerrit.googlesource.com/plugins/delete-project
  301. override-checkout: stable-3.0
  302. - name: gerrit.googlesource.com/plugins/download-commands
  303. override-checkout: stable-3.0
  304. - name: gerrit.googlesource.com/plugins/gitiles
  305. override-checkout: stable-3.0
  306. - name: gerrit.googlesource.com/plugins/hooks
  307. override-checkout: stable-3.0
  308. - name: gerrit.googlesource.com/plugins/its-base
  309. override-checkout: stable-3.0
  310. - name: gerrit.googlesource.com/plugins/its-storyboard
  311. override-checkout: stable-3.0
  312. - name: gerrit.googlesource.com/plugins/javamelody
  313. override-checkout: stable-3.0
  314. - name: gerrit.googlesource.com/plugins/plugin-manager
  315. override-checkout: stable-3.0
  316. - name: gerrit.googlesource.com/plugins/replication
  317. override-checkout: stable-3.0
  318. - name: gerrit.googlesource.com/plugins/reviewnotes
  319. override-checkout: stable-3.0
  320. - name: gerrit.googlesource.com/plugins/singleusergroup
  321. override-checkout: stable-3.0
  322. - name: gerrit.googlesource.com/plugins/webhooks
  323. override-checkout: stable-3.0
  324. vars: &gerrit_vars_3_0
  325. docker_images:
  326. - context: docker/gerrit/bazel
  327. repository: opendevorg/gerrit
  328. path: /home/zuul/src/gerrit.googlesource.com/gerrit
  329. tags:
  330. - 3.0
  331. gerrit_additional_plugins:
  332. - codemirror-editor
  333. - delete-project
  334. - gitiles
  335. - plugin-manager
  336. - webhooks
  337. files: &gerrit_files_3_0
  338. - docker/bazel/.*
  339. - docker/gerrit/base/.*
  340. - docker/gerrit/bazel/.*
  341. - playbooks/zuul/gerrit/.*
  342. - job:
  343. name: system-config-upload-image-gerrit-3.0
  344. description: Build and upload a gerrit image.
  345. parent: system-config-upload-image
  346. pre-run: playbooks/zuul/gerrit/repos.yaml
  347. required-projects: *gerrit_projects_3_0
  348. vars: *gerrit_vars_3_0
  349. files: *gerrit_files_3_0
  350. - job:
  351. name: system-config-promote-image-gerrit-3.0
  352. description: Promote a previously published gerrit image to latest.
  353. parent: system-config-promote-image
  354. vars: *gerrit_vars_3_0
  355. files: *gerrit_files_3_0
  356. # Gerrit master jobs
  357. - job:
  358. name: system-config-build-image-gerrit-master-base
  359. description: |
  360. Build a gerrit image.
  361. This job has no files matchers so it can be used in other repos.
  362. parent: system-config-build-image
  363. pre-run:
  364. - playbooks/zuul/gerrit/repos.yaml
  365. - playbooks/zuul/gerrit/jgit.yaml
  366. required-projects: &gerrit_projects_master
  367. - opendev/system-config
  368. - gerrit.googlesource.com/jgit
  369. - gerrit.googlesource.com/gerrit
  370. - gerrit.googlesource.com/plugins/checks
  371. - gerrit.googlesource.com/plugins/codemirror-editor
  372. - gerrit.googlesource.com/plugins/commit-message-length-validator
  373. - gerrit.googlesource.com/plugins/delete-project
  374. - gerrit.googlesource.com/plugins/download-commands
  375. - gerrit.googlesource.com/plugins/gitiles
  376. - gerrit.googlesource.com/plugins/hooks
  377. - gerrit.googlesource.com/plugins/its-base
  378. - gerrit.googlesource.com/plugins/its-storyboard
  379. - gerrit.googlesource.com/plugins/javamelody
  380. - gerrit.googlesource.com/plugins/plugin-manager
  381. - gerrit.googlesource.com/plugins/replication
  382. - gerrit.googlesource.com/plugins/reviewnotes
  383. - gerrit.googlesource.com/plugins/singleusergroup
  384. - gerrit.googlesource.com/plugins/webhooks
  385. vars: &gerrit_vars_master
  386. zuul_work_dir: src/opendev.org/opendev/system-config
  387. docker_images:
  388. - context: docker/gerrit/bazel
  389. repository: opendevorg/gerrit
  390. path: /home/zuul/src/gerrit.googlesource.com/gerrit
  391. tags:
  392. - master
  393. gerrit_additional_plugins:
  394. - checks
  395. - codemirror-editor
  396. - delete-project
  397. - gitiles
  398. - plugin-manager
  399. - webhooks
  400. - job:
  401. name: system-config-build-image-gerrit-master
  402. description: |
  403. Build a gerrit image.
  404. This job is used in system-config.
  405. parent: system-config-build-image-gerrit-master-base
  406. files: &gerrit_files_master
  407. - docker/bazel/.*
  408. - docker/gerrit/base/.*
  409. - docker/gerrit/bazel/.*
  410. - playbooks/zuul/gerrit/.*
  411. - job:
  412. name: system-config-upload-image-gerrit-master
  413. description: Build and upload a gerrit image.
  414. parent: system-config-upload-image
  415. pre-run:
  416. - playbooks/zuul/gerrit/repos.yaml
  417. - playbooks/zuul/gerrit/jgit.yaml
  418. required-projects: *gerrit_projects_master
  419. vars: *gerrit_vars_master
  420. files: *gerrit_files_master
  421. - job:
  422. name: system-config-promote-image-gerrit-master
  423. description: Promote a previously published gerrit image to latest.
  424. parent: system-config-promote-image
  425. vars: *gerrit_vars_master
  426. files: *gerrit_files_master
  427. # python-builder jobs
  428. - job:
  429. name: system-config-build-image-python-builder
  430. description: Build a python-builder image.
  431. parent: system-config-build-image
  432. vars: &python-builder_vars
  433. docker_images:
  434. - context: docker/python-builder
  435. repository: opendevorg/python-builder
  436. files: &python-builder_files
  437. - docker/python-base/.*
  438. - docker/python-builder/.*
  439. - job:
  440. name: system-config-upload-image-python-builder
  441. description: Build and upload a python-builder image.
  442. parent: system-config-upload-image
  443. vars: *python-builder_vars
  444. files: *python-builder_files
  445. - job:
  446. name: system-config-promote-image-python-builder
  447. description: Promote a previously published python-builder image to latest.
  448. parent: system-config-promote-image
  449. vars: *python-builder_vars
  450. files: *python-builder_files
  451. # python-base jobs
  452. - job:
  453. name: system-config-build-image-python-base
  454. description: Build a python-base image.
  455. parent: system-config-build-image
  456. vars: &python-base_vars
  457. docker_images:
  458. - context: docker/python-base
  459. repository: opendevorg/python-base
  460. files: &python-base_files
  461. - docker/python-base/.*
  462. - docker/python-builder/.*
  463. - job:
  464. name: system-config-upload-image-python-base
  465. description: Build and upload a python-base image.
  466. parent: system-config-upload-image
  467. vars: *python-base_vars
  468. files: *python-base_files
  469. - job:
  470. name: system-config-promote-image-python-base
  471. description: Promote a previously published python-base image to latest.
  472. parent: system-config-promote-image
  473. vars: *python-base_vars
  474. files: *python-base_files
  475. # bazel jobs
  476. - job:
  477. name: system-config-build-image-bazel
  478. description: Build a bazel image.
  479. parent: system-config-build-image
  480. vars: &bazel_vars
  481. docker_images:
  482. - context: docker/bazel
  483. repository: opendevorg/bazel
  484. files: &bazel_files
  485. - docker/bazel/.*
  486. - job:
  487. name: system-config-upload-image-bazel
  488. description: Build and upload a bazel image.
  489. parent: system-config-upload-image
  490. vars: *bazel_vars
  491. files: *bazel_files
  492. - job:
  493. name: system-config-promote-image-bazel
  494. description: Promote a previously published bazel image to latest.
  495. parent: system-config-promote-image
  496. vars: *bazel_vars
  497. files: *bazel_files
  498. # gerrit-base jobs
  499. - job:
  500. name: system-config-build-image-gerrit-base
  501. description: Build a gerrit-base image.
  502. parent: system-config-build-image
  503. required-projects: &gerrit_base_projects
  504. - opendev/jeepyb
  505. vars: &gerrit-base_vars
  506. docker_images:
  507. - context: docker/gerrit/base
  508. repository: opendevorg/gerrit-base
  509. path: /home/zuul/src/opendev.org/opendev/jeepyb
  510. files: &gerrit-base_files
  511. - docker/gerrit/base/.*
  512. - job:
  513. name: system-config-upload-image-gerrit-base
  514. description: Build and upload a gerrit-base image.
  515. parent: system-config-upload-image
  516. required-projects: *gerrit_base_projects
  517. vars: *gerrit-base_vars
  518. files: *gerrit-base_files
  519. - job:
  520. name: system-config-promote-image-gerrit-base
  521. description: Promote a previously published gerrit-base image to latest.
  522. parent: system-config-promote-image
  523. required-projects: *gerrit_base_projects
  524. vars: *gerrit-base_vars
  525. files: *gerrit-base_files
  526. # Role integration jobs. These test the top-level generic roles/*
  527. # under Zuul. The range of platforms should be the same as those for
  528. # openstack-zuul-jobs.
  529. #
  530. # NOTE(ianw): 2018-08 have left off Fedora & OpenSUSE because
  531. # no roles currently run on them.
  532. - job:
  533. name: system-config-zuul-role-integration
  534. description: |
  535. Test roles provided by system-config with Zuul
  536. abstract: true
  537. parent: base
  538. run: roles-test/base.yaml
  539. files:
  540. - roles/.*
  541. - job:
  542. name: system-config-zuul-role-integration-xenial
  543. parent: system-config-zuul-role-integration
  544. nodeset:
  545. nodes:
  546. - name: base
  547. label: ubuntu-xenial
  548. - name: puppet4
  549. label: ubuntu-xenial
  550. groups:
  551. - name: puppet3
  552. nodes:
  553. - base
  554. - name: openafs
  555. nodes:
  556. - base
  557. - job:
  558. name: system-config-zuul-role-integration-bionic
  559. parent: system-config-zuul-role-integration
  560. nodeset:
  561. nodes:
  562. - name: base
  563. label: ubuntu-bionic
  564. groups:
  565. - name: puppet5
  566. nodes:
  567. - base
  568. - name: openafs
  569. nodes:
  570. - base
  571. - job:
  572. name: system-config-zuul-role-integration-debian-stable
  573. parent: system-config-zuul-role-integration
  574. nodeset:
  575. nodes:
  576. - name: base
  577. label: debian-stretch
  578. groups:
  579. - name: openafs
  580. nodes:
  581. - base
  582. - job:
  583. name: system-config-zuul-role-integration-centos-8
  584. parent: system-config-zuul-role-integration
  585. nodeset:
  586. nodes:
  587. - name: base
  588. label: centos-8
  589. groups:
  590. - name: openafs
  591. nodes:
  592. - base
  593. - project-template:
  594. name: system-config-zuul-role-integration
  595. check:
  596. jobs:
  597. - system-config-zuul-role-integration-xenial
  598. - system-config-zuul-role-integration-bionic
  599. - system-config-zuul-role-integration-debian-stable
  600. - system-config-zuul-role-integration-centos-8
  601. gate:
  602. jobs:
  603. - system-config-zuul-role-integration-xenial
  604. - system-config-zuul-role-integration-bionic
  605. - system-config-zuul-role-integration-debian-stable
  606. - system-config-zuul-role-integration-centos-8
  607. - job:
  608. name: system-config-run
  609. description: |
  610. Run the "base" playbook for system-config hosts.
  611. This is a parent job designed to be inherited.
  612. abstract: true
  613. pre-run: playbooks/zuul/run-base-pre.yaml
  614. run: playbooks/zuul/run-base.yaml
  615. post-run: playbooks/zuul/run-base-post.yaml
  616. vars:
  617. install_ansible_ara_enable: true
  618. zuul_copy_output: "{{ copy_output | combine(host_copy_output | default({})) }}"
  619. stage_dir: "{{ ansible_user_dir }}/zuul-output"
  620. copy_output:
  621. '/var/log/syslog': logs_txt
  622. '/var/log/messages': logs_txt
  623. '/var/log/docker': logs
  624. host-vars:
  625. bridge.openstack.org:
  626. host_copy_output:
  627. '{{ zuul.project.src_dir }}/junit.xml': logs
  628. - job:
  629. name: system-config-run-base
  630. parent: system-config-run
  631. description: |
  632. Run the "base" playbook on each of the node types
  633. currently in use.
  634. nodeset:
  635. nodes:
  636. - name: bridge.openstack.org
  637. label: ubuntu-bionic
  638. - name: xenial
  639. label: ubuntu-xenial
  640. - name: bionic
  641. label: ubuntu-bionic
  642. files:
  643. - playbooks/.*
  644. - roles/.*
  645. - testinfra/.*
  646. - job:
  647. name: system-config-run-base-ansible-devel
  648. parent: system-config-run-base
  649. description: |
  650. Run the base playbook with the latest ansible
  651. required-projects:
  652. - name: github.com/ansible/ansible
  653. override-checkout: devel
  654. - name: github.com/philpep/testinfra
  655. - name: openstack/openstacksdk
  656. - name: recordsansible/ara
  657. # NOTE(ianw): 2019-06-11 pinned to stable branch until we handle 1.0
  658. # http://lists.openstack.org/pipermail/openstack-infra/2019-June/006400.html
  659. override-checkout: stable/0.x
  660. vars:
  661. bridge_ansible_name: '{{ ansible_user_dir}}/src/github.com/ansible/ansible'
  662. bridge_ansible_version: null
  663. bridge_openstacksdk_name: '{{ ansible_user_dir }}/src/opendev.org/openstack/openstacksdk'
  664. bridge_openstacksdk_version: null
  665. bridge_ara_name: '{{ ansible_user_dir}}/src/opendev.org/recordsansible/ara'
  666. bridge_ara_version: null
  667. - job:
  668. name: system-config-run-eavesdrop
  669. parent: system-config-run
  670. description: |
  671. Run the playbook for an eavesdrop server.
  672. nodeset:
  673. nodes:
  674. - name: bridge.openstack.org
  675. label: ubuntu-bionic
  676. - name: eavesdrop01.openstack.org
  677. label: ubuntu-xenial
  678. files:
  679. - playbooks/bridge.yaml
  680. - playbooks/group_vars/eavesdrop.yaml
  681. - testinfra/test_eavesdrop.py
  682. vars:
  683. run_playbooks:
  684. - playbooks/remote_puppet_else.yaml
  685. - job:
  686. name: system-config-run-letsencrypt
  687. parent: system-config-run
  688. description: |
  689. Run the playbook for letsencrypt key acquisition
  690. nodeset:
  691. nodes:
  692. - name: bridge.openstack.org
  693. label: ubuntu-bionic
  694. - name: adns-letsencrypt.opendev.org
  695. label: ubuntu-bionic
  696. - name: letsencrypt01.opendev.org
  697. label: ubuntu-bionic
  698. - name: letsencrypt02.opendev.org
  699. label: ubuntu-bionic
  700. vars:
  701. run_playbooks:
  702. - playbooks/service-nameserver.yaml
  703. - playbooks/service-letsencrypt.yaml
  704. host-vars:
  705. letsencrypt01.opendev.org:
  706. host_copy_output:
  707. '/var/log/acme.sh': logs
  708. letsencrypt02.opendev.org:
  709. host_copy_output:
  710. '/var/log/acme.sh': logs
  711. files:
  712. - playbooks/bridge.yaml
  713. - playbooks/group_vars/letsencrypt.yaml
  714. - playbooks/roles/letsencrypt.*
  715. - job:
  716. name: system-config-run-lists
  717. parent: system-config-run
  718. description: |
  719. Run the playbook for a list server.
  720. nodeset:
  721. nodes:
  722. - name: bridge.openstack.org
  723. label: ubuntu-bionic
  724. - name: lists.openstack.org
  725. label: ubuntu-xenial
  726. files:
  727. - playbooks/bridge.yaml
  728. - modules/openstack_project/manifests/lists.pp
  729. - playbooks/host_vars/lists.openstack.org.yaml
  730. - roles/exim
  731. vars:
  732. run_playbooks:
  733. - playbooks/remote_puppet_else.yaml
  734. - job:
  735. name: system-config-run-nodepool
  736. parent: system-config-run
  737. description: |
  738. Run the playbook for nodepool.
  739. nodeset:
  740. nodes:
  741. - name: bridge.openstack.org
  742. label: ubuntu-bionic
  743. - name: nl01.openstack.org
  744. label: ubuntu-xenial
  745. - name: nb01.openstack.org
  746. label: ubuntu-xenial
  747. vars:
  748. run_playbooks:
  749. - playbooks/service-nodepool.yaml
  750. - playbooks/remote_puppet_else.yaml
  751. files:
  752. - playbooks/bridge.yaml
  753. - playbooks/group_vars/nodepool.yaml
  754. - playbooks/group_vars/nodepool-builder.yaml
  755. - playbooks/group_vars/nodepool-launcher.yaml
  756. - playbooks/roles/configure-openstacksdk/
  757. - playbooks/templates/clouds/
  758. - testinfra/test_nodepool.py
  759. - job:
  760. name: system-config-run-dns
  761. parent: system-config-run
  762. description: |
  763. Run the playbook for dns.
  764. required-projects:
  765. - opendev/zone-opendev.org
  766. - opendev/zone-zuul-ci.org
  767. nodeset:
  768. nodes:
  769. - name: bridge.openstack.org
  770. label: ubuntu-bionic
  771. - name: adns1.opendev.org
  772. label: ubuntu-bionic
  773. - name: ns1.opendev.org
  774. label: ubuntu-bionic
  775. vars:
  776. run_playbooks:
  777. - playbooks/service-nameserver.yaml
  778. host-vars:
  779. adns1.opendev.org:
  780. host_copy_output:
  781. '/etc/bind/named.conf': logs
  782. '/var/lib/bind/zones': logs
  783. files:
  784. - playbooks/bridge.yaml
  785. - playbooks/group_vars/adns.yaml
  786. - playbooks/group_vars/dns.yaml
  787. - ^playbooks/host_vars/(ad)?ns\d+.opendev.org.yaml
  788. - playbooks/zuul/templates/group_vars/adns.yaml.j2
  789. - playbooks/zuul/templates/group_vars/ns.yaml.j2
  790. - playbooks/roles/master-nameserver/
  791. - playbooks/roles/nameserver/
  792. - testinfra/test_adns.py
  793. - testinfra/test_ns.py
  794. - job:
  795. name: system-config-run-backup
  796. parent: system-config-run
  797. description: |
  798. Run the playbook for backup configuration
  799. nodeset:
  800. nodes:
  801. - name: bridge.openstack.org
  802. label: ubuntu-bionic
  803. - name: backup01.region.provider.opendev.org
  804. label: ubuntu-bionic
  805. - name: backup-test01.opendev.org
  806. label: ubuntu-bionic
  807. - name: backup-test02.opendev.org
  808. label: ubuntu-xenial
  809. vars:
  810. run_playbooks:
  811. - playbooks/service-backup.yaml
  812. files:
  813. - playbooks/bridge.yaml
  814. - playbooks/roles/backup.*
  815. - playbooks/zuul/templates/host_vars/backup.*
  816. - testinfra/test_backups.py
  817. - job:
  818. name: system-config-run-mirror-base
  819. parent: system-config-run
  820. abstract: true
  821. description: |
  822. Run the playbook for a mirror node
  823. vars:
  824. run_playbooks:
  825. - playbooks/service-letsencrypt.yaml
  826. - playbooks/service-mirror.yaml
  827. host-vars:
  828. mirror01.openafs.provider.opendev.org:
  829. host_copy_output:
  830. '/var/log/apache2/': logs
  831. '/var/log/acme.sh': logs
  832. files:
  833. - playbooks/bridge.yaml
  834. - roles/
  835. - playbooks/group_vars/mirror_opendev.yaml
  836. - playbooks/roles/mirror/
  837. - playbooks/roles/letsencrypt.*
  838. - playbooks/service-letsencrypt.yaml
  839. - playbooks/service-mirror.yaml
  840. - playbooks/zuul/templates/group_vars/mirror_opendev.yaml.j2
  841. - testinfra/test_mirror.py
  842. - job:
  843. name: system-config-run-mirror-x86
  844. parent: system-config-run-mirror-base
  845. nodeset:
  846. nodes:
  847. - name: bridge.openstack.org
  848. label: ubuntu-bionic
  849. - name: mirror01.openafs.provider.opendev.org
  850. label: ubuntu-bionic
  851. - job:
  852. name: system-config-run-mirror-arm64
  853. parent: system-config-run-mirror-base
  854. timeout: 3600
  855. nodeset:
  856. nodes:
  857. - name: bridge.openstack.org
  858. label: ubuntu-bionic-arm64
  859. - name: mirror01.openafs.provider.opendev.org
  860. label: ubuntu-bionic-arm64
  861. - job:
  862. name: system-config-run-mirror-update
  863. parent: system-config-run
  864. description: |
  865. Run the playbook for a mirror update node
  866. nodeset:
  867. nodes:
  868. - name: bridge.openstack.org
  869. label: ubuntu-bionic
  870. - name: mirror-update01.opendev.org
  871. label: ubuntu-bionic
  872. vars:
  873. run_playbooks:
  874. - playbooks/service-mirror-update.yaml
  875. files:
  876. - playbooks/bridge.yaml
  877. - roles/
  878. - playbooks/roles/mirror-update/
  879. - playbooks/service-mirror-update.yaml
  880. - testinfra/test_mirror-update.py
  881. - job:
  882. name: system-config-run-docker-registry
  883. parent: system-config-run
  884. description: |
  885. Run the playbook for the docker registry.
  886. dependencies: opendev-buildset-registry
  887. nodeset:
  888. nodes:
  889. - name: bridge.openstack.org
  890. label: ubuntu-bionic
  891. - name: insecure-ci-registry01.opendev.org
  892. label: ubuntu-bionic
  893. vars:
  894. run_playbooks:
  895. - playbooks/service-letsencrypt.yaml
  896. - playbooks/service-registry.yaml
  897. host-vars:
  898. insecure-ci-registry01.opendev.org:
  899. host_copy_output:
  900. '/var/registry/auth': logs
  901. '/var/registry/certs': logs
  902. files:
  903. - playbooks/bridge.yaml
  904. - playbooks/group_vars/registry.yaml
  905. - ^playbooks/host_vars/insecure-ci-registry\d+.opendev.org.yaml
  906. - playbooks/zuul/templates/group_vars/registry.yaml.j2
  907. - playbooks/roles/letsencrypt-create-certs/handlers/restart_zuul_registry.yaml
  908. - playbooks/roles/registry/
  909. - testinfra/test_registry.py
  910. - job:
  911. name: system-config-run-gitea
  912. parent: system-config-run
  913. description: |
  914. Run the playbook for the gitea servers.
  915. dependencies: opendev-buildset-registry
  916. timeout: 3600
  917. nodeset:
  918. nodes:
  919. - name: bridge.openstack.org
  920. label: ubuntu-bionic
  921. - name: gitea-lb01.opendev.org
  922. label: ubuntu-bionic
  923. - name: gitea99.opendev.org
  924. label: ubuntu-bionic
  925. vars:
  926. run_playbooks:
  927. - playbooks/service-letsencrypt.yaml
  928. - playbooks/service-gitea-lb.yaml
  929. - playbooks/remote_puppet_git.yaml
  930. run_test_playbook: playbooks/test-gitea.yaml
  931. host-vars:
  932. gitea99.opendev.org:
  933. host_copy_output:
  934. '/var/gitea/conf': logs
  935. '/var/gitea/certs': logs
  936. '/var/gitea/logs': logs
  937. gitea-lb01.opendev.org:
  938. host_copy_output:
  939. '/var/haproxy/etc': logs
  940. files:
  941. - playbooks/bridge.yaml
  942. - playbooks/group_vars/gitea.yaml
  943. - playbooks/group_vars/gitea-lb.yaml
  944. - playbooks/host_vars/gitea.*
  945. - playbooks/zuul/templates/group_vars/gitea.yaml.j2
  946. - playbooks/zuul/templates/group_vars/gitea-lb.yaml.j2
  947. - playbooks/roles/gitea/
  948. - playbooks/roles/gitea-git-repos/
  949. - playbooks/roles/haproxy/
  950. - playbooks/roles/letsencrypt-create-certs/handlers/restart_gitea.yaml
  951. - testinfra/test_gitea.py
  952. - testinfra/test_gitea_lb.py
  953. # From gitea_files -- If we rebuild the image, we want to run
  954. # this job as well.
  955. - docker/gitea/.*
  956. # From haproxy-statsd_files -- If we rebuild the image, we want
  957. # to run this job as well.
  958. - docker/haproxy-statsd/.*
  959. - job:
  960. name: system-config-run-zuul-preview
  961. parent: system-config-run
  962. description: |
  963. Run the playbook for the docker registry.
  964. dependencies: opendev-buildset-registry
  965. nodeset:
  966. nodes:
  967. - name: bridge.openstack.org
  968. label: ubuntu-bionic
  969. - name: zp01.opendev.org
  970. label: ubuntu-bionic
  971. vars:
  972. run_playbooks:
  973. - playbooks/service-zuul.yaml
  974. files:
  975. - playbooks/bridge.yaml
  976. - playbooks/roles/zuul-preview/
  977. - testinfra/test_zuul_preview.py
  978. - job:
  979. name: system-config-run-review
  980. parent: system-config-run
  981. description: |
  982. Run the playbook for gerrit (in a container).
  983. nodeset:
  984. nodes:
  985. - name: bridge.openstack.org
  986. label: ubuntu-bionic
  987. - name: review01.opendev.org
  988. label: ubuntu-bionic
  989. - name: review-dev01.opendev.org
  990. label: ubuntu-bionic
  991. vars:
  992. run_playbooks:
  993. - playbooks/service-letsencrypt.yaml
  994. - playbooks/service-review-dev.yaml
  995. - playbooks/service-review.yaml
  996. host-vars:
  997. review-dev01.opendev.org:
  998. host_copy_output:
  999. '/home/gerrit2/review_site/etc': logs
  1000. '/home/gerrit2/review_site/logs': logs
  1001. '/var/log/apache2/': logs
  1002. '/var/log/acme.sh': logs
  1003. review01.opendev.org:
  1004. host_copy_output:
  1005. '/home/gerrit2/review_site/etc': logs
  1006. '/home/gerrit2/review_site/logs': logs
  1007. '/var/log/apache2/': logs
  1008. '/var/log/acme.sh': logs
  1009. files:
  1010. - playbooks/group_vars/review.yaml
  1011. - ^playbooks/host_vars/review\d+.opendev.org.yaml
  1012. - playbooks/group_vars/review-dev.yaml
  1013. - ^playbooks/host_vars/review-dev\d+.opendev.org.yaml
  1014. - ^playbooks/service-review.*.yaml
  1015. - playbooks/roles/letsencrypt.*
  1016. - playbooks/service-letsencrypt.yaml
  1017. - playbooks/zuul/templates/group_vars/review-dev.yaml.j2
  1018. - playbooks/zuul/templates/group_vars/review.yaml.j2
  1019. - playbooks/roles/gerrit/
  1020. - testinfra/test_gerrit.py
  1021. - job:
  1022. name: system-config-run-static
  1023. parent: system-config-run
  1024. description: |
  1025. Run the playbook for a static node
  1026. nodeset:
  1027. nodes:
  1028. - name: bridge.openstack.org
  1029. label: ubuntu-bionic
  1030. - name: static01.opendev.org
  1031. label: ubuntu-bionic
  1032. vars:
  1033. run_playbooks:
  1034. - playbooks/service-letsencrypt.yaml
  1035. - playbooks/service-static.yaml
  1036. files:
  1037. - playbooks/bridge.yaml
  1038. - playbooks/roles/static/
  1039. - playbooks/roles/letsencrypt.*
  1040. - playbooks/service-letsencrypt.yaml
  1041. - playbooks/service-static.yaml
  1042. - testinfra/test_static.py
  1043. host-vars:
  1044. static01.opendev.org:
  1045. host_copy_output:
  1046. '/var/log/acme.sh/': logs
  1047. '/etc/apache2/': logs
  1048. '/var/log/apache2/': logs
  1049. - job:
  1050. name: infra-prod-playbook
  1051. description: |
  1052. Run specified playbook against productions hosts.
  1053. This is a parent job designed to be inherited to enabled
  1054. CD deployment of our infrastructure. Set playbook_name to
  1055. specify the playbook relative to
  1056. bridge.openstack.org:/opt/system-config/playbooks
  1057. abstract: true
  1058. run: playbooks/zuul/run-production-playbook.yaml
  1059. vars:
  1060. ansible_forks: 5
  1061. nodeset:
  1062. nodes: []
  1063. - job:
  1064. name: infra-prod-zuul_reconfigure
  1065. parent: infra-prod-playbook
  1066. description: |
  1067. Perform a full Zuul reconfiguration.
  1068. This reloads the tenant config file and clears all configuration
  1069. caches.
  1070. vars:
  1071. playbook_name: zuul_reconfigure.yaml
  1072. - project:
  1073. templates:
  1074. - system-config-zuul-role-integration
  1075. - infra-puppet-apply-jobs
  1076. - infra-logstash-filter-jobs
  1077. - publish-tox-docs-infra
  1078. check:
  1079. jobs:
  1080. - opendev-buildset-registry:
  1081. vars:
  1082. docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker"
  1083. - tox-linters
  1084. - puppet-beaker-rspec-puppet-4-infra-system-config
  1085. - system-config-run-base
  1086. - system-config-run-base-ansible-devel:
  1087. voting: false
  1088. - system-config-run-backup
  1089. - system-config-run-dns
  1090. - system-config-run-eavesdrop
  1091. - system-config-run-lists
  1092. - system-config-run-nodepool
  1093. - system-config-run-mirror-x86
  1094. - system-config-run-mirror-update
  1095. - system-config-run-static
  1096. - system-config-run-docker-registry
  1097. - system-config-run-gitea:
  1098. dependencies:
  1099. - name: system-config-build-image-gitea
  1100. soft: true
  1101. - name: system-config-build-image-haproxy-statsd
  1102. soft: true
  1103. - system-config-run-review
  1104. - system-config-run-zuul-preview
  1105. - system-config-run-letsencrypt
  1106. - system-config-build-image-bazel
  1107. - system-config-build-image-jinja-init:
  1108. dependencies:
  1109. - name: system-config-build-image-python-base
  1110. soft: true
  1111. - system-config-build-image-gitea-init:
  1112. dependencies:
  1113. - name: system-config-build-image-jinja-init
  1114. soft: true
  1115. - system-config-build-image-gitea
  1116. - system-config-build-image-gerrit-base:
  1117. dependencies:
  1118. - name: system-config-build-image-python-builder
  1119. soft: true
  1120. - system-config-build-image-gerrit-2.13
  1121. - system-config-build-image-gerrit-2.15:
  1122. dependencies:
  1123. - name: system-config-build-image-bazel
  1124. soft: true
  1125. - name: system-config-build-image-gerrit-base
  1126. soft: true
  1127. - system-config-build-image-gerrit-2.16:
  1128. dependencies:
  1129. - name: system-config-build-image-bazel
  1130. soft: true
  1131. - name: system-config-build-image-gerrit-base
  1132. soft: true
  1133. - system-config-build-image-gerrit-3.0:
  1134. dependencies:
  1135. - name: system-config-build-image-bazel
  1136. soft: true
  1137. - name: system-config-build-image-gerrit-base
  1138. soft: true
  1139. - system-config-build-image-gerrit-master:
  1140. dependencies:
  1141. - name: system-config-build-image-bazel
  1142. soft: true
  1143. - name: system-config-build-image-gerrit-base
  1144. soft: true
  1145. - system-config-build-image-haproxy-statsd:
  1146. dependencies:
  1147. - name: system-config-build-image-python-base
  1148. soft: true
  1149. - system-config-build-image-python-base
  1150. - system-config-build-image-python-builder
  1151. check-arm64:
  1152. jobs:
  1153. - system-config-run-mirror-arm64
  1154. gate:
  1155. jobs:
  1156. - opendev-buildset-registry:
  1157. vars:
  1158. docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker"
  1159. - tox-linters
  1160. - puppet-beaker-rspec-puppet-4-infra-system-config
  1161. - system-config-run-base
  1162. - system-config-run-dns
  1163. - system-config-run-eavesdrop
  1164. - system-config-run-lists
  1165. - system-config-run-nodepool
  1166. - system-config-run-mirror-x86
  1167. - system-config-run-mirror-update
  1168. - system-config-run-static
  1169. - system-config-run-docker-registry
  1170. - system-config-run-gitea:
  1171. dependencies:
  1172. - name: system-config-upload-image-gitea
  1173. soft: true
  1174. - name: system-config-upload-image-haproxy-statsd
  1175. soft: true
  1176. - system-config-run-review
  1177. - system-config-run-zuul-preview
  1178. - system-config-run-letsencrypt
  1179. - system-config-upload-image-bazel
  1180. - system-config-upload-image-jinja-init:
  1181. dependencies:
  1182. - name: system-config-upload-image-python-base
  1183. soft: true
  1184. - system-config-upload-image-gitea-init:
  1185. dependencies:
  1186. - name: system-config-upload-image-jinja-init
  1187. soft: true
  1188. - system-config-upload-image-gitea
  1189. - system-config-upload-image-gerrit-base:
  1190. dependencies:
  1191. - name: system-config-upload-image-python-builder
  1192. soft: true
  1193. - system-config-upload-image-gerrit-2.13
  1194. - system-config-upload-image-gerrit-2.15:
  1195. dependencies:
  1196. - name: system-config-upload-image-bazel
  1197. soft: true
  1198. - name: system-config-upload-image-gerrit-base
  1199. soft: true
  1200. - system-config-upload-image-gerrit-2.16:
  1201. dependencies:
  1202. - name: system-config-upload-image-bazel
  1203. soft: true
  1204. - name: system-config-upload-image-gerrit-base
  1205. soft: true
  1206. - system-config-upload-image-gerrit-3.0:
  1207. dependencies:
  1208. - name: system-config-upload-image-bazel
  1209. soft: true
  1210. - name: system-config-upload-image-gerrit-base
  1211. soft: true
  1212. - system-config-upload-image-gerrit-master:
  1213. dependencies:
  1214. - name: system-config-upload-image-bazel
  1215. soft: true
  1216. - name: system-config-upload-image-gerrit-base
  1217. soft: true
  1218. - system-config-upload-image-haproxy-statsd:
  1219. dependencies:
  1220. - name: system-config-upload-image-python-base
  1221. soft: true
  1222. - system-config-upload-image-python-base
  1223. - system-config-upload-image-python-builder
  1224. promote:
  1225. jobs:
  1226. - system-config-promote-image-bazel
  1227. - system-config-promote-image-jinja-init
  1228. - system-config-promote-image-gitea-init
  1229. - system-config-promote-image-gitea
  1230. - system-config-promote-image-gerrit-base
  1231. - system-config-promote-image-gerrit-2.13
  1232. - system-config-promote-image-gerrit-2.15
  1233. - system-config-promote-image-gerrit-2.16
  1234. - system-config-promote-image-gerrit-3.0
  1235. - system-config-promote-image-gerrit-master
  1236. - system-config-promote-image-haproxy-statsd
  1237. - system-config-promote-image-python-base
  1238. - system-config-promote-image-python-builder