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.

1296 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. - project-template:
  583. name: system-config-zuul-role-integration
  584. check:
  585. jobs:
  586. - system-config-zuul-role-integration-xenial
  587. - system-config-zuul-role-integration-bionic
  588. - system-config-zuul-role-integration-debian-stable
  589. gate:
  590. jobs:
  591. - system-config-zuul-role-integration-xenial
  592. - system-config-zuul-role-integration-bionic
  593. - system-config-zuul-role-integration-debian-stable
  594. - job:
  595. name: system-config-run
  596. description: |
  597. Run the "base" playbook for system-config hosts.
  598. This is a parent job designed to be inherited.
  599. abstract: true
  600. pre-run: playbooks/zuul/run-base-pre.yaml
  601. run: playbooks/zuul/run-base.yaml
  602. post-run: playbooks/zuul/run-base-post.yaml
  603. vars:
  604. install_ansible_ara_enable: true
  605. zuul_copy_output: "{{ copy_output | combine(host_copy_output | default({})) }}"
  606. stage_dir: "{{ ansible_user_dir }}/zuul-output"
  607. copy_output:
  608. '/var/log/syslog': logs_txt
  609. '/var/log/messages': logs_txt
  610. '/var/log/docker': logs
  611. host-vars:
  612. bridge.openstack.org:
  613. host_copy_output:
  614. '{{ zuul.project.src_dir }}/junit.xml': logs
  615. - job:
  616. name: system-config-run-base
  617. parent: system-config-run
  618. description: |
  619. Run the "base" playbook on each of the node types
  620. currently in use.
  621. nodeset:
  622. nodes:
  623. - name: bridge.openstack.org
  624. label: ubuntu-bionic
  625. - name: trusty
  626. label: ubuntu-trusty
  627. - name: xenial
  628. label: ubuntu-xenial
  629. - name: bionic
  630. label: ubuntu-bionic
  631. files:
  632. - playbooks/.*
  633. - roles/.*
  634. - testinfra/.*
  635. - job:
  636. name: system-config-run-base-ansible-devel
  637. parent: system-config-run-base
  638. description: |
  639. Run the base playbook with the latest ansible
  640. required-projects:
  641. - name: github.com/ansible/ansible
  642. override-checkout: devel
  643. - name: github.com/philpep/testinfra
  644. - name: openstack/openstacksdk
  645. - name: recordsansible/ara
  646. # NOTE(ianw): 2019-06-11 pinned to stable branch until we handle 1.0
  647. # http://lists.openstack.org/pipermail/openstack-infra/2019-June/006400.html
  648. override-checkout: stable/0.x
  649. vars:
  650. bridge_ansible_name: '{{ ansible_user_dir}}/src/github.com/ansible/ansible'
  651. bridge_ansible_version: null
  652. bridge_openstacksdk_name: '{{ ansible_user_dir }}/src/opendev.org/openstack/openstacksdk'
  653. bridge_openstacksdk_version: null
  654. bridge_ara_name: '{{ ansible_user_dir}}/src/opendev.org/recordsansible/ara'
  655. bridge_ara_version: null
  656. - job:
  657. name: system-config-run-eavesdrop
  658. parent: system-config-run
  659. description: |
  660. Run the playbook for an eavesdrop server.
  661. nodeset:
  662. nodes:
  663. - name: bridge.openstack.org
  664. label: ubuntu-bionic
  665. - name: eavesdrop01.openstack.org
  666. label: ubuntu-xenial
  667. files:
  668. - playbooks/bridge.yaml
  669. - playbooks/group_vars/eavesdrop.yaml
  670. - testinfra/test_eavesdrop.py
  671. vars:
  672. run_playbooks:
  673. - playbooks/remote_puppet_else.yaml
  674. - job:
  675. name: system-config-run-letsencrypt
  676. parent: system-config-run
  677. description: |
  678. Run the playbook for letsencrypt key acquisition
  679. nodeset:
  680. nodes:
  681. - name: bridge.openstack.org
  682. label: ubuntu-bionic
  683. - name: adns-letsencrypt.opendev.org
  684. label: ubuntu-bionic
  685. - name: letsencrypt01.opendev.org
  686. label: ubuntu-bionic
  687. - name: letsencrypt02.opendev.org
  688. label: ubuntu-bionic
  689. vars:
  690. run_playbooks:
  691. - playbooks/service-nameserver.yaml
  692. - playbooks/service-letsencrypt.yaml
  693. host-vars:
  694. letsencrypt01.opendev.org:
  695. host_copy_output:
  696. '/var/log/acme.sh': logs
  697. letsencrypt02.opendev.org:
  698. host_copy_output:
  699. '/var/log/acme.sh': logs
  700. files:
  701. - playbooks/bridge.yaml
  702. - playbooks/group_vars/letsencrypt.yaml
  703. - playbooks/roles/letsencrypt.*
  704. - job:
  705. name: system-config-run-lists
  706. parent: system-config-run
  707. description: |
  708. Run the playbook for a list server.
  709. nodeset:
  710. nodes:
  711. - name: bridge.openstack.org
  712. label: ubuntu-bionic
  713. - name: lists.openstack.org
  714. label: ubuntu-xenial
  715. files:
  716. - playbooks/bridge.yaml
  717. - modules/openstack_project/manifests/lists.pp
  718. - playbooks/host_vars/lists.openstack.org.yaml
  719. - roles/exim
  720. vars:
  721. run_playbooks:
  722. - playbooks/remote_puppet_else.yaml
  723. - job:
  724. name: system-config-run-nodepool
  725. parent: system-config-run
  726. description: |
  727. Run the playbook for nodepool.
  728. nodeset:
  729. nodes:
  730. - name: bridge.openstack.org
  731. label: ubuntu-bionic
  732. - name: nl01.openstack.org
  733. label: ubuntu-xenial
  734. - name: nb01.openstack.org
  735. label: ubuntu-xenial
  736. vars:
  737. run_playbooks:
  738. - playbooks/service-nodepool.yaml
  739. - playbooks/remote_puppet_else.yaml
  740. files:
  741. - playbooks/bridge.yaml
  742. - playbooks/group_vars/nodepool.yaml
  743. - playbooks/group_vars/nodepool-builder.yaml
  744. - playbooks/group_vars/nodepool-launcher.yaml
  745. - playbooks/roles/configure-openstacksdk/
  746. - playbooks/templates/clouds/
  747. - testinfra/test_nodepool.py
  748. - job:
  749. name: system-config-run-dns
  750. parent: system-config-run
  751. description: |
  752. Run the playbook for dns.
  753. required-projects:
  754. - opendev/zone-opendev.org
  755. - opendev/zone-zuul-ci.org
  756. nodeset:
  757. nodes:
  758. - name: bridge.openstack.org
  759. label: ubuntu-bionic
  760. - name: adns1.opendev.org
  761. label: ubuntu-bionic
  762. - name: ns1.opendev.org
  763. label: ubuntu-bionic
  764. vars:
  765. run_playbooks:
  766. - playbooks/service-nameserver.yaml
  767. host-vars:
  768. adns1.opendev.org:
  769. host_copy_output:
  770. '/etc/bind/named.conf': logs
  771. '/var/lib/bind/zones': logs
  772. files:
  773. - playbooks/bridge.yaml
  774. - playbooks/group_vars/adns.yaml
  775. - playbooks/group_vars/dns.yaml
  776. - ^playbooks/host_vars/(ad)?ns\d+.opendev.org.yaml
  777. - playbooks/zuul/templates/group_vars/adns.yaml.j2
  778. - playbooks/zuul/templates/group_vars/ns.yaml.j2
  779. - playbooks/roles/master-nameserver/
  780. - playbooks/roles/nameserver/
  781. - testinfra/test_adns.py
  782. - testinfra/test_ns.py
  783. - job:
  784. name: system-config-run-backup
  785. parent: system-config-run
  786. description: |
  787. Run the playbook for backup configuration
  788. nodeset:
  789. nodes:
  790. - name: bridge.openstack.org
  791. label: ubuntu-bionic
  792. - name: backup01.region.provider.opendev.org
  793. label: ubuntu-bionic
  794. - name: backup-test01.opendev.org
  795. label: ubuntu-bionic
  796. - name: backup-test02.opendev.org
  797. label: ubuntu-xenial
  798. vars:
  799. run_playbooks:
  800. - playbooks/service-backup.yaml
  801. files:
  802. - playbooks/bridge.yaml
  803. - playbooks/roles/backup.*
  804. - playbooks/zuul/templates/host_vars/backup.*
  805. - testinfra/test_backups.py
  806. - job:
  807. name: system-config-run-mirror-base
  808. parent: system-config-run
  809. abstract: true
  810. description: |
  811. Run the playbook for a mirror node
  812. vars:
  813. run_playbooks:
  814. - playbooks/service-letsencrypt.yaml
  815. - playbooks/service-mirror.yaml
  816. host-vars:
  817. mirror01.openafs.provider.opendev.org:
  818. host_copy_output:
  819. '/var/log/apache2/': logs
  820. '/var/log/acme.sh': logs
  821. files:
  822. - playbooks/bridge.yaml
  823. - roles/
  824. - playbooks/group_vars/mirror_opendev.yaml
  825. - playbooks/roles/mirror/
  826. - playbooks/roles/letsencrypt.*
  827. - playbooks/service-letsencrypt.yaml
  828. - playbooks/service-mirror.yaml
  829. - playbooks/zuul/templates/group_vars/mirror_opendev.yaml.j2
  830. - testinfra/test_mirror.py
  831. - job:
  832. name: system-config-run-mirror-x86
  833. parent: system-config-run-mirror-base
  834. nodeset:
  835. nodes:
  836. - name: bridge.openstack.org
  837. label: ubuntu-bionic
  838. - name: mirror01.openafs.provider.opendev.org
  839. label: ubuntu-bionic
  840. - job:
  841. name: system-config-run-mirror-arm64
  842. parent: system-config-run-mirror-base
  843. timeout: 3600
  844. nodeset:
  845. nodes:
  846. - name: bridge.openstack.org
  847. label: ubuntu-bionic-arm64
  848. - name: mirror01.openafs.provider.opendev.org
  849. label: ubuntu-bionic-arm64
  850. - job:
  851. name: system-config-run-mirror-update
  852. parent: system-config-run
  853. description: |
  854. Run the playbook for a mirror update node
  855. nodeset:
  856. nodes:
  857. - name: bridge.openstack.org
  858. label: ubuntu-bionic
  859. - name: mirror-update01.opendev.org
  860. label: ubuntu-bionic
  861. vars:
  862. run_playbooks:
  863. - playbooks/service-mirror-update.yaml
  864. files:
  865. - playbooks/bridge.yaml
  866. - roles/
  867. - playbooks/roles/mirror-update/
  868. - playbooks/service-mirror-update.yaml
  869. - testinfra/test_mirror-update.py
  870. - job:
  871. name: system-config-run-docker-registry
  872. parent: system-config-run
  873. description: |
  874. Run the playbook for the docker registry.
  875. dependencies: opendev-buildset-registry
  876. nodeset:
  877. nodes:
  878. - name: bridge.openstack.org
  879. label: ubuntu-bionic
  880. - name: insecure-ci-registry01.opendev.org
  881. label: ubuntu-bionic
  882. vars:
  883. run_playbooks:
  884. - playbooks/service-letsencrypt.yaml
  885. - playbooks/service-registry.yaml
  886. host-vars:
  887. insecure-ci-registry01.opendev.org:
  888. host_copy_output:
  889. '/var/registry/auth': logs
  890. '/var/registry/certs': logs
  891. files:
  892. - playbooks/bridge.yaml
  893. - playbooks/group_vars/registry.yaml
  894. - ^playbooks/host_vars/insecure-ci-registry\d+.opendev.org.yaml
  895. - playbooks/zuul/templates/group_vars/registry.yaml.j2
  896. - playbooks/roles/letsencrypt-create-certs/handlers/restart_zuul_registry.yaml
  897. - playbooks/roles/registry/
  898. - testinfra/test_registry.py
  899. - job:
  900. name: system-config-run-gitea
  901. parent: system-config-run
  902. description: |
  903. Run the playbook for the gitea servers.
  904. dependencies: opendev-buildset-registry
  905. timeout: 3600
  906. nodeset:
  907. nodes:
  908. - name: bridge.openstack.org
  909. label: ubuntu-bionic
  910. - name: gitea-lb01.opendev.org
  911. label: ubuntu-bionic
  912. - name: gitea99.opendev.org
  913. label: ubuntu-bionic
  914. vars:
  915. run_playbooks:
  916. - playbooks/service-letsencrypt.yaml
  917. - playbooks/service-gitea-lb.yaml
  918. - playbooks/remote_puppet_git.yaml
  919. run_test_playbook: playbooks/test-gitea.yaml
  920. host-vars:
  921. gitea99.opendev.org:
  922. host_copy_output:
  923. '/var/gitea/conf': logs
  924. '/var/gitea/certs': logs
  925. '/var/gitea/logs': logs
  926. gitea-lb01.opendev.org:
  927. host_copy_output:
  928. '/var/haproxy/etc': logs
  929. files:
  930. - playbooks/bridge.yaml
  931. - playbooks/group_vars/gitea.yaml
  932. - playbooks/group_vars/gitea-lb.yaml
  933. - playbooks/host_vars/gitea.*
  934. - playbooks/zuul/templates/group_vars/gitea.yaml.j2
  935. - playbooks/zuul/templates/group_vars/gitea-lb.yaml.j2
  936. - playbooks/roles/gitea/
  937. - playbooks/roles/gitea-git-repos/
  938. - playbooks/roles/haproxy/
  939. - playbooks/roles/letsencrypt-create-certs/handlers/restart_gitea.yaml
  940. - testinfra/test_gitea.py
  941. - testinfra/test_gitea_lb.py
  942. # From gitea_files -- If we rebuild the image, we want to run
  943. # this job as well.
  944. - docker/gitea/.*
  945. # From haproxy-statsd_files -- If we rebuild the image, we want
  946. # to run this job as well.
  947. - docker/haproxy-statsd/.*
  948. - job:
  949. name: system-config-run-zuul-preview
  950. parent: system-config-run
  951. description: |
  952. Run the playbook for the docker registry.
  953. dependencies: opendev-buildset-registry
  954. nodeset:
  955. nodes:
  956. - name: bridge.openstack.org
  957. label: ubuntu-bionic
  958. - name: zp01.opendev.org
  959. label: ubuntu-bionic
  960. vars:
  961. run_playbooks:
  962. - playbooks/service-zuul.yaml
  963. files:
  964. - playbooks/bridge.yaml
  965. - playbooks/roles/zuul-preview/
  966. - testinfra/test_zuul_preview.py
  967. - job:
  968. name: system-config-run-review
  969. parent: system-config-run
  970. description: |
  971. Run the playbook for gerrit (in a container).
  972. nodeset:
  973. nodes:
  974. - name: bridge.openstack.org
  975. label: ubuntu-bionic
  976. - name: review01.opendev.org
  977. label: ubuntu-bionic
  978. - name: review-dev01.openstack.org
  979. label: ubuntu-bionic
  980. vars:
  981. run_playbooks:
  982. - playbooks/service-review-dev.yaml
  983. - playbooks/service-review.yaml
  984. host-vars:
  985. review-dev01.openstack.org:
  986. host_copy_output:
  987. '/home/gerrit2/review_site/etc': logs
  988. '/home/gerrit2/review_site/logs': logs
  989. review01.opendev.org:
  990. host_copy_output:
  991. '/home/gerrit2/review_site/etc': logs
  992. '/home/gerrit2/review_site/logs': logs
  993. files:
  994. - playbooks/group_vars/review.yaml
  995. - ^playbooks/host_vars/review\d+.opendev.org.yaml
  996. - playbooks/group_vars/review-dev.yaml
  997. - ^playbooks/host_vars/review-dev\d+.opendev.org.yaml
  998. - ^playbooks/service-review.*.yaml
  999. - playbooks/zuul/templates/group_vars/review-dev.yaml.j2
  1000. - playbooks/zuul/templates/group_vars/review.yaml.j2
  1001. - playbooks/roles/gerrit/
  1002. - testinfra/test_gerrit.py
  1003. - job:
  1004. name: system-config-run-static
  1005. parent: system-config-run
  1006. description: |
  1007. Run the playbook for a static node
  1008. nodeset:
  1009. nodes:
  1010. - name: bridge.openstack.org
  1011. label: ubuntu-bionic
  1012. - name: static01.opendev.org
  1013. label: ubuntu-bionic
  1014. vars:
  1015. run_playbooks:
  1016. - playbooks/service-letsencrypt.yaml
  1017. - playbooks/service-static.yaml
  1018. files:
  1019. - playbooks/bridge.yaml
  1020. - playbooks/roles/static/
  1021. - playbooks/roles/letsencrypt.*
  1022. - playbooks/service-letsencrypt.yaml
  1023. - playbooks/service-static.yaml
  1024. - testinfra/test_static.py
  1025. host-vars:
  1026. static01.opendev.org:
  1027. host_copy_output:
  1028. '/var/log/acme.sh/': logs
  1029. '/etc/apache2/': logs
  1030. '/var/log/apache2/': logs
  1031. - job:
  1032. name: infra-prod-playbook
  1033. description: |
  1034. Run specified playbook against productions hosts.
  1035. This is a parent job designed to be inherited to enabled
  1036. CD deployment of our infrastructure. Set playbook_name to
  1037. specify the playbook relative to
  1038. bridge.openstack.org:/opt/system-config/playbooks
  1039. abstract: true
  1040. run: playbooks/zuul/run-production-playbook.yaml
  1041. vars:
  1042. ansible_forks: 5
  1043. nodeset:
  1044. nodes: []
  1045. - job:
  1046. name: infra-prod-zuul_reconfigure
  1047. parent: infra-prod-playbook
  1048. description: |
  1049. Perform a full Zuul reconfiguration.
  1050. This reloads the tenant config file and clears all configuration
  1051. caches.
  1052. vars:
  1053. playbook_name: zuul_reconfigure.yaml
  1054. - project:
  1055. templates:
  1056. - system-config-zuul-role-integration
  1057. - infra-puppet-apply-jobs
  1058. - infra-logstash-filter-jobs
  1059. - publish-tox-docs-infra
  1060. check:
  1061. jobs:
  1062. - opendev-buildset-registry:
  1063. vars:
  1064. docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker"
  1065. - tox-linters
  1066. - puppet-beaker-rspec-puppet-4-infra-system-config
  1067. - system-config-run-base
  1068. - system-config-run-base-ansible-devel:
  1069. voting: false
  1070. - system-config-run-backup
  1071. - system-config-run-dns
  1072. - system-config-run-eavesdrop
  1073. - system-config-run-lists
  1074. - system-config-run-nodepool
  1075. - system-config-run-mirror-x86
  1076. - system-config-run-mirror-update
  1077. - system-config-run-static
  1078. - system-config-run-docker-registry
  1079. - system-config-run-gitea:
  1080. dependencies:
  1081. - name: system-config-build-image-gitea
  1082. soft: true
  1083. - name: system-config-build-image-haproxy-statsd
  1084. soft: true
  1085. - system-config-run-review
  1086. - system-config-run-zuul-preview
  1087. - system-config-run-letsencrypt
  1088. - system-config-build-image-bazel
  1089. - system-config-build-image-jinja-init:
  1090. dependencies:
  1091. - name: system-config-build-image-python-base
  1092. soft: true
  1093. - system-config-build-image-gitea-init:
  1094. dependencies:
  1095. - name: system-config-build-image-jinja-init
  1096. soft: true
  1097. - system-config-build-image-gitea
  1098. - system-config-build-image-gerrit-base:
  1099. dependencies:
  1100. - name: system-config-build-image-python-builder
  1101. soft: true
  1102. - system-config-build-image-gerrit-2.13
  1103. - system-config-build-image-gerrit-2.15:
  1104. dependencies:
  1105. - name: system-config-build-image-bazel
  1106. soft: true
  1107. - name: system-config-build-image-gerrit-base
  1108. soft: true
  1109. - system-config-build-image-gerrit-2.16:
  1110. dependencies:
  1111. - name: system-config-build-image-bazel
  1112. soft: true
  1113. - name: system-config-build-image-gerrit-base
  1114. soft: true
  1115. - system-config-build-image-gerrit-3.0:
  1116. dependencies:
  1117. - name: system-config-build-image-bazel
  1118. soft: true
  1119. - name: system-config-build-image-gerrit-base
  1120. soft: true
  1121. - system-config-build-image-gerrit-master:
  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-haproxy-statsd:
  1128. dependencies:
  1129. - name: system-config-build-image-python-base
  1130. soft: true
  1131. - system-config-build-image-python-base
  1132. - system-config-build-image-python-builder
  1133. check-arm64:
  1134. jobs:
  1135. - system-config-run-mirror-arm64
  1136. gate:
  1137. jobs:
  1138. - opendev-buildset-registry:
  1139. vars:
  1140. docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker"
  1141. - tox-linters
  1142. - puppet-beaker-rspec-puppet-4-infra-system-config
  1143. - system-config-run-base
  1144. - system-config-run-dns
  1145. - system-config-run-eavesdrop
  1146. - system-config-run-lists
  1147. - system-config-run-nodepool
  1148. - system-config-run-mirror-x86
  1149. - system-config-run-mirror-update
  1150. - system-config-run-static
  1151. - system-config-run-docker-registry
  1152. - system-config-run-gitea:
  1153. dependencies:
  1154. - name: system-config-upload-image-gitea
  1155. soft: true
  1156. - name: system-config-upload-image-haproxy-statsd
  1157. soft: true
  1158. - system-config-run-review
  1159. - system-config-run-zuul-preview
  1160. - system-config-run-letsencrypt
  1161. - system-config-upload-image-bazel
  1162. - system-config-upload-image-jinja-init:
  1163. dependencies:
  1164. - name: system-config-upload-image-python-base
  1165. soft: true
  1166. - system-config-upload-image-gitea-init:
  1167. dependencies:
  1168. - name: system-config-upload-image-jinja-init
  1169. soft: true
  1170. - system-config-upload-image-gitea
  1171. - system-config-upload-image-gerrit-base:
  1172. dependencies:
  1173. - name: system-config-upload-image-python-builder
  1174. soft: true
  1175. - system-config-upload-image-gerrit-2.13
  1176. - system-config-upload-image-gerrit-2.15:
  1177. dependencies:
  1178. - name: system-config-upload-image-bazel
  1179. soft: true
  1180. - name: system-config-upload-image-gerrit-base
  1181. soft: true
  1182. - system-config-upload-image-gerrit-2.16:
  1183. dependencies:
  1184. - name: system-config-upload-image-bazel
  1185. soft: true
  1186. - name: system-config-upload-image-gerrit-base
  1187. soft: true
  1188. - system-config-upload-image-gerrit-3.0:
  1189. dependencies:
  1190. - name: system-config-upload-image-bazel
  1191. soft: true
  1192. - name: system-config-upload-image-gerrit-base
  1193. soft: true
  1194. - system-config-upload-image-gerrit-master:
  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-haproxy-statsd:
  1201. dependencies:
  1202. - name: system-config-upload-image-python-base
  1203. soft: true
  1204. - system-config-upload-image-python-base
  1205. - system-config-upload-image-python-builder
  1206. promote:
  1207. jobs:
  1208. - system-config-promote-image-bazel
  1209. - system-config-promote-image-jinja-init
  1210. - system-config-promote-image-gitea-init
  1211. - system-config-promote-image-gitea
  1212. - system-config-promote-image-gerrit-base
  1213. - system-config-promote-image-gerrit-2.13
  1214. - system-config-promote-image-gerrit-2.15
  1215. - system-config-promote-image-gerrit-2.16
  1216. - system-config-promote-image-gerrit-3.0
  1217. - system-config-promote-image-gerrit-master
  1218. - system-config-promote-image-haproxy-statsd
  1219. - system-config-promote-image-python-base
  1220. - system-config-promote-image-python-builder