)]}'
{"climateclient/command.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"6aeec7614a45e533b186239a5a88fd93c74038f8","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    api \u003d \u0027reservation\u0027"},{"line_number":129,"context_line":"    resource \u003d None"},{"line_number":130,"context_line":"    log \u003d None"},{"line_number":131,"context_line":"    allow_names \u003d True"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def get_parser(self, prog_name):"},{"line_number":134,"context_line":"        parser \u003d super(UpdateCommand, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FRNs%3D","line":131,"updated":"2014-01-15 16:52:31.000000000","message":"As I see in https://review.openstack.org/#/c/66563/4/climateclient/v1/shell_commands/hosts.py - line 104 - you are using allow_names param in DeleteCommand too. If so, move it to ClimateCommand class, please :)","commit_id":"f861a83cf1b947e56447b275b274cf8c8a191148"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f3eb5042a1d5727538ed241490170e01baee2fa1","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    api \u003d \u0027reservation\u0027"},{"line_number":129,"context_line":"    resource \u003d None"},{"line_number":130,"context_line":"    log \u003d None"},{"line_number":131,"context_line":"    allow_names \u003d True"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def get_parser(self, prog_name):"},{"line_number":134,"context_line":"        parser \u003d super(UpdateCommand, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FL9Q%3D","line":131,"in_reply_to":"AAAAUH%2F%2FRNs%3D","updated":"2014-01-16 16:32:49.000000000","message":"Done","commit_id":"f861a83cf1b947e56447b275b274cf8c8a191148"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"4b3fd70b8230448aba30a6cf00e5e93e16ce47c8","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def format_output_data(self, data):"},{"line_number":86,"context_line":"        for k, v in six.iteritems(data):"},{"line_number":87,"context_line":"            if isinstance(v, basestring):"},{"line_number":88,"context_line":"                try:"},{"line_number":89,"context_line":"                    # Deserialize if possible into dict, lists, tuples..."},{"line_number":90,"context_line":"                    v \u003d ast.literal_eval(v)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2FG1c%3D","line":87,"updated":"2014-01-17 11:33:48.000000000","message":"u should use here not basestring, but six.text_type","commit_id":"da8071b5eb6e48f9b29185468666178dace0de90"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"90364f2b47160e854d4e4f86d818eeccf6fecbd5","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def format_output_data(self, data):"},{"line_number":86,"context_line":"        for k, v in six.iteritems(data):"},{"line_number":87,"context_line":"            if isinstance(v, basestring):"},{"line_number":88,"context_line":"                try:"},{"line_number":89,"context_line":"                    # Deserialize if possible into dict, lists, tuples..."},{"line_number":90,"context_line":"                    v \u003d ast.literal_eval(v)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2FGvU%3D","line":87,"in_reply_to":"AAAAUH%2F%2FG1c%3D","updated":"2014-01-17 11:49:14.000000000","message":"Done","commit_id":"da8071b5eb6e48f9b29185468666178dace0de90"}],"climateclient/v1/shell_commands/hosts.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"dc8568c1daac1dd65c377dba5605421c1775fa8a","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class CreateHost(command.CreateCommand):"},{"line_number":38,"context_line":"    resource \u003d \u0027host\u0027"},{"line_number":39,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.CreateHost\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def get_parser(self, prog_name):"},{"line_number":42,"context_line":"        parser \u003d super(CreateHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FHrs%3D","line":39,"updated":"2014-01-17 08:43:14.000000000","message":"https://github.com/stackforge/python-climateclient/blob/master/climateclient/v1/shell_commands/leases.py#L30 - please add here json_indent \u003d 4 for more readability","commit_id":"89aa2f1cf69f39422babee2784268db4ae9c1276"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"29e4690ae862d41a3e3eccff7a0891e90519ad48","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class CreateHost(command.CreateCommand):"},{"line_number":38,"context_line":"    resource \u003d \u0027host\u0027"},{"line_number":39,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.CreateHost\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def get_parser(self, prog_name):"},{"line_number":42,"context_line":"        parser \u003d super(CreateHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FHbE%3D","line":39,"in_reply_to":"AAAAUH%2F%2FHl0%3D","updated":"2014-01-17 09:37:21.000000000","message":"Mmm, I changed my mind :) Fix that just in client :) It will be much quicker and won\u0027t influence on Climate code.","commit_id":"89aa2f1cf69f39422babee2784268db4ae9c1276"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"0a1856b038353d3d11502f8e16c28c305a3ddedb","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class CreateHost(command.CreateCommand):"},{"line_number":38,"context_line":"    resource \u003d \u0027host\u0027"},{"line_number":39,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.CreateHost\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def get_parser(self, prog_name):"},{"line_number":42,"context_line":"        parser \u003d super(CreateHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FHl0%3D","line":39,"in_reply_to":"AAAAUH%2F%2FHrs%3D","updated":"2014-01-17 08:59:52.000000000","message":"Also, that won\u0027t work so simple. You already have this line in ShowHost and that\u0027s not working :) That\u0027s because here https://github.com/stackforge/python-climateclient/blob/master/climateclient/command.py#L91 formatter is waiting for dict, and you got JSON string itself for \u0027cpu_info\u0027. That is because if we are working with lease, we finally get info from DB API that\u0027s working with SQLalchemy - my lease show/create long line stuff already had dict format, I just needed to format it. You need (I propose doing that in Climate code) transform json params to dict. I\u0027m pretty sure that here \n\nhttps://github.com/stackforge/climate/blob/master/climate/plugins/oshosts/reservation_pool.py#L146\n\nu have json string in agg for cpu_info param.","commit_id":"89aa2f1cf69f39422babee2784268db4ae9c1276"}]}
