)]}'
{"tempest/common/validation_resources.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"afff88bb4870c8aacbacd5542407d23e3622fac6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            LOG.debug(\"Validation resource key %s created\", keypair_name)"},{"line_number":79,"context_line":"        add_rule \u003d False"},{"line_number":80,"context_line":"        if validation_resources[\u0027security_group\u0027]:"},{"line_number":81,"context_line":"            if validation_resources[\u0027security_group_rules\u0027]:"},{"line_number":82,"context_line":"                add_rule \u003d True"},{"line_number":83,"context_line":"            validation_data[\u0027security_group\u0027] \u003d \\"},{"line_number":84,"context_line":"                create_ssh_security_group("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_46d14ffb","side":"PARENT","line":81,"range":{"start_line":81,"start_character":51,"end_line":81,"end_character":57},"updated":"2017-08-10 07:12:30.000000000","message":"why this change?","commit_id":"3666455168b3c2f70e6b7308f38fcf49b63c0e06"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"afff88bb4870c8aacbacd5542407d23e3622fac6","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    Create resources required to be able to ping / ssh a virtual machine:"},{"line_number":105,"context_line":"    keypair, security group, security group rules and a floating IP."},{"line_number":106,"context_line":"    Which resources are required may depend on the cloud setup and on the"},{"line_number":107,"context_line":"    specific test and it can be controlled via the validation_resources dict."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Provisioned resources are returned in a dictionary."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_860e178b","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":9},"updated":"2017-08-10 07:12:30.000000000","message":"\u0027What\u0027? maybe more than one","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"50a02c764a8a3895a1ad30935a69e7465d282a22","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    Create resources required to be able to ping / ssh a virtual machine:"},{"line_number":105,"context_line":"    keypair, security group, security group rules and a floating IP."},{"line_number":106,"context_line":"    Which resources are required may depend on the cloud setup and on the"},{"line_number":107,"context_line":"    specific test and it can be controlled via the validation_resources dict."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Provisioned resources are returned in a dictionary."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_42380d3c","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":9},"in_reply_to":"9f436f4f_860e178b","updated":"2017-08-10 15:43:27.000000000","message":"\u0027What\u0027 is when the set of choices is not defined, \u0027which\u0027 is when they are. In this case the set if defined.\nSo I still lean towards \u0027which\u0027 as a better option in this case.","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"afff88bb4870c8aacbacd5542407d23e3622fac6","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    specific test and it can be controlled via the validation_resources dict."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Provisioned resources are returned in a dictionary."},{"line_number":110,"context_line":"     to be attached to a VM using the nova or neutron"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    :param os: An instance of `tempest.lib.services.clients.ServiceClients` or"},{"line_number":113,"context_line":"        of a subclass of it. Resources are provisioned using clients from `os`."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_668693de","line":110,"range":{"start_line":110,"start_character":5,"end_line":110,"end_character":53},"updated":"2017-08-10 07:12:30.000000000","message":"this looks a bit strange","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"50a02c764a8a3895a1ad30935a69e7465d282a22","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    specific test and it can be controlled via the validation_resources dict."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Provisioned resources are returned in a dictionary."},{"line_number":110,"context_line":"     to be attached to a VM using the nova or neutron"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    :param os: An instance of `tempest.lib.services.clients.ServiceClients` or"},{"line_number":113,"context_line":"        of a subclass of it. Resources are provisioned using clients from `os`."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_e24821cd","line":110,"range":{"start_line":110,"start_character":5,"end_line":110,"end_character":53},"in_reply_to":"9f436f4f_668693de","updated":"2017-08-10 15:43:27.000000000","message":"Nice catch, thanks.","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"afff88bb4870c8aacbacd5542407d23e3622fac6","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    :param os: An instance of `tempest.lib.services.clients.ServiceClients` or"},{"line_number":113,"context_line":"        of a subclass of it. Resources are provisioned using clients from `os`."},{"line_number":114,"context_line":"    :param validation_resources: A dictionary that specifies which resources to"},{"line_number":115,"context_line":"        provision. Required keys are: \u0027keypair\u0027, \u0027security_group\u0027,"},{"line_number":116,"context_line":"        \u0027security_group_rules\u0027 and \u0027floating_ip\u0027."},{"line_number":117,"context_line":"    :param ethertype: \u0027IPv4\u0027 or \u0027IPv6\u0027. Honoured only in case neutron is used."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_26688b1f","line":114,"range":{"start_line":114,"start_character":61,"end_line":114,"end_character":66},"updated":"2017-08-10 07:12:30.000000000","message":"what?","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"afff88bb4870c8aacbacd5542407d23e3622fac6","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    Cleanup a set of resources provisioned via `create_validation_resources`."},{"line_number":190,"context_line":"    In case of errors during cleanup, the exception is logged and the cleanup"},{"line_number":191,"context_line":"    process is continued. The last exception that was raised is re-raised"},{"line_number":192,"context_line":"    after the cleanup is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    :param os: An instance of `tempest.lib.services.clients.ServiceClients` or"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_a666bb28","line":191,"range":{"start_line":191,"start_character":30,"end_line":191,"end_character":34},"updated":"2017-08-10 07:12:30.000000000","message":"first?","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"50a02c764a8a3895a1ad30935a69e7465d282a22","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    Cleanup a set of resources provisioned via `create_validation_resources`."},{"line_number":190,"context_line":"    In case of errors during cleanup, the exception is logged and the cleanup"},{"line_number":191,"context_line":"    process is continued. The last exception that was raised is re-raised"},{"line_number":192,"context_line":"    after the cleanup is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    :param os: An instance of `tempest.lib.services.clients.ServiceClients` or"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_6214314f","line":191,"range":{"start_line":191,"start_character":30,"end_line":191,"end_character":34},"in_reply_to":"9f436f4f_a666bb28","updated":"2017-08-10 15:43:27.000000000","message":"yeah, thanks","commit_id":"be3574efa64d580f7f758ff2b1e5a426ecfd13f9"}]}
