)]}'
{
  "log": [
    {
      "commit": "2810bb58eb9179f49ce5c6de0bd1a70364e2f054",
      "tree": "0c14583ad069f5f6811fce470cfc728e4490dc3d",
      "parents": [
        "82bc628b0899c97c82b321b6b960421ba904153e"
      ],
      "author": {
        "name": "Peter Razumovsky",
        "email": "prazumovsky@mirantis.com",
        "time": "Thu Mar 03 15:36:12 2016 +0300"
      },
      "committer": {
        "name": "Peter Razumovsky",
        "email": "prazumovsky@mirantis.com",
        "time": "Fri Mar 04 12:29:50 2016 +0000"
      },
      "message": "Fix error msg for wrong auth_url in functional\n\nIf auth_url config is specified without version, functional\ntests raises IndexError with message \u0027list out of range\u0027. Need\nto add check for auth_url and if it\u0027s set incorrectly, raise\ncorrect error with message about wrong auth_url config.\n\nChange-Id: I78626530138e76ebf43cd186bacac83f1ff48b41\nCloses-bug: #1552325\n"
    },
    {
      "commit": "82bc628b0899c97c82b321b6b960421ba904153e",
      "tree": "b93d0059a94398889eca215233b74678f1c94556",
      "parents": [
        "4a4ccba84589ffecf404a2962280317b94d092d1",
        "3a178697af4c49cf852835c32b33bc65d91fe266"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 26 16:44:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 26 16:44:06 2016 +0000"
      },
      "message": "Merge \"Add functional test for immutable parameters\""
    },
    {
      "commit": "3a178697af4c49cf852835c32b33bc65d91fe266",
      "tree": "41610db06ff87b4dca7c7de5c779514e9698958c",
      "parents": [
        "9480c0e947ef97a546c919106d88dbf2d931a3de"
      ],
      "author": {
        "name": "James Combs",
        "email": "cornracker@gmail.com",
        "time": "Tue Dec 29 17:32:23 2015 +0000"
      },
      "committer": {
        "name": "Jason Dunsmore",
        "email": "jasondunsmore@gmail.com",
        "time": "Fri Feb 26 07:52:15 2016 -0600"
      },
      "message": "Add functional test for immutable parameters\n\nCo-Authored-By: Jason Dunsmore \u003cjasondunsmore@gmail.com\u003e\nChange-Id: I0f978e67ecbcaec65222f449cd41f20c768e9937\n"
    },
    {
      "commit": "4a4ccba84589ffecf404a2962280317b94d092d1",
      "tree": "b2baae3c8ca033dbfe890aec96f4b3859f318c76",
      "parents": [
        "9480c0e947ef97a546c919106d88dbf2d931a3de",
        "87be9b47190eb400ef4e909fb2ce1fac5a3f93de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 25 04:09:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 25 04:09:29 2016 +0000"
      },
      "message": "Merge \"Add functional tests for update restrict\""
    },
    {
      "commit": "9480c0e947ef97a546c919106d88dbf2d931a3de",
      "tree": "b389149541a2943c5492bdcd071b76b29ac201c3",
      "parents": [
        "3b05eebd59ffe02a5026f9edcbbe1cebea7fffc5"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Wed Feb 24 13:08:06 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Wed Feb 24 13:08:06 2016 +0100"
      },
      "message": "Make ZaqarEventSinkTest more lenient\n\nWe don\u0027t have strong ordering of events enforced, so there is no need to\ntest that events arrive in order, and it actually make tests fail\nintermittently. Let\u0027s relax that check.\n\nChange-Id: I73be763df5ddf863e29df1b9ac8792f05700e006\nCloses-Bug: #1549264\n"
    },
    {
      "commit": "3b05eebd59ffe02a5026f9edcbbe1cebea7fffc5",
      "tree": "7f480211bab8070a73a688b9253830a5517f005d",
      "parents": [
        "e08ac16daeb10f8b5fcaf6b2bca558f7534fd42d",
        "d60ebed9cdbf07a063da37af4ef409dfc89d9a8b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 11:05:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 11:05:45 2016 +0000"
      },
      "message": "Merge \"Add function tests for event sinks\""
    },
    {
      "commit": "e08ac16daeb10f8b5fcaf6b2bca558f7534fd42d",
      "tree": "9eb78f996f2bc4cfdf3231cbcd53b155248bcc07",
      "parents": [
        "6212e2072eee9c786a28cc19403ee5437d84a5b6",
        "35571426830572a2a2b181d66fd4d4d0ff40023e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 10:02:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 10:02:00 2016 +0000"
      },
      "message": "Merge \"Ignore errors on old properties during update\""
    },
    {
      "commit": "6212e2072eee9c786a28cc19403ee5437d84a5b6",
      "tree": "85adbd64e9fcb1202e1669b0afd938113fe4820c",
      "parents": [
        "58e3d04e06a6507eec044713c254ee589fc63dad",
        "e8256897bd8f2306475d4813d9dafeef8ddf69b2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 08:47:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 08:47:52 2016 +0000"
      },
      "message": "Merge \"Revert \"Check RBAC policy for nested stacks\"\""
    },
    {
      "commit": "58e3d04e06a6507eec044713c254ee589fc63dad",
      "tree": "1337a681f542c64dfafa2f98ec366e4997c6ae23",
      "parents": [
        "cd37a02deba8d489362b122fc5f3a012f34377f7",
        "a90e262baedfe1f9a5a5624735874777655132b1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 07:05:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 07:05:46 2016 +0000"
      },
      "message": "Merge \"Use yaml.safe_dump instead of yaml.dump\""
    },
    {
      "commit": "e8256897bd8f2306475d4813d9dafeef8ddf69b2",
      "tree": "4742fdf30ddf70dc0f60ea4adb96e072fcf92953",
      "parents": [
        "de2c55bad905abcd78d3360e79c667dad1d32f87"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Mon Feb 22 22:54:04 2016 +0000"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Mon Feb 22 22:54:04 2016 +0000"
      },
      "message": "Revert \"Check RBAC policy for nested stacks\"\n\nThis reverts commit 57fdf732a4bbec296c45355818e67549593c6afb.\n\nIt breaks magnum gate.\n\nChange-Id: I0553482d6b56edc08d29e1ab318b3b8962edc04d\n"
    },
    {
      "commit": "cd37a02deba8d489362b122fc5f3a012f34377f7",
      "tree": "2d6f967e2ff07f75423400d146f9d9f2504a8c9a",
      "parents": [
        "c2d1e0f9a028336e17f9b74be67a90b914c16e16",
        "f07f4718f08c7c0d057bea170a36990a8a7c1ad6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Feb 22 11:33:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Feb 22 11:33:42 2016 +0000"
      },
      "message": "Merge \"Don\u0027t resolve outputs during polling stack status\""
    },
    {
      "commit": "c2d1e0f9a028336e17f9b74be67a90b914c16e16",
      "tree": "51dc719454abea6258d5d8a2a2827cda99ebd7a6",
      "parents": [
        "e9ecb5cdc134d06288c9d30de732a190edc063dd",
        "de2c55bad905abcd78d3360e79c667dad1d32f87"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Feb 22 10:54:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Feb 22 10:54:51 2016 +0000"
      },
      "message": "Merge \"Check RBAC policy for nested stacks\""
    },
    {
      "commit": "d60ebed9cdbf07a063da37af4ef409dfc89d9a8b",
      "tree": "606a8ec72554fbf4c59c1b756925841661c1ac1d",
      "parents": [
        "e9ecb5cdc134d06288c9d30de732a190edc063dd"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Mon Jan 25 13:21:17 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Mon Feb 22 09:41:13 2016 +0000"
      },
      "message": "Add function tests for event sinks\n\nAdd a new functional test using Zaqar as a target for event sinks. This\nfixes the behavior when convergence is on.\n\nChange-Id: I4bbdec55b98d0a261168229540a411d423e9406d\n"
    },
    {
      "commit": "f07f4718f08c7c0d057bea170a36990a8a7c1ad6",
      "tree": "a1c6546fe07cc3ffa54cf64935bd59807ee3d8bb",
      "parents": [
        "3b7e3d88728227503e42fe9af2ed3f6f4137bdff"
      ],
      "author": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Mon Feb 15 05:24:17 2016 -0500"
      },
      "committer": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Sat Feb 20 02:39:29 2016 -0500"
      },
      "message": "Don\u0027t resolve outputs during polling stack status\n\nThis patch makes optimization for polling requests, which check stack\nstatus. It doesn\u0027t require to resolve outputs, when stack object is used\nonly for checking status and getting stack_id.\n\nRelated-Bug: #1541323\n\nChange-Id: Ic1f4c1f15183c957e022f36bda26fed48096502e\n"
    },
    {
      "commit": "a90e262baedfe1f9a5a5624735874777655132b1",
      "tree": "5a30cfba44398053f305f7994498f6d79fb8d08f",
      "parents": [
        "5f3632c2ae2c12ea6380ae22e6c6a6cc397b4b1f"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 19 14:32:47 2016 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Sat Feb 20 07:45:32 2016 +0530"
      },
      "message": "Use yaml.safe_dump instead of yaml.dump\n\nAfter changing to use yaml.safe_load, some of the tests are failing\nlocally with unicode error. Though we\u0027ve not noticed these issues\nat the gate, it\u0027s better to use safe_dump to avoid them.\n\nChange-Id: I84cf921afe76b3bed44e84230a71b244bb886cce\nCloses-Bug: #1547399\n"
    },
    {
      "commit": "87be9b47190eb400ef4e909fb2ce1fac5a3f93de",
      "tree": "3d58c852bdb837c813c2c1d418f5d0b4fbc0a969",
      "parents": [
        "e9ecb5cdc134d06288c9d30de732a190edc063dd"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Mon Feb 15 14:15:50 2016 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 19 17:34:35 2016 +0530"
      },
      "message": "Add functional tests for update restrict\n\nThis adds functional tests for update restrict functionality.\n\nChange-Id: I85e99b376203a48b725c6e9c1d9b5aefa8024b8e\nBlueprint: stack-update-restrict\n"
    },
    {
      "commit": "e9ecb5cdc134d06288c9d30de732a190edc063dd",
      "tree": "4a861479a91f7fffb1bbee062377411a5c421255",
      "parents": [
        "5f3632c2ae2c12ea6380ae22e6c6a6cc397b4b1f",
        "39c4ce4d2a061cc33b225d25102d6e9149db9bca"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 19 10:50:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 19 10:50:46 2016 +0000"
      },
      "message": "Merge \"Hook into environment merging on server\""
    },
    {
      "commit": "5f3632c2ae2c12ea6380ae22e6c6a6cc397b4b1f",
      "tree": "6f59b64786cb1ed72c6ce07070fc128d9c54b4c2",
      "parents": [
        "6fc8a6ce0a7ea9a7872db8d58964a7214334e9fd",
        "983fcf673ea79bd3741e2a6b17d183035241b9f6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 18 14:17:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 18 14:17:34 2016 +0000"
      },
      "message": "Merge \"Ignore connection error when testing load balancer\""
    },
    {
      "commit": "6fc8a6ce0a7ea9a7872db8d58964a7214334e9fd",
      "tree": "96adfafefd87bbb488947697e4353bbf0f5d488f",
      "parents": [
        "aca8b2cdb0c0417e9b612d81d7e463d7412b155d",
        "d8df4ddfb10a9213e524ee25d14f271b7a4af727"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 18 12:21:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 18 12:21:25 2016 +0000"
      },
      "message": "Merge \"Use yaml.safe_load() instead of yaml.load()\""
    },
    {
      "commit": "983fcf673ea79bd3741e2a6b17d183035241b9f6",
      "tree": "d58c3a4a4bd27a1ee922437dbdd14804e6416f0a",
      "parents": [
        "aca8b2cdb0c0417e9b612d81d7e463d7412b155d"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Thu Feb 18 13:15:37 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Thu Feb 18 13:15:37 2016 +0100"
      },
      "message": "Ignore connection error when testing load balancer\n\nIn the integration test with Neutron Load Balancer, we sometimes fail to\nconnect to the Load Balancer when testing that the stack deployed\nsuccessfully. Let\u0027s ignore those errors so that we retry for a bit in\ncase it takes some time to be deployed.\n\nChange-Id: Ic97bd83fe56dc52fb49848d93e40cb57d1550a1f\nCloses-Bug: #1545587\n"
    },
    {
      "commit": "d8df4ddfb10a9213e524ee25d14f271b7a4af727",
      "tree": "ce8d02eb6211cfcf52126ac01d7ce5b5493067c4",
      "parents": [
        "b95d7b5f22a7ac691da0da7652dcb29e8c9be3b7"
      ],
      "author": {
        "name": "Bo Wang",
        "email": "bo.wang@easystack.cn",
        "time": "Tue Feb 16 21:23:53 2016 +0800"
      },
      "committer": {
        "name": "Bo Wang",
        "email": "bo.wang@easystack.cn",
        "time": "Tue Feb 16 21:37:27 2016 +0800"
      },
      "message": "Use yaml.safe_load() instead of yaml.load()\n\nyaml.load() provides the ability to construct an arbitrary python object\nthat may be dangerous. yaml.safe_load() limits this ability to simple\npython objects like integers or lists.\n\nref: https://en.wikipedia.org/wiki/YAML#Security\n\nChange-Id: I9c28c25f4265fb691d39e72e20ef9c99f5538bf5\n"
    },
    {
      "commit": "aca8b2cdb0c0417e9b612d81d7e463d7412b155d",
      "tree": "a5cd644099f20a652bbf5bc196a4c95cd2d66adc",
      "parents": [
        "3b7e3d88728227503e42fe9af2ed3f6f4137bdff"
      ],
      "author": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Thu Jan 14 15:37:46 2016 +0800"
      },
      "committer": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Tue Feb 16 15:37:07 2016 +0800"
      },
      "message": "Don\u0027t pass both network_id and port_id when attach interface\n\nNova doesn\u0027t allow to specify both network_id and port_id\nwhen attach interfaces for server. This change will refactor\nhandler_kwargs for ServerUpdateProgress \u0027interface_detach\u0027.\n\nChange-Id: I74eb115de520d8a66abd1621522f0c605201019a\nCloses-Bug: #1533570\n"
    },
    {
      "commit": "39c4ce4d2a061cc33b225d25102d6e9149db9bca",
      "tree": "b45a78ef25db7b5e9c2e60d9618d579702c6bbfc",
      "parents": [
        "3b7e3d88728227503e42fe9af2ed3f6f4137bdff"
      ],
      "author": {
        "name": "Jay Dobies",
        "email": "jason.dobies@redhat.com",
        "time": "Wed Nov 04 10:49:08 2015 -0500"
      },
      "committer": {
        "name": "Jay Dobies",
        "email": "jason.dobies@redhat.com",
        "time": "Fri Feb 12 10:48:54 2016 -0500"
      },
      "message": "Hook into environment merging on server\n\nIf environment_files is specified, look in the files dict for each\nspecified environment file and merge into the stack\u0027s environment. This\nis the same workflow that previously occurred client-side.\n\nChange-Id: Ibe46fd35de7988920c101a83259c06c8f8a3ed0b\nImplements: blueprint multi-environments\n"
    },
    {
      "commit": "35571426830572a2a2b181d66fd4d4d0ff40023e",
      "tree": "1d755cb60120a279cb2d7817d15a589c247ab5b1",
      "parents": [
        "3b7e3d88728227503e42fe9af2ed3f6f4137bdff"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Tue Feb 09 18:33:19 2016 +0100"
      },
      "committer": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Wed Feb 10 20:51:40 2016 -0500"
      },
      "message": "Ignore errors on old properties during update\n\nWhen an update fails on a template resource, we still store the template\nin the stack environment. Retrying the update will fail because of\nmissing parameters, but we can ignore those as they should be harmless\nand only matter in this broken case.\n\nChange-Id: I859ea72b1cc95162b6f498b6af65e4d9fdd9458f\nCloses-Bug: #1543685\n"
    },
    {
      "commit": "3b7e3d88728227503e42fe9af2ed3f6f4137bdff",
      "tree": "3488eaaf619f86ed3303f94d4db5419b156b9e9b",
      "parents": [
        "d2f59146fe63fb8ad06c71e34b00729f10fae667"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Mon Jan 25 10:37:41 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Tue Feb 09 10:19:36 2016 +0100"
      },
      "message": "Add test for zaqar-based wait conditions\n\nThis adds a test for wait conditions using Zaqar as a transport, and\nfixies the behavior so that signal handler uses the proper user.\n\nChange-Id: I2a972a5c1001e3e24c0e6c24b740b841918e5604\n"
    },
    {
      "commit": "d2f59146fe63fb8ad06c71e34b00729f10fae667",
      "tree": "da10948b43fa50c6b2050d9cc94c3447bf2248bd",
      "parents": [
        "fb44e333c6046c5c95a578092987f248e35172ea",
        "e9dffe5423ef94a7c36b097e0dd62affd9ab51fb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Feb 09 03:53:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Feb 09 03:53:04 2016 +0000"
      },
      "message": "Merge \"Fix imports for pep8 check\""
    },
    {
      "commit": "fb44e333c6046c5c95a578092987f248e35172ea",
      "tree": "93f553f8ed3410dde8db66e4d75849c29ea07e19",
      "parents": [
        "21e4755f74c5da709d652b94a8c45ff4a2079bba",
        "e6de2d642f2c1163a81a082bc27d2eeaa2ec8bb6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Feb 07 15:33:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Feb 07 15:33:01 2016 +0000"
      },
      "message": "Merge \"Fix update preview to handle nested stacks\""
    },
    {
      "commit": "e9dffe5423ef94a7c36b097e0dd62affd9ab51fb",
      "tree": "d4dc4077f79739946b33d24c47fd748cf115e35b",
      "parents": [
        "21e4755f74c5da709d652b94a8c45ff4a2079bba"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 05 14:36:58 2016 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 05 14:54:02 2016 +0530"
      },
      "message": "Fix imports for pep8 check\n\npep8 seems to be ignoring these imports. Also fixes some docstrings.\n\nChange-Id: I343eacb13608581e226806446f1b2f4670fd0ae2\n"
    },
    {
      "commit": "21e4755f74c5da709d652b94a8c45ff4a2079bba",
      "tree": "391371e77190dd2629f98649c4fd3ccefe807152",
      "parents": [
        "a9d3fdd191398399625a439468e411d98cf5666f",
        "65493fb301aa32de66464a6142c726ab4747b83a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 05 07:48:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 05 07:48:54 2016 +0000"
      },
      "message": "Merge \"Accommodate v2 and v3 auth for integration tests\""
    },
    {
      "commit": "65493fb301aa32de66464a6142c726ab4747b83a",
      "tree": "d557e18d8afd0f74e4caf2dd24aba327810eda78",
      "parents": [
        "2bf8a9741a6c0f30db2bb8e47c7c9b553563d843"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Jan 29 22:23:21 2016 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Thu Feb 04 17:30:00 2016 +0530"
      },
      "message": "Accommodate v2 and v3 auth for integration tests\n\ndevstack has moved default Keystone API version to v3[1].\n\n[1] https://github.com/openstack-dev/devstack/commit/f4ce44bf3fbf06e53c2ae3ec6aa4996831cf4605\n\nThough the above patch has been reverted, this would help\nif devstack removes v2 support in the future.\n\nChange-Id: I393750d00b3712a015e48a3cf38ab5f95bb61dae\nCloses-Bug: #1539692\n"
    },
    {
      "commit": "e6de2d642f2c1163a81a082bc27d2eeaa2ec8bb6",
      "tree": "7152564c4d6224c23d07e31ac9410cf435d7e162",
      "parents": [
        "b95d7b5f22a7ac691da0da7652dcb29e8c9be3b7"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Dec 07 15:59:09 2015 +0000"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Wed Feb 03 12:34:33 2016 +0000"
      },
      "message": "Fix update preview to handle nested stacks\n\nCurrently the update preview code has no support for previewing\nthe effect of an update on nested stacks, which I assume was an\noversight in the original implementation.  So this adds a show_nested\nflag to the API which allows enabling recursive preview of the whole\nupdate including nested stacks.\n\nCloses-Bug: #1521971\nDepends-On: I06f3b52d5d48dd5e6e266321e58ca8e6116d6017\nChange-Id: I96af4d2f07056846aac7ae9ad9b6eb160e8bd51a\n"
    },
    {
      "commit": "a9d3fdd191398399625a439468e411d98cf5666f",
      "tree": "7d1b9fd64a4f9f17e8469bfcce01b45c5f60dc1b",
      "parents": [
        "b95d7b5f22a7ac691da0da7652dcb29e8c9be3b7"
      ],
      "author": {
        "name": "venkatamahesh",
        "email": "venkatamaheshkotha@gmail.com",
        "time": "Wed Feb 03 13:18:17 2016 +0530"
      },
      "committer": {
        "name": "venkatamahesh",
        "email": "venkatamaheshkotha@gmail.com",
        "time": "Wed Feb 03 13:19:25 2016 +0530"
      },
      "message": "Fix some word spellings\n\nChange-Id: Id6369862fc0e0562cb1eff712f54d7ea8a6a70c6\n"
    },
    {
      "commit": "de2c55bad905abcd78d3360e79c667dad1d32f87",
      "tree": "6ee68fe2eaed4bd8451e13d43867e59ef7da9ee1",
      "parents": [
        "2bf8a9741a6c0f30db2bb8e47c7c9b553563d843"
      ],
      "author": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Thu Jan 28 17:33:29 2016 +0200"
      },
      "committer": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Tue Feb 02 14:41:23 2016 +0000"
      },
      "message": "Check RBAC policy for nested stacks\n\nThis prevents stacks with forbidden resources start to\ncreate/update or stuck in DELETE_IN_PROGRESS state, if\ndelete the stack with admin resources in nested stacks.\nAlso we need to allow get id of resource that in SUSPEND\nstate, because of we use stack preview in SUSPEND state.\n\nCloses-Bug: #1539145\nChange-Id: Ic0a6d6c334aa5fdb6d2c3ba549df86aeb1263e9e\n"
    },
    {
      "commit": "b95d7b5f22a7ac691da0da7652dcb29e8c9be3b7",
      "tree": "11b5c53ce80f13b3f98db5f2797e18e2395f9773",
      "parents": [
        "2bf8a9741a6c0f30db2bb8e47c7c9b553563d843",
        "d6b8ddf9ca5ccee6b8001b8e6c2c4bf7a3205c3c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Feb 02 10:13:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Feb 02 10:13:41 2016 +0000"
      },
      "message": "Merge \"FunctionalTests don\u0027t run non-test check_skip_test\""
    },
    {
      "commit": "2bf8a9741a6c0f30db2bb8e47c7c9b553563d843",
      "tree": "4742fdf30ddf70dc0f60ea4adb96e072fcf92953",
      "parents": [
        "5bd048d24bac46999fab41879a3df9fc7c17cb0a",
        "2ce4bda022b7a333920f94c2da17f4790967dcd1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jan 28 22:12:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jan 28 22:12:00 2016 +0000"
      },
      "message": "Merge \"Software config zaqar integration tests\""
    },
    {
      "commit": "5bd048d24bac46999fab41879a3df9fc7c17cb0a",
      "tree": "2858778ad45e59227a877678a68f017119668f52",
      "parents": [
        "fc3c5f06c41d86f9cf8bcacf3dda0207a72cdd8b",
        "62d9032c03ba2e2f895fd3501601454c3220a1eb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jan 28 15:06:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jan 28 15:06:55 2016 +0000"
      },
      "message": "Merge \"Add test for stack outputs\""
    },
    {
      "commit": "62d9032c03ba2e2f895fd3501601454c3220a1eb",
      "tree": "1d032fbbee5c5473fe319c00bd36d5bb7377d541",
      "parents": [
        "357c46794608f802d5c8f983d951600c24ae91cc"
      ],
      "author": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Mon Dec 14 15:32:58 2015 +0200"
      },
      "committer": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Wed Jan 27 12:34:49 2016 +0000"
      },
      "message": "Add test for stack outputs\n\nAdd test for output list and output show\n\nDepends-On: I1bc1cee1c78ecf0c9a18ecc0a871d38e4141e0f7\nChange-Id: I1ee226494b5b04ec2d43edf0c03ab31e452fedf0\n"
    },
    {
      "commit": "fc3c5f06c41d86f9cf8bcacf3dda0207a72cdd8b",
      "tree": "1dbb620a4f7af5d4b7bf1af957d6082ff074ca43",
      "parents": [
        "357c46794608f802d5c8f983d951600c24ae91cc",
        "28b4870962813b4d8a3dfce0c977445bc676fbd0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 27 10:34:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 27 10:34:00 2016 +0000"
      },
      "message": "Merge \"Do not pass both port-id and fixed-ip to create server\""
    },
    {
      "commit": "357c46794608f802d5c8f983d951600c24ae91cc",
      "tree": "9441ef32232d379eebf9ccf09771d8e516a44a85",
      "parents": [
        "32fd2e18805ca364f05988831c71755591b2f4c0",
        "203f875064a69071ff11caa3115cd92f8745bd86"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 26 03:38:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 26 03:38:12 2016 +0000"
      },
      "message": "Merge \"Remove redundant _stack_rand_name from func tests\""
    },
    {
      "commit": "32fd2e18805ca364f05988831c71755591b2f4c0",
      "tree": "bf3982a00b7bd2bb2600756ca3e570f969d4ab70",
      "parents": [
        "6c7211c7bdb32df80cd503e892aa87720cdf82a8",
        "09ae1b0d7bb98b39e71bd3c718e90a76d8b49362"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 25 14:05:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 25 14:05:01 2016 +0000"
      },
      "message": "Merge \"test_preview_update only create one stack per test\""
    },
    {
      "commit": "203f875064a69071ff11caa3115cd92f8745bd86",
      "tree": "ad14c8014c1b240102eb763af8b670dbd4e2ce8c",
      "parents": [
        "6c7211c7bdb32df80cd503e892aa87720cdf82a8"
      ],
      "author": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Mon Jan 25 04:21:32 2016 -0500"
      },
      "committer": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Mon Jan 25 06:03:36 2016 -0500"
      },
      "message": "Remove redundant _stack_rand_name from func tests\n\nBase HeatIntegrationTest class uses _stack_rand_name method in\nstack_create method, so redundant using of _stack_rand_name should be removed\nin tests, where:\n 1. stacks.create method is not called directly\n 2. stacks_name is not used later in the test\n\nChange-Id: Iabdd945604a8276b33930b264689c3a2edadecd8\n"
    },
    {
      "commit": "2ce4bda022b7a333920f94c2da17f4790967dcd1",
      "tree": "c981d695bd1fddeb88730a0fd53b2d6034c0face",
      "parents": [
        "6c7211c7bdb32df80cd503e892aa87720cdf82a8"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Fri Jan 22 17:55:55 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Sun Jan 24 14:20:58 2016 +0100"
      },
      "message": "Software config zaqar integration tests\n\nAdd a software deployment test which uses Zaqar as config transport.\n\nChange-Id: I4723e0c3aca86e543d5af39db82a66304f261e20\n"
    },
    {
      "commit": "6c7211c7bdb32df80cd503e892aa87720cdf82a8",
      "tree": "da98e26e37e13dd3e9c9db8b4e95321748f38ce0",
      "parents": [
        "d6dfa3c6b277ea98a0e2b63d2836d4763845ddb0"
      ],
      "author": {
        "name": "Oleg Khavroshin",
        "email": "okhavroshin@mirantis.com",
        "time": "Tue Jan 12 16:38:13 2016 +0300"
      },
      "committer": {
        "name": "Oleg Khavroshin",
        "email": "okhavroshin@mirantis.com",
        "time": "Tue Jan 19 10:05:34 2016 +0000"
      },
      "message": "Edit backslashes for lines continuation\n\nIt is preferred to wrap long lines in parentheses and not a backslash\nfor line continuation due to OpenStack Style Guidelines\nhttp://docs.openstack.org/developer/hacking/#general, paragraph 2\n\nChange-Id: Ibfc1022f8e4704fe2040e63bb87322404cea35a4\n"
    },
    {
      "commit": "d6b8ddf9ca5ccee6b8001b8e6c2c4bf7a3205c3c",
      "tree": "1ab76be0dfde328b24d6f90becf862126de328f5",
      "parents": [
        "d6dfa3c6b277ea98a0e2b63d2836d4763845ddb0"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Jan 18 17:23:20 2016 +0000"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Jan 18 17:23:20 2016 +0000"
      },
      "message": "FunctionalTests don\u0027t run non-test check_skip_test\n\nThis is actually a helper function which is called from the base-class\nsetUp methods, but we\u0027re running it like a test because the test\nrunner sees \"test\" in the name.\n\nChange-Id: I9d350471a3f3f40a201294adebd7752e3a7aa020\n"
    },
    {
      "commit": "d6dfa3c6b277ea98a0e2b63d2836d4763845ddb0",
      "tree": "2c4eb1579666ec655ec434bdc007168a94fa8e3c",
      "parents": [
        "9bc0e9424d8d22dead84b10084df81e68bad15db",
        "0f70c28402d1bbe2e52bff4f8b1beff47c8d37fb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 18 13:14:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 18 13:14:41 2016 +0000"
      },
      "message": "Merge \"Fix database purge query\""
    },
    {
      "commit": "09ae1b0d7bb98b39e71bd3c718e90a76d8b49362",
      "tree": "c4f48aa4cd91e1eb3353138c02681404096b8835",
      "parents": [
        "9bc0e9424d8d22dead84b10084df81e68bad15db"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Jan 18 11:31:52 2016 +0000"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Jan 18 11:33:18 2016 +0000"
      },
      "message": "test_preview_update only create one stack per test\n\nCurrently some tests create two stacks, but only require one, which\nwastes some time (as much as 20s locally, probably much more in the\ngate), so instead just create one stack per test.\n\nChange-Id: I474877becdd64f30abdcc5758c5927ed6b5a13ff\n"
    },
    {
      "commit": "28b4870962813b4d8a3dfce0c977445bc676fbd0",
      "tree": "ab79dc928e2bde25bf13f99b73fac35cf81cf568",
      "parents": [
        "9bc0e9424d8d22dead84b10084df81e68bad15db"
      ],
      "author": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Wed Jan 13 17:24:32 2016 +0800"
      },
      "committer": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Mon Jan 18 13:03:02 2016 +0800"
      },
      "message": "Do not pass both port-id and fixed-ip to create server\n\nNova doesn\u0027t allow specify port-id and fixed-ip at the same\ntime when create server. This patch to avoid this problem\nwhen create internal port by subnet.\n\nAlso, this change adds integration test for create server\nwith subnet and fixed_ip.\n\nChange-Id: Ib16d7f90a4eb488a853f9c2093280596fc4d783b\nPartial-Bug: #1533074\n"
    },
    {
      "commit": "9bc0e9424d8d22dead84b10084df81e68bad15db",
      "tree": "dd1007327640ec71cebb3b785a88fa44fbefa690",
      "parents": [
        "45133ca91d38e49f4c3f5a4aaa0b68db0e3c3451",
        "abf97890517ef671774e7efc862f98852956e87c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jan 14 06:29:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jan 14 06:29:44 2016 +0000"
      },
      "message": "Merge \"Add tests for heat template apis\""
    },
    {
      "commit": "45133ca91d38e49f4c3f5a4aaa0b68db0e3c3451",
      "tree": "f3ab27aa610410394610d16163119594045da3a0",
      "parents": [
        "9593716a97f8f9dc0577cc7d539a4c7571b6d527",
        "fb53d4218b5655d69fd66711313f3810b94f6aae"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 08 03:57:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 08 03:57:29 2016 +0000"
      },
      "message": "Merge \"Fix race condition in tests with swift key\""
    },
    {
      "commit": "abf97890517ef671774e7efc862f98852956e87c",
      "tree": "dc957f744b2938de7d2f6155534eff36f81b0083",
      "parents": [
        "35db11a181bdf6ca2d86430e7a2e5d96d12e8197"
      ],
      "author": {
        "name": "sabeensyed",
        "email": "sabeen.syed@rackspace.com",
        "time": "Wed Oct 21 18:20:48 2015 +0000"
      },
      "committer": {
        "name": "Sabeen",
        "email": "sabeen.syed@rackspace.com",
        "time": "Wed Jan 06 18:02:42 2016 +0000"
      },
      "message": "Add tests for heat template apis\n\nThis patch covers 4 template api calls -\n1. Get stack template\n2. List template versions\n3. List resource types\n4. Show resource schema\n\nChange-Id: I85b16b8893264d1313e2e184011dd0ddfdaa4349\n"
    },
    {
      "commit": "fb53d4218b5655d69fd66711313f3810b94f6aae",
      "tree": "88baf018dda2411a09715ae19c06b8395110eb98",
      "parents": [
        "35db11a181bdf6ca2d86430e7a2e5d96d12e8197"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Tue Jan 05 15:29:03 2016 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Wed Jan 06 11:19:42 2016 +0100"
      },
      "message": "Fix race condition in tests with swift key\n\nIn integration we publish templates in Swift using temporary URLs.\nUnfortunately there is a race condition in the way we setup the key, as\nwe use the key global to the account. This switches to a container per\ntest and a key per container to work around that.\n\nChange-Id: Ia19967696811847e5b3ba07df68848a1708c2316\nCloses-Bug: #1491773\n"
    },
    {
      "commit": "9593716a97f8f9dc0577cc7d539a4c7571b6d527",
      "tree": "0967830a3c0389d7ba603cae52742fac3d4e7ab3",
      "parents": [
        "35db11a181bdf6ca2d86430e7a2e5d96d12e8197"
      ],
      "author": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Sat Oct 31 11:26:55 2015 +0800"
      },
      "committer": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Wed Jan 06 16:01:26 2016 +0800"
      },
      "message": "Improve gateway_ip updation for subnet\n\nAllow update \u0027gateway_ip\u0027 to null or empty for\nneutron subnet, and keep the same behavior as\ncreation.\nAlso, this change adds some related functional\ntests for neutron subnet resource.\n\nCloses-Bug: #1510800\nChange-Id: Ib5511402e1d118457356a8add0042be2b157eb24\n"
    },
    {
      "commit": "35db11a181bdf6ca2d86430e7a2e5d96d12e8197",
      "tree": "49295e6ae8631f74da8a68dcac8bd135918b0826",
      "parents": [
        "098204d7d5161474c9ed2247b3e9457b785b48a3"
      ],
      "author": {
        "name": "LiuNanke",
        "email": "nanke.liu@easystack.cn",
        "time": "Sun Jan 03 03:34:58 2016 +0800"
      },
      "committer": {
        "name": "LiuNanke",
        "email": "nanke.liu@easystack.cn",
        "time": "Sun Jan 03 03:34:58 2016 +0800"
      },
      "message": "Replace assertTrue(isinstance()) with assertIsInstance()\n\nSome of tests use different method of assertTrue(isinstance(A, B)) or\nassertEqual(type(A), B). The correct way is to use assertIsInstance(A,\nB) provided by testtools.\nThere has one more place should be modified.\n\nChange-Id: I751a2fb79857c09952a59e29301bf54ff6482d01\nCloses-bug: #1268480\n"
    },
    {
      "commit": "098204d7d5161474c9ed2247b3e9457b785b48a3",
      "tree": "5e2f38e12339dc0bf6fcb4e7c7eb2a75e479a947",
      "parents": [
        "1bddf7e6c0eb11181130805cbfb8ff8a291f8d1b",
        "c7e36ede989f28b0fa03bb9793581570e084b003"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 30 08:27:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 30 08:27:05 2015 +0000"
      },
      "message": "Merge \"Using LOG.warning replace LOG.warn\""
    },
    {
      "commit": "c7e36ede989f28b0fa03bb9793581570e084b003",
      "tree": "6efd36f5ee0d51bf1944f9bbab26f2a173679247",
      "parents": [
        "6b378ab1885ef5e1e8cb05fd20482b72c9d029b8"
      ],
      "author": {
        "name": "LiuNanke",
        "email": "nanke.liu@easystack.cn",
        "time": "Tue Dec 29 12:54:49 2015 +0800"
      },
      "committer": {
        "name": "LiuNanke",
        "email": "nanke.liu@easystack.cn",
        "time": "Tue Dec 29 09:32:42 2015 +0000"
      },
      "message": "Using LOG.warning replace LOG.warn\n\n\n*Python 3 deprecated the logger.warn method, see:\n*https://docs.python.org/3/library/logging.html#logging.warning\n*so we prefer to use warning to avoid DeprecationWarning.\n\nChange-Id: I07ee9c97c3548c965aaf83d34b37b23e9baba584\n"
    },
    {
      "commit": "1bddf7e6c0eb11181130805cbfb8ff8a291f8d1b",
      "tree": "0bd1a9612f4a3c654fd12cd032ee46bc6fcc9e18",
      "parents": [
        "398e6bd6ce89dada71327598d8149dd80caa6ec8",
        "444b74b631043e8328b6927c81834026cde61597"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Dec 26 09:11:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Dec 26 09:11:16 2015 +0000"
      },
      "message": "Merge \"Trivial: Remove unused logging import\""
    },
    {
      "commit": "398e6bd6ce89dada71327598d8149dd80caa6ec8",
      "tree": "4be5e3003c0cf46a08c14b544aa66899f333b21a",
      "parents": [
        "a4211daa452085799591c97e4e0a1a0fa50db10c"
      ],
      "author": {
        "name": "hgangwx",
        "email": "hgangwx@cn.ibm.com",
        "time": "Sat Dec 26 18:06:39 2015 +0800"
      },
      "committer": {
        "name": "hgangwx",
        "email": "hgangwx@cn.ibm.com",
        "time": "Sat Dec 26 18:08:47 2015 +0800"
      },
      "message": "Wrong usage of \"a\"\n\nWrong usage of \"a\" in the mesages:\n\"a integer representing the number of matched stacks\"\n\"Send a signal and a exception will raise\"\nShould be:\n\"an integer representing the number of matched stacks\"\n\"Send a signal and an exception will raise\"\nTotally 3 occasion in Heat base code.\n\nChange-Id: Ic5ff16dd8d31d4573490ac423f7457e75b872e6b\n"
    },
    {
      "commit": "444b74b631043e8328b6927c81834026cde61597",
      "tree": "ce3bfed53e7974d11dd667869ca6503043dbfa75",
      "parents": [
        "a4211daa452085799591c97e4e0a1a0fa50db10c"
      ],
      "author": {
        "name": "Bo Wang",
        "email": "bo.wang@easystack.cn",
        "time": "Sat Dec 26 11:28:20 2015 +0800"
      },
      "committer": {
        "name": "Bo Wang",
        "email": "bo.wang@easystack.cn",
        "time": "Sat Dec 26 15:30:20 2015 +0800"
      },
      "message": "Trivial: Remove unused logging import\n\nChange-Id: I17b021de2bc2bb5f0797bc0b5a7b4d80eac78c95\n"
    },
    {
      "commit": "a4211daa452085799591c97e4e0a1a0fa50db10c",
      "tree": "2b8ff6747407a68f9c627a2cd52d8aa2a9156bfd",
      "parents": [
        "6b378ab1885ef5e1e8cb05fd20482b72c9d029b8"
      ],
      "author": {
        "name": "Jay Dobies",
        "email": "jason.dobies@redhat.com",
        "time": "Wed Nov 25 15:36:27 2015 -0500"
      },
      "committer": {
        "name": "Jay Dobies",
        "email": "jason.dobies@redhat.com",
        "time": "Wed Dec 16 10:08:38 2015 -0500"
      },
      "message": "Added ResourceChain plugin\n\nImplements: blueprint resource-chain\nChange-Id: If510abe260ea7852dfe2d1f7f92b529979483068\n"
    },
    {
      "commit": "0f70c28402d1bbe2e52bff4f8b1beff47c8d37fb",
      "tree": "1d234fc160af4eac19cbd0e035b08d1cb36d185c",
      "parents": [
        "6b378ab1885ef5e1e8cb05fd20482b72c9d029b8"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Wed Dec 09 16:45:30 2015 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Tue Dec 15 11:58:01 2015 +0100"
      },
      "message": "Fix database purge query\n\nFix raw_template purge query on MySQL, and handle stack tags before\nremoving stacks. This also removes a bunch of race conditions where we\ndeleted incorrect data.\n\nChange-Id: I7b7a1d94acefbaeeed86f1833c979819361c8988\nCloses-Bug: #1524387\n"
    },
    {
      "commit": "6b378ab1885ef5e1e8cb05fd20482b72c9d029b8",
      "tree": "d257a2ab6c13d9462622e4737c19847965d831b2",
      "parents": [
        "773a4a6740ddde8e7d735f5574e5cc526b533172"
      ],
      "author": {
        "name": "Kanagaraj Manickam",
        "email": "kanagaraj.manickam@hp.com",
        "time": "Mon May 11 17:34:43 2015 +0530"
      },
      "committer": {
        "name": "Jason Dunsmore",
        "email": "jasondunsmore@gmail.com",
        "time": "Fri Nov 20 09:17:41 2015 -0600"
      },
      "message": "Split abandon into pre-abandon(export) and abandon\n\nSplits the existing abandon action into two actions as\nbelow:\n1. export: User is recommended to run export successfully\n   before doing the abandon action. It returns the stack\n   data, which can be used for adopting stack.\n2. abandon: Abandons the given stack\n\nPartial-Bug: #1353670\n\nCo-Authored-By: Jason Dunsmore \u003cjasondunsmore@gmail.com\u003e\nChange-Id: I65264d91b1378df9cb3e492bc6ccaa778940dd6b\n"
    },
    {
      "commit": "773a4a6740ddde8e7d735f5574e5cc526b533172",
      "tree": "60d08aac66d6073aef3a414957b387e7f7bcdc26",
      "parents": [
        "8a3c1ececfecbd8d0e2a37145e2e3f959b848762",
        "b0cccac0d6824d4cb0ad1f81f0e02e2ebd120ef2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 17 21:18:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 17 21:18:31 2015 +0000"
      },
      "message": "Merge \"Add a test for environment change in failed update\""
    },
    {
      "commit": "8a3c1ececfecbd8d0e2a37145e2e3f959b848762",
      "tree": "b94d952031b311d305d162cba481bfc890f28712",
      "parents": [
        "b1d2705dfcf11faeda3bf9fd604cf4814e775f8a"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Wed Oct 21 18:56:01 2015 +0100"
      },
      "committer": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Mon Nov 16 10:43:40 2015 -0500"
      },
      "message": "Allow in-place updates for all compatible types\n\nWe previously only allowed a resource to update in-place when the \u0027type\u0027\nfield in the old and new templates matched. In an age of environment type\nmappings, this is incorrect. Instead, allow a resource to be updated\nin-place when the old and new resource plugins are of the same class, since\nthis is actually what determines whether handle_update is capable of\ncorrectly updating the resource in-place.\n\nThere is a special-case for TemplateResource as we currently subclass it\nfor each template type, but all TemplateResource subclasses are in fact\ncapable of converting between each other via a stack update.\n\nChange-Id: Iba4abf5efd9737ca6a17d8c91d5c54ab6d3f12e0\nCo-Authored-By: Zane Bitter \u003czbitter@redhat.com\u003e\nCloses-Bug: #1508115\n"
    },
    {
      "commit": "b0cccac0d6824d4cb0ad1f81f0e02e2ebd120ef2",
      "tree": "b05283969627fccb2a6256889600a22edf78b9d2",
      "parents": [
        "b1d2705dfcf11faeda3bf9fd604cf4814e775f8a"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Fri Nov 13 09:35:55 2015 +0100"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Fri Nov 13 17:13:48 2015 +0100"
      },
      "message": "Add a test for environment change in failed update\n\nAdd a functional test which verifies that adding a new resource during\nan update, with a new custom resource type mapping in the environment,\nallows for recovery when the update fails.\n\nChange-Id: I7e52703b7f45c79a3a1434200d1e49988e78f333\nRelated-Bug: 1508096\n"
    },
    {
      "commit": "b1d2705dfcf11faeda3bf9fd604cf4814e775f8a",
      "tree": "73726932c2b98f26f9c2e7c5fceecca4b532d125",
      "parents": [
        "80519ebeff1c8b9ca19afcd8c0bdc9648677a566"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Mon Nov 09 11:21:51 2015 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Mon Nov 09 17:12:41 2015 +0530"
      },
      "message": "Remove default None value for config options\n\nIn oslo.config default is always initialized to None.\n\nChange-Id: I4c8eb7eb43121d28364f6e2e3a2fbabcc1bdb90d\n"
    },
    {
      "commit": "80519ebeff1c8b9ca19afcd8c0bdc9648677a566",
      "tree": "504cca9bcc905fa24848e84b858e1d07e7d29a06",
      "parents": [
        "855d1c0daae2723ea2e16693e566fd9e48383b1f"
      ],
      "author": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Sat Oct 31 17:55:54 2015 +0800"
      },
      "committer": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Mon Nov 02 10:08:36 2015 +0800"
      },
      "message": "Allow to update subnet without \u0027allocation_pools\u0027\n\nHeat allow to update \u0027allocation_pools\u0027 for subnet\nresource in Change: I26f96f712dfa9405814e26a06668db7a608e84b8,\nbut the patch introduced a problem: if user remove the\n\u0027allocation_pools\u0027 from template when updating, heat will\npass \u0027allocation_pools\u003dNone\u0027 to neutron, but neutron doesn\u0027t\naccept the None value for this property, an error will be\nraised: BadRequest: Invalid input for allocation_pools.\nReason: Invalid data format for IP pool: \u0027None\u0027. This patch\nwill pass [] to neutron to fix this problem.\n\nChange-Id: I83e56d4494564de97717da6f6c0a9ae2cd9852dd\nCloses-Bug: #1511909\n"
    },
    {
      "commit": "855d1c0daae2723ea2e16693e566fd9e48383b1f",
      "tree": "4882f9469aa15f7cc3d606eee5331d7bf1f4685c",
      "parents": [
        "3eab294d7ffcf4c0d7ffca3d7f0431382342766f"
      ],
      "author": {
        "name": "Bertrand Lallau",
        "email": "bertrand.lallau@thalesgroup.com",
        "time": "Mon Oct 26 16:37:37 2015 +0100"
      },
      "committer": {
        "name": "Bertrand Lallau",
        "email": "bertrand.lallau@gmail.com",
        "time": "Mon Oct 26 22:45:25 2015 +0100"
      },
      "message": "Use assertTrue/False instead of assertEqual(T/F)\n\nThe usage of assertEqual(True/False, ***) should be changed to a more\nmeaningful format of assertTrue/False(***).\n\nChange-Id: I685f7bb0b4669d8813ebbb796b6014ad44d7ff0c\nCloses-Bug: #1510001\n"
    },
    {
      "commit": "3eab294d7ffcf4c0d7ffca3d7f0431382342766f",
      "tree": "b024d2868cc3accc5e5728fa829d61271c0e0757",
      "parents": [
        "1c17ec33ae4b0d4059f68c70fe4c87d3fbbd2eab"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Thu Oct 22 17:29:21 2015 +0200"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Thu Oct 22 17:29:21 2015 +0200"
      },
      "message": "Expand test in-progress workaround\n\nWhen working around bug #1450314, we changed integration tests to ignore\nthe lock when doing an update. Unfortunately, this issue happens for\nactions other than update like delete and suspend, so let\u0027s apply the\nsame fix for those actions too.\n\nChange-Id: I04c5f35a1851163bc849f5c8be0f6e865ee0088e\nCloses-Bug: #1508990\nRelated-Bug: #1450314\n"
    },
    {
      "commit": "1c17ec33ae4b0d4059f68c70fe4c87d3fbbd2eab",
      "tree": "620f3a35495f8fd73e31b7d0088f0040b0ca5e4b",
      "parents": [
        "80c90edd34f530679fd0ab9e926620868c313092",
        "8bcff8a66aa86615434b7543e39ba9afbd01f2b7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 20 12:11:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 20 12:11:07 2015 +0000"
      },
      "message": "Merge \"Add functional test for ResourceGroup rolling_update\""
    },
    {
      "commit": "80c90edd34f530679fd0ab9e926620868c313092",
      "tree": "e433a84c32b0574c06aa4cb7fa311262f4382b5a",
      "parents": [
        "6d8e086a61ecb4139c70755115e840db3d262bfb",
        "06b1127962fe566f50168752e06b80d213e970c0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Oct 19 00:40:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Oct 19 00:40:44 2015 +0000"
      },
      "message": "Merge \"Remove unnecessary update_replace parameter\""
    },
    {
      "commit": "8bcff8a66aa86615434b7543e39ba9afbd01f2b7",
      "tree": "e6b9e165b373ea084e6bb0a646b9ad8a4ae3bd5a",
      "parents": [
        "f0ac9583fa7346951c1ff5e5c8e3fb812dd36344"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Mon Sep 21 18:15:04 2015 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Oct 16 17:32:56 2015 +0530"
      },
      "message": "Add functional test for ResourceGroup rolling_update\n\nChange-Id: I77456afde1a425aacce5d9778825861179ac89aa\n"
    },
    {
      "commit": "6d8e086a61ecb4139c70755115e840db3d262bfb",
      "tree": "b83787ee30aa1391583c72fc0f1bc1ba8b87860f",
      "parents": [
        "f0ac9583fa7346951c1ff5e5c8e3fb812dd36344"
      ],
      "author": {
        "name": "Mark Vanderwiel",
        "email": "vanderwl@us.ibm.com",
        "time": "Thu Oct 15 12:51:07 2015 -0500"
      },
      "committer": {
        "name": "Mark Vanderwiel",
        "email": "vanderwl@us.ibm.com",
        "time": "Thu Oct 15 16:27:47 2015 -0500"
      },
      "message": "Allow LBaas integration tests to dynamically skip\n\nlbaas v1 and v2 are mutually exclusive and cannot be enabled at the\nsame time within devstack.  The current integation test goes after the\nexisting lbaas v1 resources with a devstack setup with the\nq-lbaas service.  This patch allow the test itself to\nbe smart enough to skip itself when the required lbaas version\nis not available.\n\nThe current infra gate job template is hardcoded to only enable\nlbaas v1 (q-lbaas), so the v1 test will continue to work properly\nand the new v2 test (wip) will be dynamically skipped.\n\nA follow up patch will modify the infra gate job template,\n{pipeline}-heat-dsvm-functional-{engine}-{datastore}{branch-designator},\nto also include an lbaas version.  Then the job can setup either\na lbaas v1 or v2 devstack so both tests can be run.\n\nAnother follow up patch will flush out the lbaas v2 integration test\nonce the new resources have been merged.\n\nblueprint: lbaasv2-suport\n\nChange-Id: I0e4c83f1b078451607a30e8b665e309ea5e170d1\n"
    },
    {
      "commit": "06b1127962fe566f50168752e06b80d213e970c0",
      "tree": "9f679bb99922c0d5b8d9df1657eb677768c9eff0",
      "parents": [
        "f0ac9583fa7346951c1ff5e5c8e3fb812dd36344"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Wed Oct 14 10:19:22 2015 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Wed Oct 14 10:25:53 2015 +0530"
      },
      "message": "Remove unnecessary update_replace parameter\n\nFor tests in AutoScalingGroupUpdatePolicyTest, update_replace happens\nbased on the changes to properties(ImageId vs InstanceType) and\nupdate_replace parameter is not used.\n\nChange-Id: I72c7e81dd29693c4cf90c64f37911a529f65d541\n"
    },
    {
      "commit": "f0ac9583fa7346951c1ff5e5c8e3fb812dd36344",
      "tree": "1b1addd3af5f362f3ee0d4b67177f8319139794e",
      "parents": [
        "6a1b9053e5133e7da688932223dac3f18d041907"
      ],
      "author": {
        "name": "Peter Razumovsky",
        "email": "prazumovsky@mirantis.com",
        "time": "Thu Sep 24 16:49:03 2015 +0300"
      },
      "committer": {
        "name": "Peter Razumovsky",
        "email": "prazumovsky@mirantis.com",
        "time": "Thu Oct 08 15:13:52 2015 +0300"
      },
      "message": "Fix [H405] pep rule in heat_integrationtests\n\nImplements bp docstring-improvements\n\nChange-Id: I7aebbdafef121c3414e6a0260452c1353af62e88\n"
    },
    {
      "commit": "6a1b9053e5133e7da688932223dac3f18d041907",
      "tree": "2291f3ade28245f11fbb410a3e59464d356b3122",
      "parents": [
        "aec5307b418e8053330998ea5913a912314fffdc",
        "d1ab9c6a3fa10aaf669a375aacd735a87cc6bf50"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 06 22:21:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 06 22:21:28 2015 +0000"
      },
      "message": "Merge \"Try polling swift object before creating stack\""
    },
    {
      "commit": "aec5307b418e8053330998ea5913a912314fffdc",
      "tree": "77f3d13a818298bd19c81583d4a889ed2c7af45e",
      "parents": [
        "d8b1d63487186314eea341d47b1a49cb537e14c1",
        "b5aa902ef56ee9d73f78fdc596f96f02f2fde669"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 06 14:50:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 06 14:50:26 2015 +0000"
      },
      "message": "Merge \"Add integration tests for preview update\""
    },
    {
      "commit": "d8b1d63487186314eea341d47b1a49cb537e14c1",
      "tree": "af95d2eb573ab91f164ed54f942210be4c5a9655",
      "parents": [
        "23284b69034f5ba090cf727d358033304d86fb2e",
        "dd5a6078467790548ecdfe240f3e46e089686577"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 06 11:18:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 06 11:18:16 2015 +0000"
      },
      "message": "Merge \"Test case for resource_facade\""
    },
    {
      "commit": "d1ab9c6a3fa10aaf669a375aacd735a87cc6bf50",
      "tree": "7009cecc215bd8e4b8dc1cb976b55c81e2e9b443",
      "parents": [
        "23284b69034f5ba090cf727d358033304d86fb2e"
      ],
      "author": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Tue Oct 06 13:58:34 2015 +1000"
      },
      "committer": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Tue Oct 06 13:59:31 2015 +1000"
      },
      "message": "Try polling swift object before creating stack\n\nChange-Id: I185d13c8c89df7ee27a7b4740d8895b3367fafa6\nCloses-bug: #1491773\n"
    },
    {
      "commit": "23284b69034f5ba090cf727d358033304d86fb2e",
      "tree": "9af51e92baecbd11acb200f0c9097c49a6157708",
      "parents": [
        "a30ac12adc5047bafcfcf48359090e70b4c0759e"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Thu Oct 01 19:03:42 2015 +0100"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Fri Oct 02 10:42:09 2015 +0100"
      },
      "message": "Add functional test coverage for PATCH updates\n\nAdds coverage for patch updates which didn\u0027t land previously with the\ncode.\n\nChange-Id: I66b721d1af787e9d64b8b942818a6c8b4412fa7b\nRelated-Bug: #1224828\n"
    },
    {
      "commit": "a30ac12adc5047bafcfcf48359090e70b4c0759e",
      "tree": "3e131718a6ddeb604cc1021a50270f925baf3cd9",
      "parents": [
        "1c6c392e675061cc337a03e69dc06daaf4ff9cad"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Tue Sep 29 11:47:52 2015 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Tue Sep 29 13:06:09 2015 +0000"
      },
      "message": "Change cinder client version to 2 for integration tests\n\nChange-Id: Ib6c9029524838cbfbadf2c3fee6c9b50e8eef2b0\nDepends-On: I5c4485a0f1d89a63548b627502be99ce30c0f00b\nCloses-Bug: #1500714\n"
    },
    {
      "commit": "1c6c392e675061cc337a03e69dc06daaf4ff9cad",
      "tree": "3e9805b8e87b175c67cec357e8c3984486af7eca",
      "parents": [
        "1abc2724fba5c9334789291b3f7107b32e39530f",
        "775a13888ce1a2141cb0e45ed39a4462cc26aa9f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 24 01:13:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 24 01:13:35 2015 +0000"
      },
      "message": "Merge \"Adding basic test to exercise the heat event APIs.\""
    },
    {
      "commit": "1abc2724fba5c9334789291b3f7107b32e39530f",
      "tree": "8e746bb167ace7c7c2242ee04d96c48ebc73f4da",
      "parents": [
        "e9aafe54beefaa89f531a84943140783dd957a51",
        "03767a8633fad9040481ab83c45b303f26531709"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 22 10:50:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 22 10:50:00 2015 +0000"
      },
      "message": "Merge \"Allow nested validation for template-validate\""
    },
    {
      "commit": "e9aafe54beefaa89f531a84943140783dd957a51",
      "tree": "a4e716ae2ef60be80e4934b6781ffa4f0dcd9969",
      "parents": [
        "dca518b3496f8bbdffaae99c22eb8a7e2a86ed3a",
        "8ba6253d1f541a16632ec940d9b20cb48a372ab2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 22 09:04:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 22 09:04:49 2015 +0000"
      },
      "message": "Merge \"Handle replace and rollback cases for Port\""
    },
    {
      "commit": "03767a8633fad9040481ab83c45b303f26531709",
      "tree": "95567c36d84f682a05e0868a2ed13835e9e8472f",
      "parents": [
        "dca518b3496f8bbdffaae99c22eb8a7e2a86ed3a"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Wed Sep 16 14:07:58 2015 +0100"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Tue Sep 22 08:27:28 2015 +0100"
      },
      "message": "Allow nested validation for template-validate\n\nAdds an optional flag that causes template-validate to recursively\nvalidate nested stacks and expose a schema of the parameters for\nall stacks in the tree.  This uses a similar method to stack preview\nin that it builds the tree in memory so we can then walk it and\nextract the parameter data we need.\n\nChange-Id: I7e3d752124997a0a7b8ff53e774ed8034dd2f81d\nCo-Authored-By: Jay Dobies \u003cjdobies@redhat.com\u003e\nImplements-blueprint: nested-validation\n"
    },
    {
      "commit": "b5aa902ef56ee9d73f78fdc596f96f02f2fde669",
      "tree": "8dbd2caa74d47cf022fc6305892de7425d0fa6aa",
      "parents": [
        "a064e289436989e27edf8baa58fed9fe69dd2950"
      ],
      "author": {
        "name": "Jason Dunsmore",
        "email": "jasondunsmore@gmail.com",
        "time": "Wed Sep 09 16:57:04 2015 -0500"
      },
      "committer": {
        "name": "Jason Dunsmore",
        "email": "jasondunsmore@gmail.com",
        "time": "Mon Sep 21 15:13:43 2015 -0500"
      },
      "message": "Add integration tests for preview update\n\nChange-Id: Ie67da09ad32185a18493fded18e24894b8c195d4\nBP: update-dry-run\n"
    },
    {
      "commit": "dca518b3496f8bbdffaae99c22eb8a7e2a86ed3a",
      "tree": "865875e9aa78c4d4abe75e42e6fc16a8c94a47c1",
      "parents": [
        "1c8499db32a9a3a644ca1a79cae9184bd2d2cd1b"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Fri Sep 18 18:19:40 2015 +0100"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Sep 21 14:27:16 2015 +0100"
      },
      "message": "Add a functional test proving OS::Heat::None works with validate\n\nPreviously the template-validate logic failed when overriding\nresources with OS::Heat::None in the resource_registry, despite\nthis working fine via create/preview.\n\nSince the fix for bug #1467573 has aligned the template-validate\nlogic with that of create/preview, this should now work.\n\nChange-Id: Id8d0be57d347e7ef6714477747949bd2dadd470c\nCloses-Bug: #1495914\n"
    },
    {
      "commit": "1c8499db32a9a3a644ca1a79cae9184bd2d2cd1b",
      "tree": "4d8a8dd1ed4aae3e84d78e39335eef5fc52d100e",
      "parents": [
        "741938299bc611e441299278c4c18f4faa7fdc0c"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Fri Sep 18 15:49:12 2015 +0100"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Fri Sep 18 18:59:31 2015 +0100"
      },
      "message": "Always return default via template-validate \"Default\"\n\nCurrently we redefine the value of Default when a user value is\nprovided, which means the data returned doesn\u0027t match the schema\ndefined in the template.  Instead always return the actual default\nand add a \"Value\" key that contains the user value, if provided.\n\nChange-Id: If4ed0b733d4e61c84167063c36cdcb234b001136\nCloses-Bug: #1497310\n"
    },
    {
      "commit": "775a13888ce1a2141cb0e45ed39a4462cc26aa9f",
      "tree": "c6b757f384dc964cd5d2cffe4932f47db9add951",
      "parents": [
        "9cc3a5fb894bac7193a7691f90fc3ecb13255bb6"
      ],
      "author": {
        "name": "James Combs",
        "email": "cornracker@gmail.com",
        "time": "Mon Aug 31 20:50:51 2015 +0000"
      },
      "committer": {
        "name": "James Combs",
        "email": "cornracker@gmail.com",
        "time": "Fri Sep 18 16:21:00 2015 +0000"
      },
      "message": "Adding basic test to exercise the heat event APIs.\n\nChange-Id: I8ff9554b38e3a72fbf6bb09ca074191e13585bd8\n"
    },
    {
      "commit": "741938299bc611e441299278c4c18f4faa7fdc0c",
      "tree": "4c64c6c12a42459b7fc263b15cec3f57373accee",
      "parents": [
        "6199eb07caf85f5cc7eac18dbd448c654ed2c08e"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Tue Sep 15 09:38:26 2015 +0100"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Thu Sep 17 14:23:35 2015 +0100"
      },
      "message": "Add initial functional test for template-validate\n\nProve basic template validation functionality, will provide additional\nconfidence that subsequent rework to the internal implementation doesn\u0027t\nbreak the API.\n\nChange-Id: Ieb605ca66dfdf3e25b0a7a703df3015b817e615b\nPartial-Bug: #1467573\n"
    },
    {
      "commit": "8ba6253d1f541a16632ec940d9b20cb48a372ab2",
      "tree": "2bc26d773e4a028dbe6beca28b443cd126d654ae",
      "parents": [
        "6199eb07caf85f5cc7eac18dbd448c654ed2c08e"
      ],
      "author": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Fri Sep 04 05:18:02 2015 -0400"
      },
      "committer": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Wed Sep 16 14:05:45 2015 +0000"
      },
      "message": "Handle replace and rollback cases for Port\n\nAdd prepare_for_replace and restore_after_rollback methods for port\nresource. Now if port has fixed_ip address it will be correctly handled\nduring UpdateReplace, i.e. we detach this ip and store it in self.data.\nIn case, when rollback happens, fixed_ips data will be taken from\nself.data of resource in _backup_stack.\n\nFollow functional tests was added:\n - enable test with simple replacing port\n - test for failed update with rollback\n - test for failed update without rollback and second repair update\n\nimplements bp rich-network-prop\n\nChange-Id: Id3877ed8cb1097f6c93725806d137ea67ab07466\nCloses-Bug: #1455100\n"
    },
    {
      "commit": "6199eb07caf85f5cc7eac18dbd448c654ed2c08e",
      "tree": "081b310a158ff812a65b9b3b434bb382fed7d606",
      "parents": [
        "9cc3a5fb894bac7193a7691f90fc3ecb13255bb6",
        "6a20e3b7439c421441c781bbc731ee3b2365544b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 16 11:02:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 16 11:02:59 2015 +0000"
      },
      "message": "Merge \"Validate TemplateResource schema when based on other templates\""
    },
    {
      "commit": "9cc3a5fb894bac7193a7691f90fc3ecb13255bb6",
      "tree": "e4f46632e04094725d785f4086f1be22c3cfb251",
      "parents": [
        "89082a33f4daf226c1cdccc43fdbfa8d3877d154"
      ],
      "author": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Mon Sep 14 11:12:20 2015 +1000"
      },
      "committer": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Mon Sep 14 11:12:20 2015 +1000"
      },
      "message": "Make the stack tags template non-empty\n\nThis is to work around the update time not having fractional seconds.\nCloses-bug: #1480739\n\nChange-Id: Id5f9d318420e37525626c5a770c6126d8369b5e7\n"
    },
    {
      "commit": "89082a33f4daf226c1cdccc43fdbfa8d3877d154",
      "tree": "62e6518a089985ae76ee1adafccec448fdaa7c44",
      "parents": [
        "f71ae07989b718d8dc648059f7914c81b684396f"
      ],
      "author": {
        "name": "Sergey Kraynev",
        "email": "skraynev@mirantis.com",
        "time": "Fri Sep 04 04:42:33 2015 -0400"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Thu Sep 10 11:36:41 2015 +0100"
      },
      "message": "Add integration test for UPDATE_FAILED recovery\n\nIt\u0027s valid to attempt an update from UPDATE_FAILED state, so add\na functional test which proves this works.\n\nThis requires an adjustment to the common test.py _verify_status\nbecause we now need to ensure we record the time of transition to\nFAILED state as well as COMPLETE, or we\u0027ll mis-detect the failure\nas a failure of the subsequent recovery update.\n\nCo-Authored-By: Sergey Kraynev \u003cskraynev@mirantis.com\u003e\nChange-Id: I5fc82b4c71a943ba15c04b08bcfd26fcb84dc7a4\n"
    },
    {
      "commit": "f71ae07989b718d8dc648059f7914c81b684396f",
      "tree": "37a38b9af63f8eeced23ea483483de8d579aad8e",
      "parents": [
        "a064e289436989e27edf8baa58fed9fe69dd2950"
      ],
      "author": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Thu Jul 09 09:15:10 2015 +0800"
      },
      "committer": {
        "name": "huangtianhua",
        "email": "huangtianhua@huawei.com",
        "time": "Wed Sep 09 14:52:37 2015 +0800"
      },
      "message": "Return error message if validate fail when clearing hook\n\nThere are some situations:\n1. User can run the command \"heat hook-clear\" on any\nresource in the stack, even if there is no hook\ndefined on it, and no error or warning message is returned.\n2. User run the command \"heat hook-clear\" on resource\nto clear the hook which resource unset, and no error or\nwarning message is returned.\n3. User run the command \"heat hook-clear\" on resource\neven if the resource\u0027s action is not support to signal, and\nno error or warning message is returned.\n4. User run the command \"heat hook-clear\" to clear invalid\nhooks, and no error or warnning message is returned.\n\nThis patch will check the situations above before call\nresource.signal, and will return error messages to user.\n\nChange-Id: Ifb9befad864ebe1bb5f8b419b95d1b3a95530573\nCloses-Bug: #1472515\n"
    },
    {
      "commit": "a064e289436989e27edf8baa58fed9fe69dd2950",
      "tree": "fe2ba0ed60be8d48b0f826b4db2d8feee0b59d1e",
      "parents": [
        "405444f635223a0f4a7718a7c70c389d0c51d600"
      ],
      "author": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Sun Aug 30 09:05:32 2015 +0300"
      },
      "committer": {
        "name": "Oleksii Chuprykov",
        "email": "ochuprykov@mirantis.com",
        "time": "Tue Sep 08 16:22:46 2015 +0300"
      },
      "message": "Wait for metadata actually set to server\n\nIt is possible that at the time when deployment set its\nresource_id metadata will not actually be set at the server. Wait until\nmetadata actually set at the server. This patch makes test more stable.\n\nChange-Id: Iba8c1c47b0cb78798a1c46a3daef5cb3cc3cc9a2\n"
    },
    {
      "commit": "405444f635223a0f4a7718a7c70c389d0c51d600",
      "tree": "32648b7819e15466177fefa392ac45031d994b2a",
      "parents": [
        "73dcbc6dcfbaabdb81cf101174007d7ce9a52c41"
      ],
      "author": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Wed Sep 02 10:33:09 2015 +1000"
      },
      "committer": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Fri Sep 04 10:29:57 2015 +1000"
      },
      "message": "Move TestResource in-tree\n\nChange-Id: I83c52f099621610f75c3b986c359292606978885\nCloses-bug: #1489459\n"
    },
    {
      "commit": "73dcbc6dcfbaabdb81cf101174007d7ce9a52c41",
      "tree": "0d94450504ec5674fe186856f24c7da34c5419d2",
      "parents": [
        "0e2511a5c146a90f6a36ec64243a4e794d39d289"
      ],
      "author": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Mon Aug 31 09:02:58 2015 +1000"
      },
      "committer": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Fri Sep 04 10:29:57 2015 +1000"
      },
      "message": "Make the TestResource a bit smarter\n\nThis is a better representation of how actual resources work.\n\n1. implement check_*_complete\n2. measure the time, not just do one sleep\n3. add client_name and entity_name so we can actually talk to a service\n   (even if it fails).\n4. add some example usage in test_create_update.py\n5. don\u0027t use json_snippet._properties\n\nThe timeout works in a similar way to the waitcondition.\n\nChange-Id: I7d3fd0340fefe4a06b8d4f0952c162be604aa58c\n"
    },
    {
      "commit": "0e2511a5c146a90f6a36ec64243a4e794d39d289",
      "tree": "d8c1f551feb7fe6a7eb802cd48bfaa56601be87d",
      "parents": [
        "67a64d996f03836bd1c715e15df68ccea52c6362",
        "9ede185ec3a251720d6c3411001fb365a6e797f1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 03 08:12:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 03 08:12:12 2015 +0000"
      },
      "message": "Merge \"Merge Neutron AutoScaling and LoadBalancer tests\""
    },
    {
      "commit": "dd5a6078467790548ecdfe240f3e46e089686577",
      "tree": "d265875c8410fdc69a3bc73f79a5886b765c6b20",
      "parents": [
        "67a64d996f03836bd1c715e15df68ccea52c6362"
      ],
      "author": {
        "name": "Angus Salkeld",
        "email": "asalkeld@mirantis.com",
        "time": "Wed Sep 02 09:10:04 2015 +1000"
      },
      "committer": {
        "name": "Rico Lin",
        "email": "rico.l@inwinstack.com",
        "time": "Thu Sep 03 02:03:30 2015 +0000"
      },
      "message": "Test case for resource_facade\n\nChange-Id: I8190752a4f415cfc87bf0116b2f2c95905e2685b\nRelated-bug: #1491146\n"
    },
    {
      "commit": "9ede185ec3a251720d6c3411001fb365a6e797f1",
      "tree": "c457526ca0174170390ae9792574b625cea1fb69",
      "parents": [
        "5f3651a9bfc9dc91559c5bb0d68bd213bf313b94"
      ],
      "author": {
        "name": "Pavlo Shchelokovskyy",
        "email": "pshchelokovskyy@mirantis.com",
        "time": "Thu Mar 19 17:54:52 2015 +0000"
      },
      "committer": {
        "name": "Pavlo Shchelokovskyy",
        "email": "pshchelokovskyy@mirantis.com",
        "time": "Fri Aug 28 08:39:47 2015 +0000"
      },
      "message": "Merge Neutron AutoScaling and LoadBalancer tests\n\nThe tested use case is an autoscaling group of web app servers\nbehind a loadbalancer.\n\nTest template was rewritten to use AutoScalingGroup, wait conditions and\noutputs, so no other client than heat one is used.\nNow there is no need to check for VM connectivity,\nas stack/resources status COMPLETE now quite reliably means\nthat the listening servers are running.\n\nThis patch should probably also help with narrowing down the causes of\nbug 1437203, since it does not checks instance connectivity with SSH.\n\nChange-Id: Iec8e8061f9ab3f3841fa221722b7b7805760cdf7\nRelated-Bug: #1437203\nCloses-Bug: #1435285\n"
    }
  ],
  "next": "67a64d996f03836bd1c715e15df68ccea52c6362"
}
