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.

540 lines
17KB

  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. - ^(placement-)?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. nodeset: legacy-ubuntu-xenial-2-node
  42. - job:
  43. name: nova-tox-functional
  44. parent: openstack-tox
  45. description: |
  46. Run tox-based functional tests for the OpenStack Nova project with Nova
  47. specific irrelevant-files list. Uses tox with the ``functional``
  48. environment.
  49. irrelevant-files: &functional-irrelevant-files
  50. - ^.*\.rst$
  51. - ^api-.*$
  52. - ^doc/source/.*$
  53. - ^nova/locale/.*$
  54. - ^placement-api-ref/.*$
  55. - ^releasenotes/.*$
  56. vars:
  57. tox_envlist: functional
  58. timeout: 3600
  59. - job:
  60. name: nova-tox-functional-py35
  61. parent: openstack-tox
  62. description: |
  63. Run tox-based functional tests for the OpenStack Nova project
  64. under cPython version 3.5. with Nova specific irrelevant-files list.
  65. Uses tox with the ``functional-py35`` environment.
  66. irrelevant-files: *functional-irrelevant-files
  67. vars:
  68. tox_envlist: functional-py35
  69. timeout: 3600
  70. - job:
  71. name: nova-caching-scheduler
  72. parent: nova-dsvm-base
  73. description: |
  74. Run non-slow Tempest API and scenario tests using the CachingScheduler.
  75. run: playbooks/legacy/nova-caching-scheduler/run.yaml
  76. post-run: playbooks/legacy/nova-caching-scheduler/post.yaml
  77. - job:
  78. name: nova-cells-v1
  79. parent: nova-dsvm-base
  80. run: playbooks/legacy/nova-cells-v1/run.yaml
  81. post-run: playbooks/legacy/nova-cells-v1/post.yaml
  82. - job:
  83. name: nova-live-migration
  84. parent: nova-dsvm-multinode-base
  85. run: playbooks/legacy/nova-live-migration/run.yaml
  86. post-run: playbooks/legacy/nova-live-migration/post.yaml
  87. - job:
  88. name: nova-lvm
  89. parent: nova-dsvm-base
  90. description: |
  91. Run tempest compute API tests using LVM image backend. This only runs
  92. against nova/virt/libvirt/* changes.
  93. run: playbooks/legacy/nova-lvm/run.yaml
  94. post-run: playbooks/legacy/nova-lvm/post.yaml
  95. # Copy irrelevant-files from nova-dsvm-base and then exclude anything
  96. # that is not in the nova/virt/libvirt/* tree (besides the actual zuul
  97. # playbook and tempest rc files so this can be self-testing).
  98. irrelevant-files:
  99. - ^(?!.zuul.yaml)(?!playbooks/legacy/nova-lvm/)(?!devstack/tempest-dsvm-lvm-rc)(?!nova/virt/libvirt/).*$
  100. - ^(placement-)?api-.*$
  101. - ^(test-|)requirements.txt$
  102. - ^.*\.rst$
  103. - ^.git.*$
  104. - ^doc/.*$
  105. - ^nova/hacking/.*$
  106. - ^nova/locale/.*$
  107. - ^nova/tests/.*$
  108. - ^releasenotes/.*$
  109. - ^setup.cfg$
  110. - ^tests-py3.txt$
  111. - ^tools/.*$
  112. - ^tox.ini$
  113. # TODO(mriedem): Make this voting and gating once bug 1771700 is fixed
  114. # and we've had enough runs to feel comfortable with this setup.
  115. voting: false
  116. - job:
  117. name: nova-multiattach
  118. parent: nova-dsvm-base
  119. description: |
  120. Run tempest integration tests with volume multiattach support enabled.
  121. This job will only work starting with Queens.
  122. It uses the default Cinder volume type in devstack (lvm) and the
  123. default compute driver in devstack (libvirt).
  124. run: playbooks/legacy/nova-multiattach/run.yaml
  125. post-run: playbooks/legacy/nova-multiattach/post.yaml
  126. - job:
  127. name: nova-next
  128. parent: nova-dsvm-base
  129. description: |
  130. This job was added in Newton when placement and cellsv2
  131. were optional. Placement and cellsv2 are required starting in Ocata. In
  132. Pike, the service user token functionality was added. This job is also
  133. unique in that it runs the post_test_hook from the nova repo, which runs
  134. post-test scripts to ensure those scripts are still working,
  135. e.g. archive_deleted_rows. In Queens, this job started testing the
  136. TLS console proxy code in the libvirt driver.
  137. run: playbooks/legacy/nova-next/run.yaml
  138. post-run: playbooks/legacy/nova-next/post.yaml
  139. - job:
  140. name: tempest-nova-v2-api
  141. parent: devstack-tempest
  142. branches:
  143. - master
  144. description: |
  145. This job runs the Tempest compute tests against v2.0 endpoint.
  146. Former names for this job was:
  147. * legacy-tempest-dsvm-nova-v20-api
  148. vars:
  149. tox_envlist: all
  150. tempest_test_regex: api.*compute
  151. devstack_localrc:
  152. TEMPEST_COMPUTE_TYPE: compute_legacy
  153. - job:
  154. name: nova-grenade-live-migration
  155. parent: nova-dsvm-multinode-base
  156. description: |
  157. Multi-node grenade job which runs nova/tests/live_migration/hooks tests.
  158. In other words, this tests live migration with mixed-version compute
  159. services which is important for things like rolling upgrade support.
  160. The former name for this job was
  161. "legacy-grenade-dsvm-neutron-multinode-live-migration".
  162. run: playbooks/legacy/nova-grenade-live-migration/run.yaml
  163. post-run: playbooks/legacy/nova-grenade-live-migration/post.yaml
  164. required-projects:
  165. - openstack/grenade
  166. - openstack/devstack-gate
  167. - openstack/nova
  168. irrelevant-files:
  169. - ^(placement-)?api-.*$
  170. - ^(test-|)requirements.txt$
  171. - ^.*\.rst$
  172. - ^.git.*$
  173. - ^api-.*$
  174. - ^doc/.*$
  175. - ^nova/hacking/.*$
  176. - ^nova/locale/.*$
  177. - ^nova/tests/.*\.py$
  178. - ^nova/tests/functional/.*$
  179. - ^nova/tests/unit/.*$
  180. - ^releasenotes/.*$
  181. - ^setup.cfg$
  182. - ^tests-py3.txt$
  183. - ^tools/.*$
  184. - ^tox.ini$
  185. voting: false
  186. - project:
  187. # Please try to keep the list of job names sorted alphabetically.
  188. templates:
  189. - openstack-python-jobs
  190. - openstack-python35-jobs
  191. - publish-openstack-sphinx-docs
  192. - periodic-stable-jobs
  193. - check-requirements
  194. - integrated-gate
  195. - integrated-gate-py35
  196. - release-notes-jobs
  197. check:
  198. jobs:
  199. # We define our own irrelevant-files so we don't run the job
  200. # on things like nova docs-only changes.
  201. - ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
  202. voting: false
  203. irrelevant-files: *dsvm-irrelevant-files
  204. - nova-cells-v1
  205. - nova-grenade-live-migration
  206. - nova-live-migration
  207. - nova-lvm
  208. - nova-multiattach
  209. - nova-next
  210. - tempest-slow:
  211. irrelevant-files: *dsvm-irrelevant-files
  212. - nova-tox-functional
  213. - nova-tox-functional-py35
  214. - openstack-tox-lower-constraints
  215. - tempest-full-py3:
  216. irrelevant-files: *dsvm-irrelevant-files
  217. - neutron-grenade-multinode:
  218. irrelevant-files:
  219. - ^(placement-)?api-.*$
  220. - ^(test-|)requirements.txt$
  221. - ^.*\.rst$
  222. - ^.git.*$
  223. - ^doc/.*$
  224. - ^nova/hacking/.*$
  225. - ^nova/locale/.*$
  226. - ^nova/tests/.*$
  227. - ^releasenotes/.*$
  228. - ^setup.cfg$
  229. - ^tests-py3.txt$
  230. - ^tools/.*$
  231. - ^tox.ini$
  232. - devstack-plugin-ceph-tempest:
  233. voting: false
  234. irrelevant-files:
  235. - ^(placement-)?api-.*$
  236. - ^(test-|)requirements.txt$
  237. - ^.*\.rst$
  238. - ^.git.*$
  239. - ^doc/.*$
  240. - ^nova/hacking/.*$
  241. - ^nova/locale/.*$
  242. - ^nova/tests/.*$
  243. - ^releasenotes/.*$
  244. - ^setup.cfg$
  245. - ^tests-py3.txt$
  246. - ^tools/.*$
  247. - ^tox.ini$
  248. - neutron-tempest-linuxbridge:
  249. irrelevant-files:
  250. - ^(?!nova/network/.*)(?!nova/virt/libvirt/vif.py).*$
  251. - ^(placement-)?api-.*$
  252. - ^(test-|)requirements.txt$
  253. - ^.*\.rst$
  254. - ^.git.*$
  255. - ^doc/.*$
  256. - ^nova/hacking/.*$
  257. - ^nova/locale/.*$
  258. - ^nova/tests/.*$
  259. - ^releasenotes/.*$
  260. - ^setup.cfg$
  261. - ^tests-py3.txt$
  262. - ^tools/.*$
  263. - ^tox.ini$
  264. - tempest-multinode-full:
  265. voting: false
  266. irrelevant-files:
  267. - ^(placement-)?api-.*$
  268. - ^(test-|)requirements.txt$
  269. - ^.*\.rst$
  270. - ^.git.*$
  271. - ^doc/.*$
  272. - ^nova/hacking/.*$
  273. - ^nova/locale/.*$
  274. - ^nova/tests/.*$
  275. - ^releasenotes/.*$
  276. - ^setup.cfg$
  277. - ^tests-py3.txt$
  278. - ^tools/.*$
  279. - ^tox.ini$
  280. - tempest-full:
  281. irrelevant-files:
  282. - ^(placement-)?api-.*$
  283. - ^(test-|)requirements.txt$
  284. - ^.*\.rst$
  285. - ^.git.*$
  286. - ^doc/.*$
  287. - ^nova/hacking/.*$
  288. - ^nova/locale/.*$
  289. - ^nova/tests/.*$
  290. - ^releasenotes/.*$
  291. - ^setup.cfg$
  292. - ^tests-py3.txt$
  293. - ^tools/.*$
  294. - ^tox.ini$
  295. - neutron-grenade:
  296. irrelevant-files:
  297. - ^(placement-)?api-.*$
  298. - ^(test-|)requirements.txt$
  299. - ^.*\.rst$
  300. - ^.git.*$
  301. - ^doc/.*$
  302. - ^nova/hacking/.*$
  303. - ^nova/locale/.*$
  304. - ^nova/tests/.*$
  305. - ^releasenotes/.*$
  306. - ^setup.cfg$
  307. - ^tests-py3.txt$
  308. - ^tools/.*$
  309. - ^tox.ini$
  310. gate:
  311. jobs:
  312. - nova-cells-v1
  313. - nova-live-migration
  314. - nova-multiattach
  315. - nova-next
  316. - tempest-slow:
  317. irrelevant-files: *dsvm-irrelevant-files
  318. - nova-tox-functional
  319. - nova-tox-functional-py35
  320. - openstack-tox-lower-constraints
  321. - tempest-full-py3:
  322. irrelevant-files: *dsvm-irrelevant-files
  323. - tempest-full:
  324. irrelevant-files:
  325. - ^(placement-)?api-.*$
  326. - ^(test-|)requirements.txt$
  327. - ^.*\.rst$
  328. - ^.git.*$
  329. - ^doc/.*$
  330. - ^nova/hacking/.*$
  331. - ^nova/locale/.*$
  332. - ^nova/tests/.*$
  333. - ^releasenotes/.*$
  334. - ^setup.cfg$
  335. - ^tests-py3.txt$
  336. - ^tools/.*$
  337. - ^tox.ini$
  338. - neutron-grenade:
  339. irrelevant-files:
  340. - ^(placement-)?api-.*$
  341. - ^(test-|)requirements.txt$
  342. - ^.*\.rst$
  343. - ^.git.*$
  344. - ^doc/.*$
  345. - ^nova/hacking/.*$
  346. - ^nova/locale/.*$
  347. - ^nova/tests/.*$
  348. - ^releasenotes/.*$
  349. - ^setup.cfg$
  350. - ^tests-py3.txt$
  351. - ^tools/.*$
  352. - ^tox.ini$
  353. experimental:
  354. jobs:
  355. - nova-caching-scheduler
  356. - os-vif-ovs
  357. - tempest-nova-v2-api:
  358. irrelevant-files:
  359. - ^(placement-)?api-.*$
  360. - ^(test-|)requirements.txt$
  361. - ^.*\.rst$
  362. - ^.git.*$
  363. - ^doc/.*$
  364. - ^nova/hacking/.*$
  365. - ^nova/locale/.*$
  366. - ^nova/tests/.*$
  367. - ^releasenotes/.*$
  368. - ^setup.cfg$
  369. - ^tests-py3.txt$
  370. - ^tools/.*$
  371. - ^tox.ini$
  372. - legacy-tempest-dsvm-multinode-full:
  373. irrelevant-files:
  374. - ^(placement-)?api-.*$
  375. - ^(test-|)requirements.txt$
  376. - ^.*\.rst$
  377. - ^.git.*$
  378. - ^doc/.*$
  379. - ^nova/hacking/.*$
  380. - ^nova/locale/.*$
  381. - ^nova/tests/.*$
  382. - ^releasenotes/.*$
  383. - ^setup.cfg$
  384. - ^tests-py3.txt$
  385. - ^tools/.*$
  386. - ^tox.ini$
  387. - legacy-tempest-dsvm-neutron-dvr-multinode-full:
  388. irrelevant-files:
  389. - ^(placement-)?api-.*$
  390. - ^(test-|)requirements.txt$
  391. - ^.*\.rst$
  392. - ^.git.*$
  393. - ^doc/.*$
  394. - ^nova/hacking/.*$
  395. - ^nova/locale/.*$
  396. - ^nova/tests/.*$
  397. - ^releasenotes/.*$
  398. - ^setup.cfg$
  399. - ^tests-py3.txt$
  400. - ^tools/.*$
  401. - ^tox.ini$
  402. - neutron-tempest-dvr-ha-multinode-full:
  403. irrelevant-files:
  404. - ^(placement-)?api-.*$
  405. - ^(test-|)requirements.txt$
  406. - ^.*\.rst$
  407. - ^.git.*$
  408. - ^doc/.*$
  409. - ^nova/hacking/.*$
  410. - ^nova/locale/.*$
  411. - ^nova/tests/.*$
  412. - ^releasenotes/.*$
  413. - ^setup.cfg$
  414. - ^tests-py3.txt$
  415. - ^tools/.*$
  416. - ^tox.ini$
  417. - legacy-tempest-dsvm-neutron-src-oslo.versionedobjects:
  418. irrelevant-files:
  419. - ^(placement-)?api-.*$
  420. - ^(test-|)requirements.txt$
  421. - ^.*\.rst$
  422. - ^.git.*$
  423. - ^doc/.*$
  424. - ^nova/hacking/.*$
  425. - ^nova/locale/.*$
  426. - ^nova/tests/.*$
  427. - ^releasenotes/.*$
  428. - ^setup.cfg$
  429. - ^tests-py3.txt$
  430. - ^tools/.*$
  431. - ^tox.ini$
  432. - legacy-tempest-dsvm-nova-libvirt-kvm-apr:
  433. irrelevant-files:
  434. - ^(placement-)?api-.*$
  435. - ^(test-|)requirements.txt$
  436. - ^.*\.rst$
  437. - ^.git.*$
  438. - ^doc/.*$
  439. - ^nova/hacking/.*$
  440. - ^nova/locale/.*$
  441. - ^nova/tests/.*$
  442. - ^releasenotes/.*$
  443. - ^setup.cfg$
  444. - ^tests-py3.txt$
  445. - ^tools/.*$
  446. - ^tox.ini$
  447. - legacy-grenade-dsvm-neutron-multinode-zero-downtime:
  448. irrelevant-files:
  449. - ^(placement-)?api-.*$
  450. - ^(test-|)requirements.txt$
  451. - ^.*\.rst$
  452. - ^.git.*$
  453. - ^doc/.*$
  454. - ^nova/hacking/.*$
  455. - ^nova/locale/.*$
  456. - ^nova/tests/.*$
  457. - ^releasenotes/.*$
  458. - ^setup.cfg$
  459. - ^tests-py3.txt$
  460. - ^tools/.*$
  461. - ^tox.ini$
  462. - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
  463. irrelevant-files:
  464. - ^(placement-)?api-.*$
  465. - ^.git.*$
  466. - ^nova/hacking/.*$
  467. - ^nova/locale/.*$
  468. - ^nova/tests/.*$
  469. - ^tests-py3.txt$
  470. - ironic-tempest-dsvm-bfv:
  471. # NOTE: Ironic boot from volume only works starting in stable/pike.
  472. irrelevant-files:
  473. - ^(placement-)?api-.*$
  474. - ^.git.*$
  475. - ^nova/hacking/.*$
  476. - ^nova/locale/.*$
  477. - ^nova/tests/.*$
  478. - ^tests-py3.txt$
  479. - devstack-plugin-nfs-tempest-full:
  480. irrelevant-files:
  481. - ^(placement-)?api-.*$
  482. - ^(test-|)requirements.txt$
  483. - ^.*\.rst$
  484. - ^.git.*$
  485. - ^doc/.*$
  486. - ^nova/hacking/.*$
  487. - ^nova/locale/.*$
  488. - ^nova/tests/.*$
  489. - ^releasenotes/.*$
  490. - ^setup.cfg$
  491. - ^tests-py3.txt$
  492. - ^tools/.*$
  493. - ^tox.ini$
  494. - legacy-barbican-simple-crypto-dsvm-tempest-nova
  495. - devstack-plugin-ceph-tempest-py3:
  496. irrelevant-files:
  497. - ^(placement-)?api-.*$
  498. - ^(test-|)requirements.txt$
  499. - ^.*\.rst$
  500. - ^.git.*$
  501. - ^doc/.*$
  502. - ^nova/hacking/.*$
  503. - ^nova/locale/.*$
  504. - ^nova/tests/.*$
  505. - ^releasenotes/.*$
  506. - ^setup.cfg$
  507. - ^tests-py3.txt$
  508. - ^tools/.*$
  509. - ^tox.ini$
  510. - legacy-tempest-dsvm-neutron-pg-full:
  511. irrelevant-files:
  512. - ^(placement-)?api-.*$
  513. - ^(test-|)requirements.txt$
  514. - ^.*\.rst$
  515. - ^.git.*$
  516. - ^doc/.*$
  517. - ^nova/hacking/.*$
  518. - ^nova/locale/.*$
  519. - ^nova/tests/.*$
  520. - ^releasenotes/.*$
  521. - ^setup.cfg$
  522. - ^tests-py3.txt$
  523. - ^tools/.*$
  524. - ^tox.ini$
  525. post:
  526. jobs:
  527. - openstack-tox-cover