summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Stabilize git driver testsJames E. Blair2018-01-171-15/+30
| | | | | | | | | | | | | These tests relied on sleeps which can cause races when running the full test suite in parallel. Instead, wait for the events we know will happen to happen. Also remove the dependency on yarl now that aiohttp has made a release which works with yarl 1.0 (however, it does not work with <1.0 which is why this needs to be combined with this change to fix tests). Change-Id: Ib1c626cdd3f083dd1d23a3c6547bd7163b66567e
* Merge "Fix dependency cycle false positive" into feature/zuulv3Zuul2018-01-172-0/+60
|\
| * Fix dependency cycle false positiveJames E. Blair2018-01-172-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corrects a false-positive in the dependency cycle detection, but only for the new URL-style depends-on headers. It does not do so for the legacy gerrit headers. We used a single history list to store all the changes we enqueued ahead of a given change, but this meant that if there was more than one path to a change, we would see it in the history on the second traversal. Instead, when traversing the tree, use copies of the history list at each stage so that it can be rewound when going back up the tree. The second path to a change will not trip the cycle detection, and will proceed on to the point where it notices the change is already in the queue and return harmlessly. Also, check whether the exact change is in the history, not just the number, since numbers are no longer unique with multiple sources. Also, fix a bug in the test_crd_cycle test which was causing the test to always pass since the changes were never enqueued due to missing approval requirements. Change-Id: I3241f90a1d7469d433cfa176e719322203d4d089 Story: 2001427 Task: 6133
* | Merge "Add support for protected jobs" into feature/zuulv3Zuul2018-01-168-0/+143
|\ \
| * | Add support for protected jobsTobias Henkel2017-12-158-0/+143
| | | | | | | | | | | | | | | | | | | | | | | | For some use cases protected jobs can be useful. Protected jobs can only be inherited by jobs defined in the same project. This adds support for these protected jobs. Change-Id: I62a8ecbbfa9eec54ab599bb34148976dcabfd40a
* | | Merge "Use hotlink instead log url in github job report" into feature/zuulv3Zuul2018-01-161-0/+6
|\ \ \
| * | | Use hotlink instead log url in github job reportliusheng2018-01-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change make the job name in the job report comments of github driver as a hotlink to instead of using a log url directly. This can make the report comments more brief. Change-Id: I19fb8ffbc153230b7f8eedfcd5ac15ec81a66c72
* | | | Merge "Really change patchset column to string" into feature/zuulv3Zuul2018-01-161-4/+4
|\ \ \ \
| * | | | Really change patchset column to stringTobias Henkel2018-01-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous change I26ff56159c2710af1515955d27bf4e9ebfcf76e9 had a small bug which rendered it basically a noop. Further it missed some important parts and test changes. Change-Id: I6cfb8a6af05e589140c2f7c8b1d7228f6d4d8fcb
* | | | | Merge "Add cross-source tests" into feature/zuulv3Zuul2018-01-1616-0/+1185
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Add cross-source testsJames E. Blair2018-01-1616-0/+1185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaf31211d12a2c8ce3b4a2860e079748f7e705aba Story: 2001334 Task: 5885
* | | | | Merge "Support cross-source dependencies" into feature/zuulv3Zuul2018-01-165-18/+24
|\ \ \ \ \ | |/ / / /
| * | | | Support cross-source dependenciesJames E. Blair2018-01-165-18/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional tests and docs in later patches. Change-Id: I3b86a1e3dd507fa5e584680fb6c86d35f9ff3e23 Story: 2001334 Task: 5885
* | | | | Merge "Add skipped CRD tests" into feature/zuulv3Zuul2018-01-161-0/+633
|\ \ \ \ \ | |/ / / /
| * | | | Add skipped CRD testsJames E. Blair2018-01-101-0/+633
| | | | | | | | | | | | | | | | | | | | Change-Id: I145617342b424397ae19cf92335b357e413559ba
* | | | | Merge "Remove need to start executor as root" into feature/zuulv3Zuul2018-01-101-8/+8
|\ \ \ \ \
| * | | | | Remove need to start executor as rootDavid Shrewsbury2018-01-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have a finger gateway, we no longer need to start the executor as root so that the finger streamer on the executor can bind to port 79 (default port for the finger streamer is changed from 79 to 7900). Remove that requirement. Change-Id: I6df685044c4ce81fd263043adba832609da100af
* | | | | | Merge "Move CRD tests to test_gerrit_legacy_crd" into feature/zuulv3Zuul2018-01-102-605/+629
|\ \ \ \ \ \ | |/ / / / / |/| / / / / | |/ / / /
| * | | | Move CRD tests to test_gerrit_legacy_crdJames E. Blair2018-01-092-605/+629
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new class holds the unit tests which verify the soon-to-be "legacy" form of cross-repo-dependencies which use the gerrit change-id in the commit message footer. The new form will use the URL instead. We will maintain both forms for some time, so keep these tests around. In a later change, this file will be duplicated to exercise the same behavior with the new URL-based form. Change-Id: I63a7398640bf82963fadf19acdcd2208c185da0b
* | | | Merge "Add specific setup inventory" into feature/zuulv3Zuul2018-01-103-0/+30
|\ \ \ \ | |/ / / |/| | |
| * | | Add specific setup inventoryRicardo Carrillo Cruz2017-12-283-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, Zuul uses runAnsibleSetup on all inventory nodes prior to running job playbooks. This translates to doing an 'ansible -m setup' against all nodes, but this won't work on nodes where Python is not available, like network nodes. This change adds a specific setup_inventory.yaml file, which will not contain nodes where setup module cannot work. Change-Id: Ieb02a19036854b8d9089bcd4cc9dd0b46e3ce2fc
* | | | Merge "Correctly use project name in getGitUrl" into feature/zuulv3Zuul2018-01-081-3/+12
|\ \ \ \ | |_|/ / |/| | |
| * | | Correctly use project name in getGitUrlTobias Henkel2017-12-151-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The method getGitUrl is called via the project object and not string. While this doesn't matter when adding it to a string this breaks lookup of the installation key. Change-Id: I6632497af0b1e13f6e77b5b7b0a0ee105215a1f9
* | | | Merge "Share a fake pull request database across connections" into ↵Zuul2018-01-082-200/+230
|\ \ \ \ | | | | | | | | | | | | | | | feature/zuulv3
| * | | | Share a fake pull request database across connectionsJames E. Blair2018-01-052-200/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because connections can be recreated, ensure that the fake pull request database (really a dictionary) is shared across instances of connections and fake github classes. Also, move the fake github3 classes to their own file -- they were getting larger and unruly. Change-Id: I471c1487039c8b25a0bab95d918f31b92b9cd32b
* | | | | Merge "Fake more of the github3 api" into feature/zuulv3Zuul2018-01-071-46/+98
|\ \ \ \ \ | |/ / / /
| * | | | Fake more of the github3 apiJames E. Blair2018-01-051-46/+98
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are currently not testing several GithubConnection methods because they are faked out. Instead, move the fake layer to the github3 api so that we exercise our code. This lets us test methods relating to getting pull requests and searching. Change-Id: Ife355299073e347f8b3270650fdefe55646f6455
* | | | Strip \r from build UUID in fingergwDavid Shrewsbury2018-01-031-2/+2
|/ / / | | | | | | | | | | | | | | | Without stripping this, we won't be able to match UUIDs. Change-Id: I06b98b7f883433313304bfc3bb21edd5725b94e6
* | | Merge "Add zuul-web tests equivalent to the webapp tests" into feature/zuulv3Zuul2017-12-271-0/+145
|\ \ \
| * | | Add zuul-web tests equivalent to the webapp testsJames E. Blair2017-12-211-0/+145
| | | | | | | | | | | | | | | | Change-Id: I5c6337d9f6525df7cbbb2b57c1f709d3e17e796a
* | | | Merge "Add implicit project name matching" into feature/zuulv3Zuul2017-12-236-0/+151
|\ \ \ \
| * | | | Add implicit project name matchingTobias Henkel2017-12-226-0/+151
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most project pipelines define jobs for the project they are defined in. However they still need to name the project explicitly which makes actions like repo renaming/movement very difficult. Thus we want to add the project itself as an implicit fallback. Change-Id: I273a2b3b1ba2a50565624553e3898be2da5611de Depends-On: I5af74763fc9c4be395a341f28c6751d22bd46195
* | | | Really fix canonical/non-canonical project mergeTobias Henkel2017-12-221-2/+19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In change Icaf8fca3aa4577b009d691f9a67adcb43ea040f5 the merge of canonical and non-canonical projects was fixed. However the fix was not complete and only covered the static configuration workflow. The dynamic configuration workflow is still broken. Now really fix by canonicalize the project names in every case and make the tenant parameter mandatory. Change-Id: I5af74763fc9c4be395a341f28c6751d22bd46195
* | | Use connection type supplied from nodepoolTobias Henkel2017-12-203-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | For supporting windows nodes we need the connection type to be configurable. This adds the ansible_connection host variable if nodepool defines it. Change-Id: I6d2f81c7586ae0d533add95ea96a9ea8ce8c3ab5
* | | Merge "Git driver" into feature/zuulv3Zuul2017-12-196-2/+185
|\ \ \
| * | | Git driverFabien Boucher2017-12-156-2/+185
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves the existing git driver by adding a refs watcher thread. This refs watcher looks at refs added, deleted, updated and trigger a ref-updated event. When a refs is updated and that the related commits from oldrev to newrev include a change on .zuul.yaml/zuul.yaml or zuul.d/*.yaml then tenants including that ref is reconfigured. Furthermore the patch includes a triggering model. Events are sent to the scheduler so jobs can be attached to a pipeline for running jobs. Change-Id: I529660cb20d011f36814abe64f837945dd3f1f33
* | | Add debug project-pipeline optionJames E. Blair2017-12-131-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | This may be set by a project to help debug why a job is or is not running. It works speculatively, and so can be used to debug a single change. Change-Id: I1957d21fe7775f786935e5d7d4bdf65b86eb5e4d
* | | Add implied-branches pragma directiveJames E. Blair2017-12-139-0/+205
|/ / | | | | | | | | | | | | | | | | | | | | | | | | When two projects have dissimilar stable branch names, for example, stable/pike and stable/jewel, but should generally be used together and therefore share job variants, it can be difficult to make that happen. Currently, one must add explicit multi-branch matchers to every such job and project-template. This allows a user to add a pragma directive to indicate all the jobs in a file should apply to multiple branches. Change-Id: I57cf159992d8f501cbaf41aef19562951ef6b7ea
* | Merge "Add finger gateway" into feature/zuulv3Zuul2017-12-132-8/+113
|\ \
| * | Add finger gatewayDavid Shrewsbury2017-12-132-8/+113
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This adds the zuul-fingergw app that should be run as root (so that it can connect to the standard finger port 79), but changes user privs immediately after binding that port. Common streaming functions have been moved to streamer_utils.py to be shared among modules. Support for CommandSocket has been included. Change-Id: Ia35492fe951e7b9367eeab0b145d96189d72c364
* | Merge "Support table prefix for sql reporter" into feature/zuulv3Zuul2017-12-122-5/+43
|\ \
| * | Support table prefix for sql reporterTobias Henkel2017-12-092-5/+43
| |/ | | | | | | | | | | | | | | | | | | | | In some environments zuul operators may have to rely on external database providers. In this case it can be cumbersome to get extra databases for each test environment. Adding an optional prefix to the table names makes it possible to gracefully run several zuul deployments against the same database and ensure they're still isolated against each other. Change-Id: Ib9948d6d74f4dc2453738f5d441e233e39e7f944
* | Error on duplicate YAML keysJames E. Blair2017-12-111-0/+21
|/ | | | | | | | This should help avoid a situation where a dictionary value is silently overwritten. This is in accordance with the YAML spec, and it is a great mystery why pyyaml doesn't do this already. Change-Id: I130f2b7e9c9fb8bd4176fd658f378e249a6a3b3f
* Merge "Rename ssh_port to connection_port" into feature/zuulv3Zuul2017-12-071-3/+3
|\
| * Rename ssh_port to connection_portTobias Henkel2017-12-061-3/+3
| | | | | | | | | | | | | | | | | | With the upcoming windows support we don't have ssh as the only connection type. As a preparation for this generalize ssh_port to connection_port. Change-Id: Ie505fedea7b641a860b7ac4f834d96ce5351dd74 Depends-On: Ic1939054f0604411e0122db8dbd7e9886ceaa974
* | Merge "Add command socket support to zuul-scheduler" into feature/zuulv3Zuul2017-12-071-0/+3
|\ \
| * | Add command socket support to zuul-schedulerPaul Belanger2017-12-061-0/+3
| | | | | | | | | | | | | | | | | | | | | Bring online commandsocket support for the scheduler. Change-Id: Ia1719650623e79d40f239776eb770550bb73169b Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* | | Merge "Add command_socket setting to executor section" into feature/zuulv3Zuul2017-12-071-0/+3
|\ \ \ | |/ /
| * | Add command_socket setting to executor sectionPaul Belanger2017-12-061-0/+3
| |/ | | | | | | | | | | | | | | Like the merger, add support for setting command_socket path via zuul.conf. Change-Id: I88aa47870d98b0906dfb733f68af663c2dc00993 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* | Merge "Update playbook paths with extension" into feature/zuulv3Zuul2017-12-068-19/+19
|\ \