)]}'
{"id":"openstack%2Fdevstack-gate~282949","triplet_id":"openstack%2Fdevstack-gate~master~I87906e6410160047dbaf1807701ed5bd8af7f3af","project":"openstack/devstack-gate","branch":"master","topic":"fix-dependson","hashtags":[],"change_id":"I87906e6410160047dbaf1807701ed5bd8af7f3af","subject":"Derive LIBS_FROM_GIT from ZUUL_CHANGES","status":"ABANDONED","created":"2016-02-22 04:59:34.000000000","updated":"2016-02-24 00:37:09.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"4f1d523b3793f18fc84414d2820f5db5b2dd103c","_number":282949,"virtual_id_number":282949,"owner":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"value":-1,"date":"2016-02-22 06:38:36.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2016-02-22 06:20:50.000000000","_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},{"date":"2016-02-22 05:25:53.000000000","_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"all":[{"value":-1,"date":"2016-02-22 05:55:18.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"value":-1,"date":"2016-02-22 13:48:43.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-02-22 05:55:18.000000000","updated_by":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"reviewer":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"state":"REVIEWER"},{"updated":"2016-02-22 06:20:50.000000000","updated_by":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"reviewer":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"state":"REVIEWER"},{"updated":"2016-02-22 06:38:36.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2016-02-22 13:48:43.000000000","updated_by":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"reviewer":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"state":"REVIEWER"}],"messages":[{"id":"a911257931ce9e05d46bffbc3de48b3eeb8f397e","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-22 04:59:34.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4f2f3c11c9fdc511795225f6678e7d941dbeaf78","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-22 05:06:58.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e538335c264b4b5275b188536f2167bc4bdd636b","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-22 05:25:53.000000000","message":"Patch Set 2:\n\nI _think_ I might need to duplicate logic in setup_project more closely (ie: do more than just populate LIBS_FROM_GIT and then stand back).\n\n?","accounts_in_message":[],"_revision_number":2},{"id":"e5bea157e195fc887ead69bb95facde116465b5c","author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"date":"2016-02-22 05:55:18.000000000","message":"Patch Set 2: Code-Review-1\n\nA principal assumption in our system is that a job does one thing consistently.  Having a job change its behavior based on input variables like this violates that and can lead to gate wedges.  If we want to check out a project from git, we should construct the job to specify that.","accounts_in_message":[],"_revision_number":2},{"id":"1b679708cd259bfc888eb7c4314d43dc48ca16ae","author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"date":"2016-02-22 06:20:50.000000000","message":"Patch Set 2:\n\nI kind of agree about the consistency thing ... but also see the PROJECTS in setup_workspace.  clarkb did some work stripping that down so that jobs are really defining the trees they want","accounts_in_message":[],"_revision_number":2},{"id":"497c2ffc80ec1ab6c3cc3fa5db020cfc86bf6f78","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-22 06:38:36.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-tempest-dsvm-full http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-full/48400cc/ : SUCCESS in 38m 45s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-postgres-full/0c951e0/ : SUCCESS in 36m 08s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-neutron-full/f84f1a4/ : SUCCESS in 50m 46s\n- gate-grenade-dsvm http://logs.openstack.org/49/282949/2/check/gate-grenade-dsvm/8202454/ : FAILURE in 26m 36s\n- gate-devstack-gate-unittests http://logs.openstack.org/49/282949/2/check/gate-devstack-gate-unittests/5f08277/ : SUCCESS in 13s\n- gate-devstack-gate-bashate http://logs.openstack.org/49/282949/2/check/gate-devstack-gate-bashate/aa3c6b6/ : SUCCESS in 16s\n- gate-dg-hooks-dsvm http://logs.openstack.org/49/282949/2/check/gate-dg-hooks-dsvm/096b377/ : SUCCESS in 5m 46s\n- gate-grenade-dsvm-multinode http://logs.openstack.org/49/282949/2/check/gate-grenade-dsvm-multinode/4eeaccb/ : FAILURE in 20m 40s\n- gate-neutron-dsvm-functional-nv http://logs.openstack.org/49/282949/2/check/gate-neutron-dsvm-functional-nv/6a6e31f/ : FAILURE in 12m 16s (non-voting)\n- gate-swift-dsvm-functional-nv http://logs.openstack.org/49/282949/2/check/gate-swift-dsvm-functional-nv/8234a64/ : SUCCESS in 20m 01s (non-voting)\n- gate-tempest-dsvm-full-kilo-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-full-kilo-nv/1602b1b/ : SUCCESS in 47m 53s (non-voting)\n- gate-tempest-dsvm-neutron-full-kilo-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-neutron-full-kilo-nv/3ebbadd/ : SUCCESS in 46m 05s (non-voting)\n- gate-tempest-dsvm-postgres-full-kilo-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-postgres-full-kilo-nv/6e342fa/ : SUCCESS in 32m 30s (non-voting)\n- gate-tempest-dsvm-full-liberty-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-full-liberty-nv/1a4b311/ : FAILURE in 14m 37s (non-voting)\n- gate-tempest-dsvm-neutron-full-liberty-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-neutron-full-liberty-nv/72c3e74/ : FAILURE in 18m 35s (non-voting)\n- gate-tempest-dsvm-postgres-full-liberty-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-postgres-full-liberty-nv/6bc8c97/ : FAILURE in 15m 35s (non-voting)\n- gate-tempest-dsvm-platform-centos7-nv http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-platform-centos7-nv/77d0640/ : SUCCESS in 45m 31s (non-voting)\n- gate-tempest-dsvm-multinode-full http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-multinode-full/a58d505/ : SUCCESS in 53m 53s (non-voting)\n- gate-tempest-dsvm-neutron-multinode-full http://logs.openstack.org/49/282949/2/check/gate-tempest-dsvm-neutron-multinode-full/de60167/ : SUCCESS in 1h 29m 11s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"f54054e707a7e88fac06ce2118775246c6db9bfc","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-22 09:58:34.000000000","message":"Patch Set 2:\n\n\u003e A principal assumption in our system is that a job does one thing\n \u003e consistently.  Having a job change its behavior based on input\n \u003e variables like this violates that and can lead to gate wedges.\n\nCan you educate me further on the problems that might arise from this?\n\nI was imagining the mechanics were almost exactly the same as defining an explicit job with the right LIBS_FROM_GIT, and then running that - only you wouldn\u0027t have to actually define it first.  Or to put it another way, how does this introduce \"new\" inconsistencies beyond what we already get from the existing Depends-On, installing-from-master, and installing-from-latest-upper-constraints behaviours?","accounts_in_message":[],"_revision_number":2},{"id":"60d5543519adfd97adb93aaf7f9e30f4fc90b9d6","author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"date":"2016-02-22 13:48:43.000000000","message":"Patch Set 2: Code-Review-1\n\nPut more succinctly, this allows you to sneak in a change depending on unreleased behavior in a dependency. This is the entire reason devstack-gate based jobs were switched from installing all dependencies from Git to installing released dependencies from PyPI. You really still at least need jobs which check your change against released dependencies, to force you to release the behavior on which you want to depend before depending on it. Having additional jobs to test against unreleased behavior in Git repositories and/or proposed changes is fine, but those jobs would then need to get everything from Git rather than PyPI, for consistency.","accounts_in_message":[],"_revision_number":2},{"id":"ee1ff1a27b87b01f7716d49b0fe430d7331857b7","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-23 07:11:42.000000000","message":"Patch Set 2:\n\n\u003e You really still at least need jobs which check your change\n \u003e against released dependencies, to force you to release the behavior\n \u003e on which you want to depend before depending on it.\n\nAh, right.  This change would effectively remove the test against pypi versions, whereas the explicit LIBS_FROM_GIT jobs are _in addition_ to the regular released-versions check.\n\n \u003e Having\n \u003e additional jobs to test against unreleased behavior in Git\n \u003e repositories and/or proposed changes is fine, but those jobs would\n \u003e then need to get everything from Git rather than PyPI, for\n \u003e consistency.\n\nAha.  So I should create an everything-from-git experimental job instead of this one.  Will do.","accounts_in_message":[],"_revision_number":2},{"id":"b0af99b8066b69e28231a1339a86f376d1928652","author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"date":"2016-02-24 00:37:09.000000000","message":"Abandoned\n\nWrong approach.  Would cause gate-ocalypse.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"224ff4380b41cfb095122ecb8bfc291ff51b1e20","revisions":{"39172fd43e3b620b6e90a2b4967397fed56720b5":{"kind":"REWORK","_number":1,"created":"2016-02-22 04:59:34.000000000","uploader":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"ref":"refs/changes/49/282949/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack-gate","ref":"refs/changes/49/282949/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/1"}}},"commit":{"parents":[{"commit":"ccb1c79de0feff6b9ec922c87f8271036b0d9e2a","subject":"Merge \"create GRE bridge interfaces only once\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/ccb1c79de0feff6b9ec922c87f8271036b0d9e2a"}]}],"author":{"name":"Angus Lees","email":"gus@inodes.org","date":"2016-02-22 04:51:40.000000000","tz":660},"committer":{"name":"Angus Lees","email":"gus@inodes.org","date":"2016-02-22 04:59:30.000000000","tz":660},"subject":"Derive LIBS_FROM_GIT from ZUUL_CHANGES","message":"Derive LIBS_FROM_GIT from ZUUL_CHANGES\n\nAka \"Do-What-I-Mean with Depends-On in most cases\"\n\nThis change derives LIBS_FROM_GIT from the projects listed in\nZUUL_CHANGES (generated from Depends-On), and the\nDEVSTACK_PROJECT_FROM_GIT value used previously.\n\nCombined with a devstack change to ignore unrecognised values in\nLIBS_FROM_GIT, this should make Depends-On \"just work\" in many more\ncases that previously required custom dsvm job-templates that\nmanipulated DEVSTACK_PROJECT_FROM_GIT.\n\nTo be clear, the behaviour is now:\n- Used in a Depends-On:  Specific (unmerged) version is used from git\n- In DEVSTACK_PROJECT_FROM_GIT but not Depends-On:  Uses git master\n- In neither:  Uses pypi release\n\nChange-Id: I87906e6410160047dbaf1807701ed5bd8af7f3af\nDepends-On: Ic35b4cbfef6e19d2322bd19e0e31312c48642ecd\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/39172fd43e3b620b6e90a2b4967397fed56720b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/39172fd43e3b620b6e90a2b4967397fed56720b5"}]},"branch":"refs/heads/master"},"224ff4380b41cfb095122ecb8bfc291ff51b1e20":{"kind":"REWORK","_number":2,"created":"2016-02-22 05:06:58.000000000","uploader":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"ref":"refs/changes/49/282949/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack-gate","ref":"refs/changes/49/282949/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack-gate refs/changes/49/282949/2"}}},"commit":{"parents":[{"commit":"ccb1c79de0feff6b9ec922c87f8271036b0d9e2a","subject":"Merge \"create GRE bridge interfaces only once\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/ccb1c79de0feff6b9ec922c87f8271036b0d9e2a"}]}],"author":{"name":"Angus Lees","email":"gus@inodes.org","date":"2016-02-22 04:51:40.000000000","tz":660},"committer":{"name":"Angus Lees","email":"gus@inodes.org","date":"2016-02-22 05:06:46.000000000","tz":660},"subject":"Derive LIBS_FROM_GIT from ZUUL_CHANGES","message":"Derive LIBS_FROM_GIT from ZUUL_CHANGES\n\nAka \"Do-What-I-Mean with Depends-On in most cases\"\n\nThis change derives LIBS_FROM_GIT from the projects listed in\nZUUL_CHANGES (generated from Depends-On), and the\nDEVSTACK_PROJECT_FROM_GIT value used previously.\n\nCombined with a devstack change to ignore unrecognised values in\nLIBS_FROM_GIT, this should make Depends-On \"just work\" in many more\ncases that previously required custom dsvm job-templates that\nmanipulated DEVSTACK_PROJECT_FROM_GIT.\n\nTo be clear, the behaviour is now:\n- Used in a Depends-On:  Specific (unmerged) version is used from git\n- In DEVSTACK_PROJECT_FROM_GIT but not Depends-On:  Uses git master\n- In neither:  Uses pypi release\n\nChange-Id: I87906e6410160047dbaf1807701ed5bd8af7f3af\nDepends-On: Ic35b4cbfef6e19d2322bd19e0e31312c48642ecd\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/224ff4380b41cfb095122ecb8bfc291ff51b1e20"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/224ff4380b41cfb095122ecb8bfc291ff51b1e20"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
