)]}'
{
  "log": [
    {
      "commit": "aa65dfb5265536eca40dbaf9b1826f8bf5148f80",
      "tree": "90c63876d28bedd1b2d69d1404a15e7fc25a953d",
      "parents": [
        "31993d50fd449e2d3ba02f3d4d94989130cd2118"
      ],
      "author": {
        "name": "Rodolfo Alonso Hernandez",
        "email": "ralonsoh@redhat.com",
        "time": "Wed Sep 18 11:30:04 2019 +0000"
      },
      "committer": {
        "name": "Rodolfo Alonso Hernandez",
        "email": "ralonsoh@redhat.com",
        "time": "Fri Sep 20 10:13:29 2019 +0000"
      },
      "message": "Add retry decorator to SSH \"execute\" method\n\nIn case of SSH timeout (TimeoutException, TimeoutError), the\ntenacity.retry decorator retries the execution of the SSH\n\"execute\" method up to 10 times.\n\nSome SSH execute calls, related to QoS scenario tests, have been\nenhanced by setting a relatively small timeout value. The commands\nexecuted should be quick enough to be executed in this amount of time.\nIn case of timeout (due to communication problems), the retry decorator\nwill send again the command to be executed.\n\nChange-Id: Idc0d55b776f499a4bc5d8c9d9a549f0af8f3fac0\nCloses-Bug: #1844516\n"
    },
    {
      "commit": "a2aad94f9dd97377331f57b1088bc4920aad935e",
      "tree": "670df9dad928dfba01668b608875f3747255898a",
      "parents": [
        "25cea25f12b8622d8a1595a9d674735756746516"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Mon Apr 09 12:01:48 2018 +0200"
      },
      "committer": {
        "name": "Slawek Kaplonski",
        "email": "skaplons@redhat.com",
        "time": "Thu Jul 11 13:50:01 2019 +0000"
      },
      "message": "Test multi-cast messaging between VMs.\n\nTest multi-cast messages are delivered bewteen two VMs\nusing IPv4 through the same tenant network.\n\nThis new test scenario requires advanced image to be run as\nit needs to run python3 scripts and python3 is not available\non Cirros.\n\nCo-authored-by: Slawek Kaplonski \u003cskaplons@redhat.com\u003e\n\nChange-Id: Idd1589adbff6e556290f43fabbb8a23737a34adf\n"
    },
    {
      "commit": "74e760a46e6c2260b6b048271c3b759641290efb",
      "tree": "83974a9f688341dbf805ae62c17dbc81e9f27eb3",
      "parents": [
        "22c547853e9a786f8849a06fa46e3aa164bdd782"
      ],
      "author": {
        "name": "zheng.yong",
        "email": "yong.zheng@easystack.cn",
        "time": "Wed May 22 14:16:14 2019 +0800"
      },
      "committer": {
        "name": "yong.zheng",
        "email": "zhengy23@163.com",
        "time": "Mon May 27 13:14:14 2019 +0800"
      },
      "message": "Normalize url without port with schema default port\n\nIn function get_bare_url, it will assert url startswith base_url,\nif base_url is \u0027http://neutron.openstack.svc.cluster.local:80/\u0027,\nwhile url is \u0027http://neutron.openstack.svc.cluster.local/v2.0/router/...\u0027,\nit will raise error. here need to add default schema port 80 to url to\nfix this problem.\n\nChange-Id: I44d623d3d0d96711f7ca93fc24b40c024dd86446\nCloses-Bug: #1829962\n"
    },
    {
      "commit": "c2ed23d106d61d1fd7a0aa9766c5ae9537fecd7d",
      "tree": "19ee784a225540688b00c058b2e223534dc29eed",
      "parents": [
        "4f27e8251d0c5b8bb49256b41b930274240f660d"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Thu Oct 25 09:31:47 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Mon Dec 17 15:45:54 2018 +0000"
      },
      "message": "Add ip command tool for manually manage devices on VM.\n\nIntroduce \u0027ip\u0027 command tool wrapper to help performing below\noperations:\n\n- inspect actual guest instance IP address\n- inspect network port device name\n- setup trunk sub-port\n\nChange-Id: I2afe6c82b2a58be349dda873b56aea02b9d72fd1\n"
    },
    {
      "commit": "5734c579a817e7a88ce0fb013833bf198953f5bb",
      "tree": "a943d7456d7ab31f21efbf0a4e0baad3bbb8220a",
      "parents": [
        "24583b592d9140d84c5d57411b1b4c64ab67b1c8",
        "4c590d7cff82b2978284ce0b0771b8949d9c6423"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Mon Dec 03 23:43:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Dec 03 23:43:32 2018 +0000"
      },
      "message": "Merge \"Improve security groups management.\""
    },
    {
      "commit": "0e04f8f2b788fa927c8221aa832431b20d4fe33f",
      "tree": "79845912c7ed367fea52109bd89108756fd5e1e1",
      "parents": [
        "6f9bb77d9872a1cac4e1815ce13d97b8a143b3a8"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Wed Oct 24 12:19:05 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Wed Nov 14 14:51:40 2018 +0100"
      },
      "message": "Create wrapper tool for both local and remote shell command execution.\n\nCreate base function called execute that takes a command and execute\nit using either subprocess module or an SSH client to allow\nimplementing commands wrapper that can be executed either locally or\nremotelly.\n\nIt also try to handle timeouts and produce good error capable of\nreporting whats written to stdout and stderr.\n\nChange-Id: I1a30b82338f44a4182722973e7ad3da2872295fd\n"
    },
    {
      "commit": "4c590d7cff82b2978284ce0b0771b8949d9c6423",
      "tree": "6250180d18a99db2382ad077ccd2c1d0c6c02e27",
      "parents": [
        "6f9bb77d9872a1cac4e1815ce13d97b8a143b3a8"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Wed Oct 10 14:01:08 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Wed Nov 14 13:03:09 2018 +0100"
      },
      "message": "Improve security groups management.\n\n- Add create_security_group_rule method to base class\n  to make easier creating rules for IPv6 test cases.\n- Add delete_security_group method.\n- Make sure segurity groups are deleted using the\n  client that has been used to create them.\n- Improve security group client handling.\n\nChange-Id: I50858d5198d8a70a2bb9fb278786c433d7cb12ca\n"
    },
    {
      "commit": "498a7f4945a7a568b3a3426cf5d7ee97f39771eb",
      "tree": "d7ec0d0712c10691793944b8792aa8fe87ec5c99",
      "parents": [
        "299c043aa7aa5d0dac41b4d950ce3332f4f946f7"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Mon Oct 22 17:44:11 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Thu Nov 08 07:35:18 2018 +0000"
      },
      "message": "Fix execute_script method to avoid infinite wait.\n\nFix execute_script method\nAdd support for timeout to execute_script\n\nChange-Id: I8375ae174bc4631f5f56ce575be343d0f58d0318\n"
    },
    {
      "commit": "aee61ac85ec4628ae1a14186c19490e6fa7f6116",
      "tree": "b70c57440013f1670abbf6fb9e56ea7904098319",
      "parents": [
        "8aaa73ff537ac69b1b069d9a9a0adff724155494"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 20:00:27 2018 -0400"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 20:00:27 2018 -0400"
      },
      "message": "Fix flake8 E405 errors\n\nFix E405 error and start enforcing it.\n\nTrivialfix\n\nChange-Id: I6a55102d03bbcdd5c0c3a5cc75aea0ca37578117\n"
    },
    {
      "commit": "8aaa73ff537ac69b1b069d9a9a0adff724155494",
      "tree": "28b1fa426d29f083956c20f15195bbfd77746aca",
      "parents": [
        "ae328b923adbd2c2693e9dc53bb4c31a6ced423e"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 19:55:44 2018 -0400"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 19:55:44 2018 -0400"
      },
      "message": "Fix flake8 E265 errors\n\nFix E265 error and start enforcing it.\n\nTrivialfix\n\nChange-Id: I947599c95c92376657eddaace190b728b8987a57\n"
    },
    {
      "commit": "ae328b923adbd2c2693e9dc53bb4c31a6ced423e",
      "tree": "a9bb3c8668d2ae42a8dcb71fe8901c9ab1088247",
      "parents": [
        "2184942995cc80bc1b9c76bae201a48f294c8acf"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 19:51:54 2018 -0400"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Tue Oct 09 19:51:54 2018 -0400"
      },
      "message": "Fix flake8 H404 errors\n\nFix H404 error and start enforcing it.\n\nTrivialfix\n\nChange-Id: I0c062733660031faf43838798a697daf6674ef14\n"
    },
    {
      "commit": "6f0644e271d1d2f7e9c81de052dfb905538a931b",
      "tree": "5c56736b618e3b57acef9a3266a5f787dbc92173",
      "parents": [
        "bf877c84b3bfca8669992e3004b9ee42f5a6b87d"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Fri Jul 06 10:05:32 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Mon Aug 27 15:27:07 2018 +0000"
      },
      "message": "Reuse SSH connections for executing multiple commands.\n\nWhen using SSH client to execute a command a Paramiko\nclient is created, it is connected to server and then the\nclient reference is forgot without closing socket.\n\nThis produces a leak of SSH connections. It also slow\ndown test executions when more than one command has to\nbe executed with the same SSH client (for example when\nexecuting ping between VMs).\n\nThis change also add convenience methods to SSH client:\n\n- connect() method allows to create and connect Paramiko\n  client to be used by tests directly (for exaple to open\n  a command like socat, cat, nc and redirect STDIN/STDOUT\n  to generate or receive network traffic. The method is\n  going to return the same Paramiko client instance\n  until close() method is called.\n\n- close() method allows to close paramiko client socket and\n  release resources.\n\n- execute_script() spawn a script interpreter (Bash by default) on\n  a remote machinge to execute a script provided as a string.\n  For convenience by default it combines STDOUT and STDERR to LOG\n  an human friendly message when the script fails.\n\nChange-Id: I3a70131f03aea342c8e8a04038000bd974cca921\n"
    },
    {
      "commit": "90a7ee18b616b93a325362d77264613e8bcf0fa3",
      "tree": "6d231ce17c03172077b32885096560a3a920e2c5",
      "parents": [
        "155164646d7dd68b00273bf7cf1027a77a534cd0"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Wed Jun 06 12:09:55 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Thu Aug 16 06:11:54 2018 +0000"
      },
      "message": "Add test tools for executing socat on guest images.\n\nAdd socat helper module to execute socat via SSH in\ntest cases that require a more advanced tool than nc\n(like for example multicast test).\n\nChange-Id: I1a21d082422afaec37c24814cc4caebacb790874\n"
    },
    {
      "commit": "e9c89bf0acfeb1115b9b63ea08f135c503f76971",
      "tree": "164da4e8aa09008f3f735689fc999ea1cea5c3db",
      "parents": [
        "5fece0e41f957f7eba4f8a98d86bab2904c0f3e8"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Thu Apr 19 13:02:33 2018 +0200"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "fressi@redhat.com",
        "time": "Tue Jul 10 06:24:13 2018 +0000"
      },
      "message": "Allow to connect to SSH server using an intermediate SSH server\n\nFor debugging purposes it could be handy to execute tests\non your workstation and connect test instances via SSH passing\nthrow an intermediate SSH server.\n\nThis allow to configure in tempest.conf an intermediate\nSSH client connection to be used from tests to create SSH\nconnections to VMs.\n\nExample of configuration in tempest.conf:\n\n  [neutron_plugin_options]\n  ssh_proxy_jump_host \u003d some.ssh.server\n  ssh_proxy_jump_username \u003d root\n  # ssh_proxy_jump_password \u003d # better using keys\n  proxy_jump_keyfile \u003d ~/.ssh/id_rsa\n  proxy_jump_port \u003d 22\n\nChange-Id: Icae73c2cddbdcd8da2b4cdb07a7027791642c6a8\n"
    },
    {
      "commit": "33ef4607ffd0765627e50be4688b4b39441650b0",
      "tree": "94674f4ce5793cc59e569371fe024e23fafc8c96",
      "parents": [
        "02a5e2b07680d8c4dd69d681ae9a01d92b4be0ac"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Thu Apr 26 14:37:49 2018 -0400"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Wed May 02 11:51:17 2018 -0400"
      },
      "message": "Fix some pep8 errors, update tox.ini\n\nFixed E731, W503 and I201 pep8 errors.\n\nAdded flake8-import-order to test-requirements.txt to avoid\nan \"unknown option \u0027import-order-style\u0027 ignored\" warning.\n\nRemoved {posargs} from flake8 invocation so it can be called\nsuch as \u0027tox -e pep8 HEAD~1\u0027 in order to only run on files\nchanged in the top commit.\n\nRemoved py34, py27 and pypy from the tox.ini envlist since\nthere are no unit tests, and tox reports it skipped all tests.\n\nChange-Id: I574cafe074befa59aaee44b092b011e27f5f4211\n"
    },
    {
      "commit": "e5afab788ca81024f7dde4749ec7ccf64de516fe",
      "tree": "2be665bcae32410215fd101fdac730b059400159",
      "parents": [
        "cbbb1c5740c3771ab819cabed894001cebc0b269"
      ],
      "author": {
        "name": "Boden R",
        "email": "bodenvmw@gmail.com",
        "time": "Fri Jan 05 11:50:44 2018 -0700"
      },
      "committer": {
        "name": "Boden R",
        "email": "bodenvmw@gmail.com",
        "time": "Tue Feb 13 12:48:58 2018 -0700"
      },
      "message": "use EGRESS_DIRECTION and INGRESS_DIRECTION from neutron-lib\n\nThe EGRESS_DIRECTION and INGRESS_DIRECTION constants live in neutron-lib\nnow and neutron is going to consume them in\nI1b81f5c3de9e6f2c0967c2db23ddb716ee7ec6b9\n\nThis patch removes the EGRESS_DIRECTION, INGRESS_DIRECTION and\nVALID_DIRECTIONS constants from common.constants as they are already\ndefined and use from neutron-lib.\n\nChange-Id: I52841ecd716f6dbf87fc4c5543d68ba378edbeea\n"
    },
    {
      "commit": "ba80045aabbdf5bbf66e39ed5aecad72eb3d86ef",
      "tree": "6522b693d0194690b1ab243219b227d5829d5a16",
      "parents": [
        "698332f7c4280d042918089518e49785e9d35eb8"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Thu Dec 14 10:30:48 2017 -0500"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "bhaley@redhat.com",
        "time": "Thu Dec 14 11:14:32 2017 -0500"
      },
      "message": "Add decorator to mark unstable tests\n\nAs is done in the neutron repo, add a decorator to mark\ntests as unstable so that we can work in parallel on\nfixing them while having the job pass.\n\nMark the DVR east-west tests as unstable to prove it works.\n\nChange-Id: I15fcdcba681d40c96f9f79aaa21881bc45fe3066\nRelated-bug: #1717302\n"
    },
    {
      "commit": "c125fd1479f3d8c967138eccabce3109eb12f0e2",
      "tree": "fced8596fec5be2981ec52562e89db9bf1827144",
      "parents": [
        "db9cc26f02ad204fb64777ca5c13392fa893eeae"
      ],
      "author": {
        "name": "Chandan Kumar",
        "email": "chkumar@redhat.com",
        "time": "Wed Nov 15 19:41:01 2017 +0530"
      },
      "committer": {
        "name": "Chandan Kumar",
        "email": "chkumar@redhat.com",
        "time": "Wed Nov 15 23:00:13 2017 +0530"
      },
      "message": "Code Sync from neutron project to newly created neutron-tempest-plugin\n\n* The following commit sync the code from following hash:\n  start_hash: 7279aa35851110a4933a10b58b2758a2bc3933a3\n  end_hash: 6e911a49a9e630878f4c46f61fde3964be550880\n\nChange-Id: I371aa4d5f043f695df04b98b0f485c8f0548f2b3\n"
    },
    {
      "commit": "667d3d32601fe5b0ffc7454f8af4fd4c93aa584f",
      "tree": "8302067494cb2b6bed537f877bb687027a21c973",
      "parents": [
        "5e6198734b88b62d5b7c8e1e868af9e38fec4103"
      ],
      "author": {
        "name": "Chandan Kumar",
        "email": "chkumar@redhat.com",
        "time": "Fri Sep 22 12:24:06 2017 +0530"
      },
      "committer": {
        "name": "Chandan Kumar",
        "email": "chkumar@redhat.com",
        "time": "Mon Nov 13 09:19:11 2017 +0530"
      },
      "message": "Refactored Neutron tempest plugin directory structure\n\n* switch from neutron.tests.tempest to neutron_tempest_plugin\n* Cleaned up README.rst and setup.cfg\n* Use neutron_tempest_plugin as a tempest plugin package\n* Fixed gitreview\n* Keeping flake8 Ignores in tox.ini as tempest plugin is\n  imported from neutron codebase.\n\nChange-Id: I42d389836e72813fdeebc797a577f4a8ac2ee603\n"
    }
  ]
}
