)]}'
{"rally/plugins/openstack/validators.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"66ed3412613714803811c8de19d56204892a8607","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def validate(self, config, credentials, plugin_cls, plugin_cfg):"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        clients \u003d credentials[\"openstack\"][\"admin\"].clients()"},{"line_number":40,"context_line":"        available_services \u003d list(clients.services().values())"},{"line_number":41,"context_line":"        if consts.Service.NOVA_NET in self.required_services:"},{"line_number":42,"context_line":"            nova \u003d credentials[\"openstack\"][\"admin\"].clients().nova()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_3b9ed3b8","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":61},"updated":"2017-04-21 12:08:08.000000000","message":"it should use the regular user if it presents:\n\n    if credentials[\"openstack\"][\"users\"]:\n        clients \u003d credentials[\"openstack\"][\"users\"][0].clients()\n    else:\n        clients \u003d credentials[\"openstack\"][\"admin\"].clients()","commit_id":"2c89cf175667576bc2a534a2c30172607381d9a5"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"66ed3412613714803811c8de19d56204892a8607","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        clients \u003d credentials[\"openstack\"][\"admin\"].clients()"},{"line_number":40,"context_line":"        available_services \u003d list(clients.services().values())"},{"line_number":41,"context_line":"        if consts.Service.NOVA_NET in self.required_services:"},{"line_number":42,"context_line":"            nova \u003d credentials[\"openstack\"][\"admin\"].clients().nova()"},{"line_number":43,"context_line":"            for service in nova.services.list():"},{"line_number":44,"context_line":"                if (service.binary \u003d\u003d consts.Service.NOVA_NET and"},{"line_number":45,"context_line":"                        service.status \u003d\u003d \"enabled\"):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_1ba1d7f8","line":42,"range":{"start_line":42,"start_character":19,"end_line":42,"end_character":62},"updated":"2017-04-21 12:08:08.000000000","message":"use `clients` var here","commit_id":"2c89cf175667576bc2a534a2c30172607381d9a5"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"52489ae439156149206323d646e00c13525b8c2f","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        clients \u003d credentials[\"openstack\"][\"users\"][0][\"credential\"].clients()"},{"line_number":320,"context_line":"        print(clients.nova().services.__dict__)"},{"line_number":321,"context_line":"        available_services \u003d list(clients.nova().services.list())"},{"line_number":322,"context_line":"        if consts.Service.NOVA_NET in self.services:"},{"line_number":323,"context_line":"            nova \u003d credentials[\"openstack\"][\"admin\"].clients().nova()"},{"line_number":324,"context_line":"            for service in nova.services.list():"},{"line_number":325,"context_line":"                if (service.binary \u003d\u003d consts.Service.NOVA_NET and"},{"line_number":326,"context_line":"                        service.status \u003d\u003d \"enabled\"):"},{"line_number":327,"context_line":"                    available_services.append(consts.Service.NOVA_NET)"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"        for service in self.services:"},{"line_number":330,"context_line":"            # NOTE(andreykurilin): validator should ignore services configured"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f044301_d9f8a6c5","line":327,"range":{"start_line":321,"start_character":8,"end_line":327,"end_character":70},"updated":"2017-05-05 09:23:29.000000000","message":"1) it looks like that thing works only for admin user, so L 321 crashes\n\n2) we abandoned an ability to be used with nova-net, so I think we can just remove this code and add a simple check:\n\n     if consts.Service.NOVA_NET in self.services:\n         LOG.warning(\"We are sorry, but Nova-network was deprecated for a long time and latest novaclient doesn\u0027t support it, so we too.\")","commit_id":"51e6ae71180af51987beedb3c5effcd6271ab943"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"291c51bb0f7989f6158994283dbe3b2f4bd45c3a","unresolved":false,"context_lines":[{"line_number":371,"context_line":"    def validate(self, config, credentials, plugin_cls, plugin_cfg):"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        clients \u003d credentials[\"openstack\"][\"admin\"].clients()"},{"line_number":374,"context_line":"        available_services \u003d list(clients.nova().services.values())"},{"line_number":375,"context_line":"        if consts.Service.NOVA_NET in self.services:"},{"line_number":376,"context_line":"            LOG.warning(\"We are sorry, but Nova-network was deprecated for \""},{"line_number":377,"context_line":"                        \"a long time and latest novaclient doesn\u0027t support \""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f044301_44ba026e","line":374,"range":{"start_line":374,"start_character":29,"end_line":374,"end_character":67},"updated":"2017-05-11 14:11:10.000000000","message":"it should be:\n\n    list(clients.services.values())","commit_id":"e89b7fbfaf75ed9b304450499cc9c71b9d4e70af"}]}
