)]}'
{"novaclient/v1_1/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5ca9f74a35942e073ce30c73b1f18a050ca15c12","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    boot_kwargs.update(extra_boot_kwargs)"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":427,"context_line":"    _print_server(cs, args, server)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    if args.poll:"},{"line_number":430,"context_line":"        _poll_for_status(cs.servers.get, info[\u0027id\u0027], \u0027building\u0027, [\u0027active\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FvHw%3D","line":427,"updated":"2014-01-02 17:05:35.000000000","message":"So, I like this overall; it represents a small change in output, but now it\u0027s all printed where it\u0027s supposed to be.  The only problem I have is the elimination of the cs.servers.get() step, which can\u0027t easily be added back in and is probably why the output was coded directly into do_boot() instead of performing this refactoring earlier.  However, it may not actually be a problem, as I believe modern nova actually returns the same information for both \"boot\" and \"get\", with the exception of ephemeral data such as adminPass.  Still, we should probably confirm that the cs.servers.get() is actually no longer necessary…","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8bcd4d3f9ce76c168fea9ed2f36ca31ce30a97ce","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    boot_kwargs.update(extra_boot_kwargs)"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":427,"context_line":"    _print_server(cs, args, server)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    if args.poll:"},{"line_number":430,"context_line":"        _poll_for_status(cs.servers.get, info[\u0027id\u0027], \u0027building\u0027, [\u0027active\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fse8%3D","line":427,"in_reply_to":"AAAAT3%2F%2FvHw%3D","updated":"2014-01-03 10:17:43.000000000","message":"Actually if we look on nova; \"boot\" and \"get\" returns different outputs.\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/views/servers.py (methods: create and show)\n\nBut, the server\u0027s object  is already defined with good properties. If we use \"cs.servers.get()\" We will miss some properties: \"adminpass\" and \"security_groups\" and if we merge the return of \"cs.servers.get()\" with the server\u0027s object that will add nothing.\n\nIt looks the workaround I have implemented works well.","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5ca9f74a35942e073ce30c73b1f18a050ca15c12","unresolved":false,"context_lines":[{"line_number":1442,"context_line":"    if not server:"},{"line_number":1443,"context_line":"        server \u003d _find_server(cs, args.server)"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"    minimal \u003d bool(getattr(args, \"minimal\", False))"},{"line_number":1446,"context_line":""},{"line_number":1447,"context_line":"    networks \u003d server.networks"},{"line_number":1448,"context_line":"    info \u003d server._info.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FvJk%3D","line":1445,"updated":"2014-01-02 17:05:35.000000000","message":"Why the cast to bool()?  In every function which has a --minimal argument defined, it is already a boolean and uses a \"store_true\" action, and your default is also a boolean.","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8bcd4d3f9ce76c168fea9ed2f36ca31ce30a97ce","unresolved":false,"context_lines":[{"line_number":1442,"context_line":"    if not server:"},{"line_number":1443,"context_line":"        server \u003d _find_server(cs, args.server)"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"    minimal \u003d bool(getattr(args, \"minimal\", False))"},{"line_number":1446,"context_line":""},{"line_number":1447,"context_line":"    networks \u003d server.networks"},{"line_number":1448,"context_line":"    info \u003d server._info.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FsyU%3D","line":1445,"in_reply_to":"AAAAT3%2F%2FvJk%3D","updated":"2014-01-03 10:17:43.000000000","message":"You completely right.","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5ca9f74a35942e073ce30c73b1f18a050ca15c12","unresolved":false,"context_lines":[{"line_number":1482,"context_line":""},{"line_number":1483,"context_line":""},{"line_number":1484,"context_line":"@utils.arg(\u0027--minimal\u0027,"},{"line_number":1485,"context_line":"           dest\u003d\u0027minimal\u0027,"},{"line_number":1486,"context_line":"           action\u003d\"store_true\","},{"line_number":1487,"context_line":"           default\u003dFalse,"},{"line_number":1488,"context_line":"           help\u003d\u0027Skips flavor/image lookups when showing servers\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FvJQ%3D","line":1485,"updated":"2014-01-02 17:05:35.000000000","message":"Why the change in indentation?  Not that I\u0027m complaining—I prefer this indentation—but it is not directly related to your patch…","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8bcd4d3f9ce76c168fea9ed2f36ca31ce30a97ce","unresolved":false,"context_lines":[{"line_number":1482,"context_line":""},{"line_number":1483,"context_line":""},{"line_number":1484,"context_line":"@utils.arg(\u0027--minimal\u0027,"},{"line_number":1485,"context_line":"           dest\u003d\u0027minimal\u0027,"},{"line_number":1486,"context_line":"           action\u003d\"store_true\","},{"line_number":1487,"context_line":"           default\u003dFalse,"},{"line_number":1488,"context_line":"           help\u003d\u0027Skips flavor/image lookups when showing servers\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FsyM%3D","line":1485,"in_reply_to":"AAAAT3%2F%2FvJQ%3D","updated":"2014-01-03 10:17:43.000000000","message":"Yes, is not the point of the patch, sorry.","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"6716c39f0cc78a495487716ad26f1ac667eb456a","unresolved":false,"context_lines":[{"line_number":1490,"context_line":"      dest\u003d\u0027minimal\u0027,"},{"line_number":1491,"context_line":"      action\u003d\"store_true\","},{"line_number":1492,"context_line":"      default\u003dFalse,"},{"line_number":1493,"context_line":"      help\u003d\u0027Skips flavor/image lookups when showing servers\u0027)"},{"line_number":1494,"context_line":"@utils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d\u0027Name or ID of server.\u0027)"},{"line_number":1495,"context_line":"def do_show(cs, args):"},{"line_number":1496,"context_line":"    \"\"\"Show details about the given server.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAT3%2F%2FraU%3D","line":1493,"updated":"2014-01-03 16:39:11.000000000","message":"Well, the indentation here still differs from the original :)","commit_id":"e88973f1465bbd848c20217096a3ed4a14249b7e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"7fcfefcbcbe962532b03bdcd711deb883111808a","unresolved":false,"context_lines":[{"line_number":1490,"context_line":"      dest\u003d\u0027minimal\u0027,"},{"line_number":1491,"context_line":"      action\u003d\"store_true\","},{"line_number":1492,"context_line":"      default\u003dFalse,"},{"line_number":1493,"context_line":"      help\u003d\u0027Skips flavor/image lookups when showing servers\u0027)"},{"line_number":1494,"context_line":"@utils.arg(\u0027server\u0027, metavar\u003d\u0027\u003cserver\u003e\u0027, help\u003d\u0027Name or ID of server.\u0027)"},{"line_number":1495,"context_line":"def do_show(cs, args):"},{"line_number":1496,"context_line":"    \"\"\"Show details about the given server.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAT3%2F%2FrWY%3D","line":1493,"in_reply_to":"AAAAT3%2F%2FraU%3D","updated":"2014-01-03 16:58:42.000000000","message":"grrr...","commit_id":"e88973f1465bbd848c20217096a3ed4a14249b7e"}],"novaclient/v3/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5ca9f74a35942e073ce30c73b1f18a050ca15c12","unresolved":false,"context_lines":[{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":"    flavor \u003d info.get(\u0027flavor\u0027, {})"},{"line_number":1292,"context_line":"    flavor_id \u003d flavor.get(\u0027id\u0027, \u0027\u0027)"},{"line_number":1293,"context_line":"    if \"minimal\" in args:"},{"line_number":1294,"context_line":"        info[\u0027flavor\u0027] \u003d flavor_id"},{"line_number":1295,"context_line":"    else:"},{"line_number":1296,"context_line":"        info[\u0027flavor\u0027] \u003d \u0027%s (%s)\u0027 % (_find_flavor(cs, flavor_id).name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FvHU%3D","line":1293,"updated":"2014-01-02 17:05:35.000000000","message":"Um?  Why is this logic different than in the v1_1 version?","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8bcd4d3f9ce76c168fea9ed2f36ca31ce30a97ce","unresolved":false,"context_lines":[{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":"    flavor \u003d info.get(\u0027flavor\u0027, {})"},{"line_number":1292,"context_line":"    flavor_id \u003d flavor.get(\u0027id\u0027, \u0027\u0027)"},{"line_number":1293,"context_line":"    if \"minimal\" in args:"},{"line_number":1294,"context_line":"        info[\u0027flavor\u0027] \u003d flavor_id"},{"line_number":1295,"context_line":"    else:"},{"line_number":1296,"context_line":"        info[\u0027flavor\u0027] \u003d \u0027%s (%s)\u0027 % (_find_flavor(cs, flavor_id).name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fsxw%3D","line":1293,"in_reply_to":"AAAAT3%2F%2FvHU%3D","updated":"2014-01-03 10:17:43.000000000","message":"My mistake... sorry for that.","commit_id":"1703b7c495fb6cbb3d075a42ce6b78fc8431488d"}]}
