OpenStack Compute (Nova)
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.

327 lines
11KB

  1. # See https://docs.openstack.org/infra/manual/drivers.html#naming-with-zuul-v3
  2. # for job naming conventions.
  3. - job:
  4. name: nova-dsvm-base
  5. parent: legacy-dsvm-base
  6. description: |
  7. The base job definition for nova devstack/tempest jobs.
  8. Contains common configuration.
  9. timeout: 10800
  10. required-projects:
  11. - openstack/devstack-gate
  12. - openstack/nova
  13. - openstack/tempest
  14. irrelevant-files: &dsvm-irrelevant-files
  15. - ^api-.*$
  16. - ^(test-|)requirements.txt$
  17. - ^.*\.rst$
  18. - ^.git.*$
  19. - ^doc/.*$
  20. - ^nova/hacking/.*$
  21. - ^nova/locale/.*$
  22. - ^nova/tests/.*$
  23. - ^releasenotes/.*$
  24. - ^setup.cfg$
  25. - ^tests-py3.txt$
  26. - ^tools/.*$
  27. - ^tox.ini$
  28. - job:
  29. name: nova-dsvm-multinode-base
  30. parent: legacy-dsvm-base-multinode
  31. description: |
  32. Base job for multinode nova devstack/tempest jobs.
  33. Will setup firewall rules on all the nodes allowing them to talk to
  34. each other.
  35. timeout: 10800
  36. required-projects:
  37. - openstack/devstack-gate
  38. - openstack/nova
  39. - openstack/tempest
  40. irrelevant-files: *dsvm-irrelevant-files
  41. - job:
  42. name: nova-tox-functional
  43. parent: openstack-tox
  44. description: |
  45. Run tox-based functional tests for the OpenStack Nova project with Nova
  46. specific irrelevant-files list. Uses tox with the ``functional``
  47. environment.
  48. required-projects:
  49. - openstack/placement
  50. irrelevant-files: &functional-irrelevant-files
  51. - ^.*\.rst$
  52. - ^api-.*$
  53. - ^doc/source/.*$
  54. - ^nova/locale/.*$
  55. - ^releasenotes/.*$
  56. vars:
  57. tox_envlist: functional
  58. tox_install_siblings: true
  59. timeout: 3600
  60. - job:
  61. name: nova-tox-functional-py35
  62. parent: openstack-tox-functional-py35
  63. description: |
  64. Run tox-based functional tests for the OpenStack Nova project
  65. under cPython version 3.5. with Nova specific irrelevant-files list.
  66. Uses tox with the ``functional-py35`` environment.
  67. required-projects:
  68. - openstack/placement
  69. irrelevant-files: *functional-irrelevant-files
  70. vars:
  71. tox_envlist: functional-py35
  72. tox_install_siblings: true
  73. timeout: 3600
  74. - job:
  75. name: nova-tox-functional-py36
  76. parent: openstack-tox
  77. nodeset: ubuntu-bionic
  78. description: |
  79. Run tox-based functional tests for the OpenStack Nova project
  80. under cPython version 3.6 with Nova specific irrelevant-files list.
  81. Uses tox with the ``functional-py36`` environment.
  82. irrelevant-files: *functional-irrelevant-files
  83. vars:
  84. tox_envlist: functional-py36
  85. bindep_profile: test py36
  86. timeout: 3600
  87. - job:
  88. name: nova-tox-functional-py37
  89. parent: openstack-tox
  90. nodeset: ubuntu-bionic
  91. description: |
  92. Run tox-based functional tests for the OpenStack Nova project
  93. under cPython version 3.7 with Nova specific irrelevant-files list.
  94. Uses tox with the ``functional-py37`` environment.
  95. irrelevant-files: *functional-irrelevant-files
  96. vars:
  97. tox_envlist: functional-py37
  98. bindep_profile: test py37
  99. python_version: 3.7
  100. timeout: 3600
  101. - job:
  102. name: nova-cells-v1
  103. parent: nova-dsvm-base
  104. run: playbooks/legacy/nova-cells-v1/run.yaml
  105. post-run: playbooks/legacy/nova-cells-v1/post.yaml
  106. - job:
  107. name: nova-live-migration
  108. parent: nova-dsvm-multinode-base
  109. description: |
  110. Run tempest live migration tests against both local storage and shared
  111. storage using ceph (the environment is reconfigured for ceph after the
  112. local storage tests are run). Also runs simple evacuate tests.
  113. Config drive is forced on all instances.
  114. run: playbooks/legacy/nova-live-migration/run.yaml
  115. post-run: playbooks/legacy/nova-live-migration/post.yaml
  116. irrelevant-files: &live-migration-irrelevant-files
  117. # We define our own irrelevant-files because we need to run
  118. # this if there are changes to nova/tests/live_migration/.
  119. # TODO(mriedem): Move the nova/tests/live_migration/ scripts to gate/
  120. # so this job can use the standard dsvm-irrelevant-files.
  121. - ^api-.*$
  122. - ^(test-|)requirements.txt$
  123. - ^.*\.rst$
  124. - ^.git.*$
  125. - ^doc/.*$
  126. - ^nova/hacking/.*$
  127. - ^nova/locale/.*$
  128. - ^nova/tests/(?!live_migration/).*$
  129. - ^releasenotes/.*$
  130. - ^setup.cfg$
  131. - ^tests-py3.txt$
  132. - ^tools/.*$
  133. - ^tox.ini$
  134. - job:
  135. name: nova-lvm
  136. parent: nova-dsvm-base
  137. description: |
  138. Run tempest compute API tests using LVM image backend. This only runs
  139. against nova/virt/libvirt/* changes.
  140. run: playbooks/legacy/nova-lvm/run.yaml
  141. post-run: playbooks/legacy/nova-lvm/post.yaml
  142. # Copy irrelevant-files from nova-dsvm-base and then exclude anything
  143. # that is not in nova/virt/libvirt/* or nova/privsep/* (besides the actual
  144. # zuul playbook and tempest rc files so this can be self-testing).
  145. irrelevant-files:
  146. - ^(?!.zuul.yaml)(?!playbooks/legacy/nova-lvm/)(?!devstack/tempest-dsvm-lvm-rc)(?!nova/virt/libvirt/)(?!nova/privsep/).*$
  147. - ^api-.*$
  148. - ^(test-|)requirements.txt$
  149. - ^.*\.rst$
  150. - ^.git.*$
  151. - ^doc/.*$
  152. - ^nova/hacking/.*$
  153. - ^nova/locale/.*$
  154. - ^nova/tests/.*$
  155. - ^releasenotes/.*$
  156. - ^setup.cfg$
  157. - ^tests-py3.txt$
  158. - ^tools/.*$
  159. - ^tox.ini$
  160. # TODO(mriedem): Make this voting and gating once bug 1771700 is fixed
  161. # and we've had enough runs to feel comfortable with this setup.
  162. voting: false
  163. - job:
  164. name: nova-next
  165. parent: nova-dsvm-base
  166. description: |
  167. This job was added in Newton when placement and cellsv2
  168. were optional. Placement and cellsv2 are required starting in Ocata. In
  169. Pike, the service user token functionality was added. This job is also
  170. unique in that it runs the post_test_hook from the nova repo, which runs
  171. post-test scripts to ensure those scripts are still working,
  172. e.g. archive_deleted_rows. In Queens, this job started testing the
  173. TLS console proxy code in the libvirt driver.
  174. Starting in Stein, the job was changed to run with python 3 and enabled
  175. volume multi-attach testing.
  176. Runs all tempest compute API and most scenario tests concurrently.
  177. run: playbooks/legacy/nova-next/run.yaml
  178. post-run: playbooks/legacy/nova-next/post.yaml
  179. - job:
  180. name: nova-tempest-v2-api
  181. parent: devstack-tempest
  182. branches:
  183. - master
  184. description: |
  185. This job runs the Tempest compute tests against v2.0 endpoint.
  186. Former names for this job was:
  187. * legacy-tempest-dsvm-nova-v20-api
  188. vars:
  189. tox_envlist: all
  190. tempest_test_regex: api.*compute
  191. devstack_localrc:
  192. TEMPEST_COMPUTE_TYPE: compute_legacy
  193. - job:
  194. name: nova-tempest-full-oslo.versionedobjects
  195. parent: tempest-full
  196. description: |
  197. Run test with git version of oslo.versionedobjects to check that
  198. changes to nova will work with the next released version of
  199. that library.
  200. required-projects:
  201. - openstack/oslo.versionedobjects
  202. - job:
  203. name: nova-grenade-live-migration
  204. parent: nova-dsvm-multinode-base
  205. description: |
  206. Multi-node grenade job which runs nova/tests/live_migration/hooks tests.
  207. In other words, this tests live migration with mixed-version compute
  208. services which is important for things like rolling upgrade support.
  209. The former name for this job was
  210. "legacy-grenade-dsvm-neutron-multinode-live-migration".
  211. run: playbooks/legacy/nova-grenade-live-migration/run.yaml
  212. post-run: playbooks/legacy/nova-grenade-live-migration/post.yaml
  213. required-projects:
  214. - openstack/grenade
  215. - openstack/devstack-gate
  216. - openstack/nova
  217. irrelevant-files: *live-migration-irrelevant-files
  218. - project:
  219. # Please try to keep the list of job names sorted alphabetically.
  220. templates:
  221. - check-requirements
  222. - integrated-gate-py3
  223. - openstack-cover-jobs
  224. - openstack-lower-constraints-jobs
  225. - openstack-python-jobs
  226. - openstack-python35-jobs
  227. - openstack-python36-jobs
  228. - openstack-python37-jobs
  229. - periodic-stable-jobs
  230. - publish-openstack-docs-pti
  231. - release-notes-jobs-python3
  232. check:
  233. jobs:
  234. # We define our own irrelevant-files so we don't run the job
  235. # on things like nova docs-only changes.
  236. - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
  237. voting: false
  238. irrelevant-files: *dsvm-irrelevant-files
  239. - devstack-plugin-ceph-tempest:
  240. voting: false
  241. irrelevant-files: *dsvm-irrelevant-files
  242. - neutron-grenade-multinode:
  243. irrelevant-files: *dsvm-irrelevant-files
  244. - neutron-tempest-linuxbridge:
  245. irrelevant-files:
  246. # NOTE(mriedem): This job has its own irrelevant-files section
  247. # so that we only run it on changes to networking and libvirt/vif
  248. # code; we don't need to run this on all changes, nor do we run
  249. # it in the gate.
  250. - ^(?!nova/network/.*)(?!nova/virt/libvirt/vif.py).*$
  251. - nova-grenade-live-migration
  252. - nova-live-migration
  253. - nova-lvm
  254. - nova-next
  255. - nova-tox-functional
  256. - nova-tox-functional-py35
  257. - tempest-full-py3:
  258. irrelevant-files: *dsvm-irrelevant-files
  259. - tempest-multinode-full:
  260. voting: false
  261. irrelevant-files: *dsvm-irrelevant-files
  262. - tempest-slow-py3:
  263. irrelevant-files: *dsvm-irrelevant-files
  264. - grenade-py3:
  265. irrelevant-files: *dsvm-irrelevant-files
  266. gate:
  267. jobs:
  268. - nova-grenade-live-migration
  269. - nova-live-migration
  270. - nova-tox-functional
  271. - nova-tox-functional-py35
  272. - nova-next
  273. - tempest-full-py3:
  274. irrelevant-files: *dsvm-irrelevant-files
  275. - tempest-slow-py3:
  276. irrelevant-files: *dsvm-irrelevant-files
  277. - grenade-py3:
  278. irrelevant-files: *dsvm-irrelevant-files
  279. experimental:
  280. jobs:
  281. - ironic-tempest-bfv:
  282. irrelevant-files: *dsvm-irrelevant-files
  283. - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:
  284. irrelevant-files: *dsvm-irrelevant-files
  285. - barbican-simple-crypto-devstack-tempest:
  286. irrelevant-files: *dsvm-irrelevant-files
  287. - devstack-plugin-ceph-tempest-py3:
  288. irrelevant-files: *dsvm-irrelevant-files
  289. - legacy-grenade-dsvm-neutron-multinode-zero-downtime:
  290. irrelevant-files: *dsvm-irrelevant-files
  291. - devstack-plugin-nfs-tempest-full:
  292. irrelevant-files: *dsvm-irrelevant-files
  293. - tempest-full-py3-opensuse15:
  294. irrelevant-files: *dsvm-irrelevant-files
  295. - tempest-pg-full:
  296. irrelevant-files: *dsvm-irrelevant-files
  297. - nova-cells-v1
  298. - nova-tempest-full-oslo.versionedobjects:
  299. irrelevant-files: *dsvm-irrelevant-files
  300. - legacy-tempest-dsvm-nova-libvirt-kvm-apr:
  301. irrelevant-files: *dsvm-irrelevant-files
  302. - nova-tempest-v2-api:
  303. irrelevant-files: *dsvm-irrelevant-files
  304. - legacy-tempest-dsvm-neutron-dvr-multinode-full:
  305. irrelevant-files: *dsvm-irrelevant-files
  306. - neutron-tempest-dvr-ha-multinode-full:
  307. irrelevant-files: *dsvm-irrelevant-files
  308. - os-vif-ovs:
  309. irrelevant-files: *dsvm-irrelevant-files
  310. # NOTE(mriedem): Consider moving nova-tox-functional-py36 to the
  311. # check and gate queues once it's stable (like openstack-python36-jobs)
  312. - nova-tox-functional-py36
  313. - nova-tox-functional-py37