)]}'
{"rally-jobs/self-rally.yaml":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fb01e829345fb0fffe12193fca104c4f4ce26275","unresolved":false,"context_lines":[{"line_number":425,"context_line":"            times: 1000"},{"line_number":426,"context_line":"            concurrency: 10"},{"line_number":427,"context_line":"          sla:"},{"line_number":428,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":429,"context_line":"              generate_100_names: 0.05"},{"line_number":430,"context_line":"            failure_rate:"},{"line_number":431,"context_line":"              max: 0"},{"line_number":432,"context_line":"        -"},{"line_number":433,"context_line":"          name: RallyProfile.generate_names_in_atomic"},{"line_number":434,"context_line":"          args:"},{"line_number":435,"context_line":"            number_of_names: 1000"},{"line_number":436,"context_line":"          runner:"},{"line_number":437,"context_line":"            type: \"constant\""},{"line_number":438,"context_line":"            times: 500"},{"line_number":439,"context_line":"            concurrency: 10"},{"line_number":440,"context_line":"          sla:"},{"line_number":441,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":442,"context_line":"              generate_1000_names: 0.5"},{"line_number":443,"context_line":"            failure_rate:"},{"line_number":444,"context_line":"              max: 0"},{"line_number":445,"context_line":"        -"},{"line_number":446,"context_line":"          name: RallyProfile.generate_names_in_atomic"},{"line_number":447,"context_line":"          args:"},{"line_number":448,"context_line":"            number_of_names: 10000"},{"line_number":449,"context_line":"          runner:"},{"line_number":450,"context_line":"            type: \"constant\""},{"line_number":451,"context_line":"            times: 200"},{"line_number":452,"context_line":"            concurrency: 10"},{"line_number":453,"context_line":"          sla:"},{"line_number":454,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":455,"context_line":"              generate_10000_names: 2"},{"line_number":456,"context_line":"            failure_rate:"},{"line_number":457,"context_line":"              max: 0"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    -"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f231b9d_dc7205e4","line":456,"range":{"start_line":428,"start_character":8,"end_line":456,"end_character":25},"updated":"2017-06-09 17:04:37.000000000","message":"our gates become stable again, please leave values as they were.","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":425,"context_line":"            times: 1000"},{"line_number":426,"context_line":"            concurrency: 10"},{"line_number":427,"context_line":"          sla:"},{"line_number":428,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":429,"context_line":"              generate_100_names: 0.05"},{"line_number":430,"context_line":"            failure_rate:"},{"line_number":431,"context_line":"              max: 0"},{"line_number":432,"context_line":"        -"},{"line_number":433,"context_line":"          name: RallyProfile.generate_names_in_atomic"},{"line_number":434,"context_line":"          args:"},{"line_number":435,"context_line":"            number_of_names: 1000"},{"line_number":436,"context_line":"          runner:"},{"line_number":437,"context_line":"            type: \"constant\""},{"line_number":438,"context_line":"            times: 500"},{"line_number":439,"context_line":"            concurrency: 10"},{"line_number":440,"context_line":"          sla:"},{"line_number":441,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":442,"context_line":"              generate_1000_names: 0.5"},{"line_number":443,"context_line":"            failure_rate:"},{"line_number":444,"context_line":"              max: 0"},{"line_number":445,"context_line":"        -"},{"line_number":446,"context_line":"          name: RallyProfile.generate_names_in_atomic"},{"line_number":447,"context_line":"          args:"},{"line_number":448,"context_line":"            number_of_names: 10000"},{"line_number":449,"context_line":"          runner:"},{"line_number":450,"context_line":"            type: \"constant\""},{"line_number":451,"context_line":"            times: 200"},{"line_number":452,"context_line":"            concurrency: 10"},{"line_number":453,"context_line":"          sla:"},{"line_number":454,"context_line":"            max_avg_duration_per_atomic:"},{"line_number":455,"context_line":"              generate_10000_names: 2"},{"line_number":456,"context_line":"            failure_rate:"},{"line_number":457,"context_line":"              max: 0"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    -"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f231b9d_25f798f8","line":456,"range":{"start_line":428,"start_character":8,"end_line":456,"end_character":25},"in_reply_to":"7f231b9d_dc7205e4","updated":"2017-06-09 20:38:01.000000000","message":"Done","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"}],"rally/deployment/engines/existing.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fb01e829345fb0fffe12193fca104c4f4ce26275","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \"https_insecure\": {\"type\": \"boolean\"},"},{"line_number":154,"context_line":"            \"https_cacert\": {\"type\": \"string\"},"},{"line_number":155,"context_line":"            \"admin\": USER_SCHEMA,"},{"line_number":156,"context_line":"            \"users\": {\"type\": \"array\", \"items\": USER_SCHEMA},"},{"line_number":157,"context_line":"            \"extra\": {\"type\": \"object\", \"additionalProperties\": True}"},{"line_number":158,"context_line":"        },"},{"line_number":159,"context_line":"        \"required\": [\"type\", \"auth_url\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_5c99551d","line":156,"range":{"start_line":156,"start_character":22,"end_line":156,"end_character":59},"updated":"2017-06-09 17:04:37.000000000","message":"please, set minItems to 1.","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \"https_insecure\": {\"type\": \"boolean\"},"},{"line_number":154,"context_line":"            \"https_cacert\": {\"type\": \"string\"},"},{"line_number":155,"context_line":"            \"admin\": USER_SCHEMA,"},{"line_number":156,"context_line":"            \"users\": {\"type\": \"array\", \"items\": USER_SCHEMA},"},{"line_number":157,"context_line":"            \"extra\": {\"type\": \"object\", \"additionalProperties\": True}"},{"line_number":158,"context_line":"        },"},{"line_number":159,"context_line":"        \"required\": [\"type\", \"auth_url\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_c55344e2","line":156,"range":{"start_line":156,"start_character":22,"end_line":156,"end_character":59},"in_reply_to":"7f231b9d_5c99551d","updated":"2017-06-09 20:38:01.000000000","message":"Done","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fb01e829345fb0fffe12193fca104c4f4ce26275","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            \"users\": {\"type\": \"array\", \"items\": USER_SCHEMA},"},{"line_number":157,"context_line":"            \"extra\": {\"type\": \"object\", \"additionalProperties\": True}"},{"line_number":158,"context_line":"        },"},{"line_number":159,"context_line":"        \"required\": [\"type\", \"auth_url\"],"},{"line_number":160,"context_line":"        \"additionalProperties\": False"},{"line_number":161,"context_line":"    }"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_3ce9f97f","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":41},"updated":"2017-06-09 17:04:37.000000000","message":"It can lead to the case when no users no admin is specified.\n\nit should be something like:\n\n   \"oneOf\": [{\"required\": [\"type\", \"auth_url\", \"admin\"]},\n             {\"required\": [\"type\", \"auth_url\", \"users\"]},]","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            \"users\": {\"type\": \"array\", \"items\": USER_SCHEMA},"},{"line_number":157,"context_line":"            \"extra\": {\"type\": \"object\", \"additionalProperties\": True}"},{"line_number":158,"context_line":"        },"},{"line_number":159,"context_line":"        \"required\": [\"type\", \"auth_url\"],"},{"line_number":160,"context_line":"        \"additionalProperties\": False"},{"line_number":161,"context_line":"    }"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_a55048d6","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":41},"in_reply_to":"7f231b9d_3ce9f97f","updated":"2017-06-09 20:38:01.000000000","message":"Done","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"}],"rally/plugins/openstack/credential.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fb01e829345fb0fffe12193fca104c4f4ce26275","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \"https_insecure\": {\"type\": \"boolean\"},"},{"line_number":154,"context_line":"            \"https_cacert\": {\"type\": \"string\"},"},{"line_number":155,"context_line":"        },"},{"line_number":156,"context_line":"        \"required\": [\"auth_url\"],"},{"line_number":157,"context_line":"        \"additionalProperties\": False"},{"line_number":158,"context_line":"    }"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_fc8701b6","line":156,"range":{"start_line":156,"start_character":7,"end_line":156,"end_character":33},"updated":"2017-06-09 17:04:37.000000000","message":"see my comment to rally/deployment/engines/existing.py","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \"https_insecure\": {\"type\": \"boolean\"},"},{"line_number":154,"context_line":"            \"https_cacert\": {\"type\": \"string\"},"},{"line_number":155,"context_line":"        },"},{"line_number":156,"context_line":"        \"required\": [\"auth_url\"],"},{"line_number":157,"context_line":"        \"additionalProperties\": False"},{"line_number":158,"context_line":"    }"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_45aa9485","line":156,"range":{"start_line":156,"start_character":7,"end_line":156,"end_character":33},"in_reply_to":"7f231b9d_fc8701b6","updated":"2017-06-09 20:38:01.000000000","message":"Done","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        users \u003d [self._create_credential(self.config, user, permissions.USER)"},{"line_number":181,"context_line":"                 for user in self.config.get(\"users\", [])]"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        admin_conf \u003d self.config.get(\"admin\")"},{"line_number":184,"context_line":"        admin \u003d None"},{"line_number":185,"context_line":"        if admin_conf:"},{"line_number":186,"context_line":"            admin \u003d self._create_credential(self.config,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_85bb0ce4","line":183,"updated":"2017-06-09 20:38:01.000000000","message":"I\u0027ll remove this line and put in 185 line check, we really don\u0027t need to put it in variable","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"}],"rally/plugins/openstack/validators.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fb01e829345fb0fffe12193fca104c4f4ce26275","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    def validate(self, config, credentials, plugin_cls, plugin_cfg):"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        available_services \u003d []"},{"line_number":375,"context_line":"        if \"admin\" in credentials[\"openstack\"] and \\"},{"line_number":376,"context_line":"                credentials[\"openstack\"][\"admin\"] is not None:"},{"line_number":377,"context_line":"            clients \u003d credentials[\"openstack\"][\"admin\"].clients()"},{"line_number":378,"context_line":"            available_services +\u003d list(clients.services().values())"},{"line_number":379,"context_line":"        else:"},{"line_number":380,"context_line":"            # no admin creds available, listing services is not possible"},{"line_number":381,"context_line":"            # let\u0027s try anyway, it will fail later if service unavailable"},{"line_number":382,"context_line":"            return"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        if consts.Service.NOVA_NET in self.services:"},{"line_number":385,"context_line":"            LOG.warning(\"We are sorry, but Nova-network was deprecated for \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_5c671527","line":382,"range":{"start_line":375,"start_character":8,"end_line":382,"end_character":18},"updated":"2017-06-09 17:04:37.000000000","message":"actually, services should work from user too, so it is better to use it instead of expecting that another validator will fail:\n\nif credentials[\"openstack\"].get(\"users\"):\n     # we have users, let\u0027s use them\n     clients \u003d credentials[\"openstack][\"users\"][0].clients()\nelse:\n     clients \u003d credentials[\"openstack\"][\"admin\"].clients()","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"4887dd94db1012021857b4479951592dfcef5d6c","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    def validate(self, config, credentials, plugin_cls, plugin_cfg):"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        available_services \u003d []"},{"line_number":375,"context_line":"        if \"admin\" in credentials[\"openstack\"] and \\"},{"line_number":376,"context_line":"                credentials[\"openstack\"][\"admin\"] is not None:"},{"line_number":377,"context_line":"            clients \u003d credentials[\"openstack\"][\"admin\"].clients()"},{"line_number":378,"context_line":"            available_services +\u003d list(clients.services().values())"},{"line_number":379,"context_line":"        else:"},{"line_number":380,"context_line":"            # no admin creds available, listing services is not possible"},{"line_number":381,"context_line":"            # let\u0027s try anyway, it will fail later if service unavailable"},{"line_number":382,"context_line":"            return"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        if consts.Service.NOVA_NET in self.services:"},{"line_number":385,"context_line":"            LOG.warning(\"We are sorry, but Nova-network was deprecated for \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_d01ae415","line":382,"range":{"start_line":375,"start_character":8,"end_line":382,"end_character":18},"in_reply_to":"7f231b9d_5c671527","updated":"2017-06-09 20:38:01.000000000","message":"Done","commit_id":"16611e681c1bcd6ec6de6e42b0e2c883c18864e9"}]}
