Manage a pool of nodes for a distributed test 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.

.zuul.yaml 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. - job:
  2. name: nodepool-zuul-functional
  3. parent: tox
  4. description: |
  5. Test that zuul works with current nodepool sources.
  6. This test runs the zuul project ``nodepool`` environment.
  7. pre-run: playbooks/nodepool-zuul-functional/pre.yaml
  8. post-run: playbooks/nodepool-zuul-functional/post.yaml
  9. required-projects:
  10. - zuul/nodepool
  11. - zuul/zuul
  12. vars:
  13. zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/zuul'].src_dir }}"
  14. tox_envlist: nodepool
  15. # NOTE(ianw): this job doesn't really do anything unless you set
  16. # "NODEPOOL_PAUSE_something_DIB: false" to unpause one or more builds.
  17. - job:
  18. name: nodepool-functional-base
  19. parent: devstack
  20. # NOTE(ianw): for now, keep these jobs as Xenial only. We will
  21. # add bionic variants, but we want to keep Xenial testing around
  22. # whilst we still run Xenial for upstream nodepool-builders too
  23. nodeset: openstack-single-node-xenial
  24. pre-run: playbooks/nodepool-functional-base/pre.yaml
  25. post-run: playbooks/nodepool-functional-base/post.yaml
  26. timeout: 5400
  27. required-projects:
  28. - zuul/nodepool
  29. vars:
  30. devstack_localrc:
  31. USE_PYTHON3: True
  32. devstack_services:
  33. horizon: false
  34. ceilometer-acentral: false
  35. ceilometer-acompute: false
  36. ceilometer-alarm-evaluator: false
  37. ceilometer-alarm-notifier: false
  38. ceilometer-anotification: false
  39. ceilometer-api: false
  40. ceilometer-collector: false
  41. cinder: false
  42. c-bak: false
  43. c-sch: false
  44. c-api: false
  45. c-vol: false
  46. s-account: false
  47. s-container: false
  48. s-object: false
  49. s-proxy: false
  50. # Nodepool doesn't need vnc access
  51. n-novnc: false
  52. # Nodepool testing uses config drive only
  53. n-api-meta: false
  54. q-meta: false
  55. devstack_plugins:
  56. nodepool: https://opendev.org/zuul/nodepool
  57. zuul_copy_output:
  58. '/var/log/nodepool/builds': 'logs'
  59. - job:
  60. name: nodepool-functional-py35
  61. parent: nodepool-functional-base
  62. description: |
  63. Run nodepool functional tests for py35
  64. run: playbooks/nodepool-functional-py35/run.yaml
  65. vars:
  66. devstack_localrc:
  67. NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false
  68. - job:
  69. name: nodepool-functional-py35-src-base
  70. parent: nodepool-functional-base
  71. run: playbooks/nodepool-functional-py35-src/run.yaml
  72. required-projects:
  73. - name: github.com/sqlalchemy/dogpile.cache
  74. - name: opendev/glean
  75. - name: zuul/nodepool
  76. - name: openstack/diskimage-builder
  77. - name: openstack/openstacksdk
  78. - job:
  79. name: nodepool-functional-py35-src
  80. parent: nodepool-functional-py35-src-base
  81. vars:
  82. devstack_localrc:
  83. NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false
  84. # Distro functional tests. This is used by projects such as
  85. # diskimage-builder and glean as live-boot tests
  86. - job:
  87. name: nodepool-functional-py35-redhat-src
  88. parent: nodepool-functional-py35-src-base
  89. vars:
  90. devstack_localrc:
  91. NODEPOOL_PAUSE_CENTOS_7_DIB: false
  92. NODEPOOL_PAUSE_FEDORA_29_DIB: false
  93. - job:
  94. name: nodepool-functional-py35-suse-src
  95. parent: nodepool-functional-py35-src-base
  96. vars:
  97. devstack_localrc:
  98. NODEPOOL_PAUSE_OPENSUSE_423_DIB: false
  99. NODEPOOL_PAUSE_OPENSUSE_150_DIB: false
  100. NODEPOOL_PAUSE_OPENSUSE_TUMBLEWEED_DIB: false
  101. - job:
  102. name: nodepool-functional-py35-gentoo-src
  103. parent: nodepool-functional-py35-src-base
  104. vars:
  105. devstack_localrc:
  106. NODEPOOL_PAUSE_GENTOO_17_0_SYSTEMD_DIB: false
  107. - job:
  108. name: nodepool-functional-py35-ubuntu-src
  109. parent: nodepool-functional-py35-src-base
  110. vars:
  111. devstack_localrc:
  112. NODEPOOL_PAUSE_UBUNTU_BIONIC_DIB: false
  113. NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false
  114. NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB: false
  115. - job:
  116. name: nodepool-functional-py35-debian-src
  117. parent: nodepool-functional-py35-src-base
  118. vars:
  119. devstack_localrc:
  120. NODEPOOL_PAUSE_DEBIAN_STRETCH_DIB: false
  121. NODEPOOL_PAUSE_DEBIAN_BUSTER_DIB: false
  122. - job:
  123. description: |
  124. Test that nodepool works with kubernetes.
  125. name: nodepool-functional-k8s
  126. pre-run: playbooks/nodepool-functional-k8s/pre.yaml
  127. run: playbooks/nodepool-functional-k8s/run.yaml
  128. post-run: playbooks/nodepool-functional-k8s/post.yaml
  129. nodeset: ubuntu-xenial
  130. required-projects:
  131. - zuul/nodepool
  132. - job:
  133. description: |
  134. Test that nodepool works with openshift.
  135. name: nodepool-functional-openshift
  136. pre-run: playbooks/nodepool-functional-openshift/pre.yaml
  137. run: playbooks/nodepool-functional-openshift/run.yaml
  138. nodeset:
  139. nodes:
  140. - name: cluster
  141. label: centos-7
  142. - name: launcher
  143. label: fedora-28
  144. required-projects:
  145. - zuul/nodepool
  146. - secret:
  147. name: nodepool-dockerhub
  148. data:
  149. username: zuulzuul
  150. password: !encrypted/pkcs1-oaep
  151. - VV5m4XbsYvAz0/7T+WoIypvD3ijRsPYrGo4O5JuOHt6TX14s9B1KddeMwnabEEKapPdbb
  152. cwqbzFKoHRMi8DdXiDKxrgbTSC1jb3BvKq7XE0/xF4Bq2dM+r3yDnXS6a7BuijSqFSiMG
  153. /9bf0jqEAWXWCvbYUAxKOklJIRLjcKywCP5CulmW6EV8f1Iya8Y7UGpjGyL34FVQuc52Y
  154. 5MLp+Dra95pvBJMgikbu7LtMPCXOMctUFBpwNArCjWKGhz00UZwyAmsbPPHwQWb+884ZP
  155. v9zi2FuRAL+rn4DRVwyIw28ZdCEr5F5EkZon3lSIhikhdQIyHPtW8VwMJTL4RxBdmgcEt
  156. +zZBbLlOU+0AHPGLlO/yQNvHeSzwY9pe2oIGuqSu3h6zp6Y0NIE/Q0VpiIXWpOAnLOmno
  157. uOd3j9tZ1beol2mg4Yk7rOaXu1Fvtfhd1K3LpLzEbiGzCMIEZuFHU2ZInAbUmtm0BtbDa
  158. /bYvI9dB/uqA2xgse5rVMa++v3AfWJTJhFY/wBU4fHOWlFBUZKFuSoijUcWMfnfMMyU2B
  159. A5CQKhv4Wmtzbvo/oneYkwFOTYaPNj2DS0BcFJFkR8FZDYmTBPnKoBH5wpwwnrzPOpCMa
  160. L21z+Vp1Vce1XCsaOduMrmZDvuQcK1YOKIIUeElAQw8GuwTfcXqekoPvp54SeE=
  161. - job:
  162. name: nodepool-build-image
  163. parent: opendev-build-docker-image
  164. description: Build Docker images.
  165. vars: &nodepool_image_vars
  166. docker_images:
  167. - context: .
  168. repository: zuul/nodepool
  169. target: nodepool
  170. - context: .
  171. repository: zuul/nodepool-launcher
  172. target: nodepool-launcher
  173. - context: .
  174. repository: zuul/nodepool-builder
  175. target: nodepool-builder
  176. - job:
  177. name: nodepool-upload-image
  178. parent: opendev-upload-docker-image
  179. description: Build Docker images and upload to Docker Hub.
  180. vars: *nodepool_image_vars
  181. secrets:
  182. - name: docker_credentials
  183. secret: nodepool-dockerhub
  184. pass-to-parent: true
  185. - job:
  186. name: nodepool-promote-image
  187. parent: opendev-promote-docker-image
  188. description: Promote previously uploaded Docker images.
  189. vars: *nodepool_image_vars
  190. secrets:
  191. - name: docker_credentials
  192. secret: nodepool-dockerhub
  193. pass-to-parent: true
  194. - project:
  195. check:
  196. jobs:
  197. - nodepool-build-image
  198. - tox-docs
  199. - tox-pep8
  200. - tox-py35:
  201. nodeset: ubuntu-xenial
  202. - tox-py36
  203. - nodepool-zuul-functional:
  204. voting: false
  205. - nodepool-functional-py35:
  206. voting: false
  207. - nodepool-functional-py35-src:
  208. voting: false
  209. - nodepool-functional-k8s
  210. - nodepool-functional-openshift
  211. - zuul-quick-start:
  212. dependencies: nodepool-build-image
  213. gate:
  214. jobs:
  215. - nodepool-upload-image
  216. - tox-docs
  217. - tox-pep8
  218. - tox-py35:
  219. nodeset: ubuntu-xenial
  220. - tox-py36
  221. - zuul-quick-start:
  222. dependencies: nodepool-upload-image
  223. post:
  224. jobs:
  225. - publish-zuul-docs
  226. - release-zuul-python
  227. promote:
  228. jobs:
  229. - nodepool-promote-image
  230. experimental:
  231. jobs:
  232. - nodepool-functional-py35-debian-src
  233. release:
  234. jobs:
  235. - release-zuul-python
  236. - publish-zuul-docs