)]}'
{"nova/cmd/manage.py":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0297d8adbc1fb766019e71e576deb5b14ef2ed47","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"                host \u003d host.strip()"},{"line_number":1208,"context_line":"                broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1209,"context_line":"                transport_hosts.append(messaging.TransportHost("},{"line_number":1210,"context_line":"                                               hostname\u003dbroker_hostname,"},{"line_number":1211,"context_line":"                                               port\u003dint(broker_port),"},{"line_number":1212,"context_line":"                                               username\u003dusername,"},{"line_number":1213,"context_line":"                                               password\u003dpassword))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b747e651","line":1210,"updated":"2014-08-13 08:53:38.000000000","message":"Please fix the indentation","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"7abdddfbdecdd20e97aa3dafcfb76477e998dacc","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"                host \u003d host.strip()"},{"line_number":1208,"context_line":"                broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1209,"context_line":"                transport_hosts.append(messaging.TransportHost("},{"line_number":1210,"context_line":"                                               hostname\u003dbroker_hostname,"},{"line_number":1211,"context_line":"                                               port\u003dint(broker_port),"},{"line_number":1212,"context_line":"                                               username\u003dusername,"},{"line_number":1213,"context_line":"                                               password\u003dpassword))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_88e1e32d","line":1210,"in_reply_to":"baada198_b747e651","updated":"2014-08-13 10:06:51.000000000","message":"Done","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0297d8adbc1fb766019e71e576deb5b14ef2ed47","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"                                               password\u003dpassword))"},{"line_number":1214,"context_line":"        else:"},{"line_number":1215,"context_line":"            transport_hosts.append(messaging.TransportHost(hostname\u003dhostname,"},{"line_number":1216,"context_line":"                                                 port\u003dint(port),"},{"line_number":1217,"context_line":"                                                 username\u003dusername,"},{"line_number":1218,"context_line":"                                                 password\u003dpassword))"},{"line_number":1219,"context_line":"        return transport_hosts"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_1757b202","line":1216,"updated":"2014-08-13 08:53:38.000000000","message":"ditto","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"7abdddfbdecdd20e97aa3dafcfb76477e998dacc","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"                                               password\u003dpassword))"},{"line_number":1214,"context_line":"        else:"},{"line_number":1215,"context_line":"            transport_hosts.append(messaging.TransportHost(hostname\u003dhostname,"},{"line_number":1216,"context_line":"                                                 port\u003dint(port),"},{"line_number":1217,"context_line":"                                                 username\u003dusername,"},{"line_number":1218,"context_line":"                                                 password\u003dpassword))"},{"line_number":1219,"context_line":"        return transport_hosts"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_68d48f4b","line":1216,"in_reply_to":"baada198_1757b202","updated":"2014-08-13 10:06:51.000000000","message":"Done","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0297d8adbc1fb766019e71e576deb5b14ef2ed47","unresolved":false,"context_lines":[{"line_number":1248,"context_line":"        # Set up the transport URL"},{"line_number":1249,"context_line":"        transport_hosts \u003d self._create_transport_hosts(username, password,"},{"line_number":1250,"context_line":"                                                   broker_hosts, hostname,"},{"line_number":1251,"context_line":"                                                   port)"},{"line_number":1252,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1253,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1254,"context_line":"        transport_url.virtual_host \u003d virtual_host"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_57384acb","line":1251,"updated":"2014-08-13 08:53:38.000000000","message":"ditto","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"7abdddfbdecdd20e97aa3dafcfb76477e998dacc","unresolved":false,"context_lines":[{"line_number":1248,"context_line":"        # Set up the transport URL"},{"line_number":1249,"context_line":"        transport_hosts \u003d self._create_transport_hosts(username, password,"},{"line_number":1250,"context_line":"                                                   broker_hosts, hostname,"},{"line_number":1251,"context_line":"                                                   port)"},{"line_number":1252,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1253,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1254,"context_line":"        transport_url.virtual_host \u003d virtual_host"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_a8dea768","line":1251,"in_reply_to":"baada198_57384acb","updated":"2014-08-13 10:06:51.000000000","message":"Done","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"e2c16396841508429ab094239fdb2a6c76ab31a8","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"                                   username\u003dusername,"},{"line_number":1214,"context_line":"                                   password\u003dpassword"},{"line_number":1215,"context_line":"                               )"},{"line_number":1216,"context_line":"                )"},{"line_number":1217,"context_line":"        else:"},{"line_number":1218,"context_line":"            transport_hosts.append("},{"line_number":1219,"context_line":"                           messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa98f980_f51d9967","line":1216,"updated":"2014-09-02 07:11:35.000000000","message":"Indentation can be improved. \"))\"\nSee http://legacy.python.org/dev/peps/pep-0008/#indentation\nand other code examples.","commit_id":"fc0068161731e4da85f1b54d9273c9859be5a575"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"10309ff07cac67d4c17531e14c13482d2bbbf69a","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"                                   username\u003dusername,"},{"line_number":1214,"context_line":"                                   password\u003dpassword"},{"line_number":1215,"context_line":"                               )"},{"line_number":1216,"context_line":"                )"},{"line_number":1217,"context_line":"        else:"},{"line_number":1218,"context_line":"            transport_hosts.append("},{"line_number":1219,"context_line":"                           messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa98f980_736f01c6","line":1216,"in_reply_to":"fa98f980_f51d9967","updated":"2014-09-02 07:53:02.000000000","message":"Done","commit_id":"fc0068161731e4da85f1b54d9273c9859be5a575"},{"author":{"_account_id":10614,"name":"Alex Frolov","email":"afrolov@mirantis.com","username":"afrolov"},"change_message_id":"0a5842db0dbb00be4aaaf888b9cced1a2de60657","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"        transport_hosts \u003d self._create_transport_hosts(username, password,"},{"line_number":1255,"context_line":"                                                       broker_hosts, hostname,"},{"line_number":1256,"context_line":"                                                       port"},{"line_number":1257,"context_line":"                                                       )"},{"line_number":1258,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1259,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1260,"context_line":"        transport_url.virtual_host \u003d virtual_host"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa98f980_dcd6bcf0","line":1257,"updated":"2014-09-03 15:45:10.000000000","message":"please move bracket on previous line and do the same in all files","commit_id":"abb451d8af406138803597fe1194e9ddcb15c444"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"50c5b3d1714234beb69ea6a3bc504986daafc3ab","unresolved":false,"context_lines":[{"line_number":1205,"context_line":"            hosts \u003d broker_hosts.split(\u0027,\u0027)"},{"line_number":1206,"context_line":"            for host in hosts:"},{"line_number":1207,"context_line":"                host \u003d host.strip()"},{"line_number":1208,"context_line":"                broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1209,"context_line":"                transport_hosts.append("},{"line_number":1210,"context_line":"                               messaging.TransportHost("},{"line_number":1211,"context_line":"                                   hostname\u003dbroker_hostname,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_327825f2","line":1208,"updated":"2014-10-01 14:16:17.000000000","message":"How does it handle if I don\u0027t specify a port?","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":1205,"context_line":"            hosts \u003d broker_hosts.split(\u0027,\u0027)"},{"line_number":1206,"context_line":"            for host in hosts:"},{"line_number":1207,"context_line":"                host \u003d host.strip()"},{"line_number":1208,"context_line":"                broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1209,"context_line":"                transport_hosts.append("},{"line_number":1210,"context_line":"                               messaging.TransportHost("},{"line_number":1211,"context_line":"                                   hostname\u003dbroker_hostname,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_eb4938d1","line":1208,"in_reply_to":"baa201ad_327825f2","updated":"2014-10-02 09:56:36.000000000","message":"Right now it throws errors but I\u0027ll fix it to show an error and exit cleanly","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"84a7bca8a88744890c9a368ee330b1c24e2d3421","unresolved":false,"context_lines":[{"line_number":1229,"context_line":"    @args(\u0027--password\u0027, metavar\u003d\u0027\u003cpassword\u003e\u0027,"},{"line_number":1230,"context_line":"         help\u003d\u0027Password for the message broker in this cell\u0027)"},{"line_number":1231,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1232,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell.\u0027"},{"line_number":1233,"context_line":"              \u0027Each Broker is specified as hostname:port.\u0027"},{"line_number":1234,"context_line":"              \u0027Use this if the cell has a HA broker cluster.\u0027)"},{"line_number":1235,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_72054d79","line":1232,"updated":"2014-10-01 14:13:09.000000000","message":"Does the help all come out as one line?  If so, need spaces between the sentences.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":1229,"context_line":"    @args(\u0027--password\u0027, metavar\u003d\u0027\u003cpassword\u003e\u0027,"},{"line_number":1230,"context_line":"         help\u003d\u0027Password for the message broker in this cell\u0027)"},{"line_number":1231,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1232,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell.\u0027"},{"line_number":1233,"context_line":"              \u0027Each Broker is specified as hostname:port.\u0027"},{"line_number":1234,"context_line":"              \u0027Use this if the cell has a HA broker cluster.\u0027)"},{"line_number":1235,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_c55e3576","line":1232,"in_reply_to":"baa201ad_72054d79","updated":"2014-10-02 09:56:36.000000000","message":"The help comes as a continuous line (which is then broken by display), so I added a space after each full-stop","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"09c1058dd9a084d7886aa341997b2395a49f5639","unresolved":false,"context_lines":[{"line_number":1231,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1232,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell.\u0027"},{"line_number":1233,"context_line":"              \u0027Each Broker is specified as hostname:port.\u0027"},{"line_number":1234,"context_line":"              \u0027Use this if the cell has a HA broker cluster.\u0027)"},{"line_number":1235,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":1236,"context_line":"         help\u003d\u0027Address of the message broker in this cell\u0027)"},{"line_number":1237,"context_line":"    @args(\u0027--port\u0027, metavar\u003d\u0027\u003cnumber\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_742a8e2d","line":1234,"updated":"2014-10-01 21:33:26.000000000","message":"It\u0027s not clear that setting this option will override hostname/port below.  That should be better documented.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":1231,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1232,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell.\u0027"},{"line_number":1233,"context_line":"              \u0027Each Broker is specified as hostname:port.\u0027"},{"line_number":1234,"context_line":"              \u0027Use this if the cell has a HA broker cluster.\u0027)"},{"line_number":1235,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":1236,"context_line":"         help\u003d\u0027Address of the message broker in this cell\u0027)"},{"line_number":1237,"context_line":"    @args(\u0027--port\u0027, metavar\u003d\u0027\u003cnumber\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_2b1340b9","line":1234,"in_reply_to":"baa201ad_742a8e2d","updated":"2014-10-02 09:56:36.000000000","message":"Done","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3504f5d1a15e36e0d7f6079490191381316215fd","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1264,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1265,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1266,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1269,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_724b8d87","line":1266,"updated":"2014-10-01 14:21:19.000000000","message":"I think we also should have a test that mocks out the db.cell_create call but validates the values passed in are what\u0027s expected, at least for the transport_url value since you\u0027re extending the value.\n\nApparently this is completely untested today.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1264,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1265,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1266,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1269,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_a66da534","line":1266,"in_reply_to":"baa201ad_724b8d87","updated":"2014-10-02 09:56:36.000000000","message":"Yes cell_create is untested. \nBut the \u0027transport_url\u0027 string is the string representation of oslo.messaging.TransportURL and we already test the contents of TransportHosts in that object.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a5f5ddef31a986cbf6408a3253f5f29263efe21b","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1264,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1265,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1266,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1269,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_32d5211c","line":1266,"in_reply_to":"baa201ad_a66da534","updated":"2014-10-06 18:49:16.000000000","message":":) That doesn\u0027t mean we shouldn\u0027t test this change - just because it was never tested before isn\u0027t a good reason to not test it now.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"2431fb241c78618cfe16c5494d1664d429c8823f","unresolved":false,"context_lines":[{"line_number":1208,"context_line":"                try:"},{"line_number":1209,"context_line":"                    broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1210,"context_line":"                except ValueError:"},{"line_number":1211,"context_line":"                    print(_(\u0027Invalid broker_hosts value: %s\u0027) % (host))"},{"line_number":1212,"context_line":"                    raise"},{"line_number":1213,"context_line":"                transport_hosts.append("},{"line_number":1214,"context_line":"                               messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":11,"id":"baa201ad_b0eea9b2","line":1211,"updated":"2014-10-02 19:49:08.000000000","message":"you can just use host rather than (host)","commit_id":"e8275fb8713a8463f3f35a943e4d3b5f98fc6049"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"0db078e6b944dfa547ec442745e8b78e513355e1","unresolved":false,"context_lines":[{"line_number":1208,"context_line":"                try:"},{"line_number":1209,"context_line":"                    broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1210,"context_line":"                except ValueError:"},{"line_number":1211,"context_line":"                    print(_(\u0027Invalid broker_hosts value: %s\u0027) % (host))"},{"line_number":1212,"context_line":"                    raise"},{"line_number":1213,"context_line":"                transport_hosts.append("},{"line_number":1214,"context_line":"                               messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":11,"id":"baa201ad_3392b99f","line":1211,"in_reply_to":"baa201ad_b0eea9b2","updated":"2014-10-03 07:19:16.000000000","message":"Done","commit_id":"e8275fb8713a8463f3f35a943e4d3b5f98fc6049"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"2431fb241c78618cfe16c5494d1664d429c8823f","unresolved":false,"context_lines":[{"line_number":1261,"context_line":"                                                     port)"},{"line_number":1262,"context_line":"        except ValueError:"},{"line_number":1263,"context_line":"            print(_(\u0027Error: broker_hosts should be specified as \u0027"},{"line_number":1264,"context_line":"                   \u0027hostname:port\u0027))"},{"line_number":1265,"context_line":"            return(2)"},{"line_number":1266,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1267,"context_line":"        transport_url.hosts.extend(transport_hosts)"}],"source_content_type":"text/x-python","patch_set":11,"id":"baa201ad_70f44187","line":1264,"updated":"2014-10-02 19:49:08.000000000","message":"Probably best not to mention broker_hosts at this level, leave that to the except block within _create_transport_hosts.  If some other ValueError is raised later this will be confusing.","commit_id":"e8275fb8713a8463f3f35a943e4d3b5f98fc6049"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"0db078e6b944dfa547ec442745e8b78e513355e1","unresolved":false,"context_lines":[{"line_number":1261,"context_line":"                                                     port)"},{"line_number":1262,"context_line":"        except ValueError:"},{"line_number":1263,"context_line":"            print(_(\u0027Error: broker_hosts should be specified as \u0027"},{"line_number":1264,"context_line":"                   \u0027hostname:port\u0027))"},{"line_number":1265,"context_line":"            return(2)"},{"line_number":1266,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1267,"context_line":"        transport_url.hosts.extend(transport_hosts)"}],"source_content_type":"text/x-python","patch_set":11,"id":"baa201ad_f3803148","line":1264,"in_reply_to":"baa201ad_70f44187","updated":"2014-10-03 07:19:16.000000000","message":"Good catch. Done","commit_id":"e8275fb8713a8463f3f35a943e4d3b5f98fc6049"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1beca813ef628449d7b011ca46c9e0abc1bf67eb","unresolved":false,"context_lines":[{"line_number":1071,"context_line":"                try:"},{"line_number":1072,"context_line":"                    broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1073,"context_line":"                except ValueError:"},{"line_number":1074,"context_line":"                    msg \u003d _(\u0027Invalid broker_hosts value: %s\u0027) % host"},{"line_number":1075,"context_line":"                    raise ValueError(msg)"},{"line_number":1076,"context_line":"                transport_hosts.append("},{"line_number":1077,"context_line":"                               messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_f2c5595c","line":1074,"updated":"2014-10-06 18:55:47.000000000","message":"nit: could remind on the form again, e.g.:\n\n\u0027Invalid broker_hosts value: \"%s\". Should be in the form hostname:port.\u0027","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"524a59ebec04ec81e574109e026652ad377a6bc1","unresolved":false,"context_lines":[{"line_number":1071,"context_line":"                try:"},{"line_number":1072,"context_line":"                    broker_hostname, broker_port \u003d host.split(\u0027:\u0027)"},{"line_number":1073,"context_line":"                except ValueError:"},{"line_number":1074,"context_line":"                    msg \u003d _(\u0027Invalid broker_hosts value: %s\u0027) % host"},{"line_number":1075,"context_line":"                    raise ValueError(msg)"},{"line_number":1076,"context_line":"                transport_hosts.append("},{"line_number":1077,"context_line":"                               messaging.TransportHost("}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_2eef72ea","line":1074,"in_reply_to":"baa201ad_f2c5595c","updated":"2014-10-07 09:06:26.000000000","message":"Done","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1beca813ef628449d7b011ca46c9e0abc1bf67eb","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1099,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell. \u0027"},{"line_number":1100,"context_line":"              \u0027Each Broker is specified as hostname:port with both \u0027"},{"line_number":1101,"context_line":"              \u0027mandatory. This option overrides the --hostname \u0027"},{"line_number":1102,"context_line":"              \u0027--port options (if provided). \u0027)"},{"line_number":1103,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":1104,"context_line":"         help\u003d\u0027Address of the message broker in this cell\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_72b24907","line":1101,"updated":"2014-10-06 18:55:47.000000000","message":"nit: --hostname and --port options","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"524a59ebec04ec81e574109e026652ad377a6bc1","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"    @args(\u0027--broker_hosts\u0027, metavar\u003d\u0027\u003cbroker_hosts\u003e\u0027,"},{"line_number":1099,"context_line":"         help\u003d\u0027Comma separated list of message brokers in this cell. \u0027"},{"line_number":1100,"context_line":"              \u0027Each Broker is specified as hostname:port with both \u0027"},{"line_number":1101,"context_line":"              \u0027mandatory. This option overrides the --hostname \u0027"},{"line_number":1102,"context_line":"              \u0027--port options (if provided). \u0027)"},{"line_number":1103,"context_line":"    @args(\u0027--hostname\u0027, metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":1104,"context_line":"         help\u003d\u0027Address of the message broker in this cell\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_0ee62e15","line":1101,"in_reply_to":"baa201ad_72b24907","updated":"2014-10-07 09:06:26.000000000","message":"Done","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1beca813ef628449d7b011ca46c9e0abc1bf67eb","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1133,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1134,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1135,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1138,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_92aecd96","line":1135,"updated":"2014-10-06 18:55:47.000000000","message":"I would still like to see a test that verifies the values passed in has the transport_url string we expect if we\u0027ve modified the transport_url object, otherwise someone could regress this by not putting transport_hosts in there and we wouldn\u0027t know if it wasn\u0027t caught in review.  It should be relatively simple to write a test that mocks out the call to _create_transport_hosts and just uses fake values.","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"524a59ebec04ec81e574109e026652ad377a6bc1","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1133,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1134,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1135,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1138,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_aeae027f","line":1135,"in_reply_to":"baa201ad_92aecd96","updated":"2014-10-07 09:06:26.000000000","message":"Sorry but I don\u0027t understand exactly how this test can be written.\n\nI get it that your intention of having this test is to ensure that when db.cell_create is called (at the end of function), the values dict has the correct values (corresponding to the arguments passed to the create function).\nBut since db.cell_create() actually calls the DB API, how would mocking help here? Wouldn\u0027t this method call the actual API, rather than our mock object?\n(I am a little foggy about how much mocking and stubbing can do)\n\nAlternatively, we could move the entire processing logic to a separate function which returns the values dict and leave only db.cell_create in this funtion. Then we can test that new function to see that returned values dict is indeed what is expected.","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7862221670f4bf229b329d142c8ae6650514f1d1","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                  \u0027weight_offset\u0027: float(woffset),"},{"line_number":1133,"context_line":"                  \u0027weight_scale\u0027: float(wscale)}"},{"line_number":1134,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1135,"context_line":"        db.cell_create(ctxt, values)"},{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"    @args(\u0027--cell_name\u0027, metavar\u003d\u0027\u003ccell_name\u003e\u0027,"},{"line_number":1138,"context_line":"          help\u003d\u0027Name of the cell to delete\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_e1ec942c","line":1135,"in_reply_to":"baa201ad_aeae027f","updated":"2014-10-07 13:52:40.000000000","message":"As discussed in IRC, you mock out the db.cell_create call.  You could decorate a unit test method with this:\n\n@mock.patch.object(db, \u0027cell_create\u0027)\n\nThat will pass a mock object to the test which you can use to make the assert_called_once_with call to verify the transport_url string is as expected.\n\nSome references:\n\nhttp://superuser.openstack.org/articles/video-openstack-bootstrapping-hour-mock-best-practices\n\nhttps://docs.python.org/3/library/unittest.mock.html","commit_id":"a5d0784faec26b1a6d08b5419183f13d7788a9cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"56b9c9cd598591dfbd6306fdb0cb70d02ad20a14","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                                                 username, password,"},{"line_number":1133,"context_line":"                                                 broker_hosts, hostname,"},{"line_number":1134,"context_line":"                                                 port)"},{"line_number":1135,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1136,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1137,"context_line":"        transport_url.virtual_host \u003d virtual_host"},{"line_number":1138,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_536e0bca","line":1135,"updated":"2014-10-07 19:01:20.000000000","message":"Is this mocked/faked out in fake RPC somewhere?  Was wondering where the guest:devstack values were coming from in the test.","commit_id":"cc17991d1a5a703d486735b902da8902641dad83"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"f5e62c54f9c33bec7bdeaf15fb170cf6a31cd673","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                                                 username, password,"},{"line_number":1133,"context_line":"                                                 broker_hosts, hostname,"},{"line_number":1134,"context_line":"                                                 port)"},{"line_number":1135,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1136,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1137,"context_line":"        transport_url.virtual_host \u003d virtual_host"},{"line_number":1138,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_70fbfe46","line":1135,"in_reply_to":"baa201ad_0a70c5da","updated":"2014-10-07 23:05:26.000000000","message":"AFAIK since the test calls create with username\u003dguest and password\u003ddevstack,  those values are passed to the transport_hosts from where they become part of url with guest:devstack\n\nif you call create with different username/password arguments, the same will become part of URL rather than guest:devstack","commit_id":"cc17991d1a5a703d486735b902da8902641dad83"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"e29dc051c0be19eb3d6ab1c877f24a43a77ce890","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                                                 username, password,"},{"line_number":1133,"context_line":"                                                 broker_hosts, hostname,"},{"line_number":1134,"context_line":"                                                 port)"},{"line_number":1135,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1136,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1137,"context_line":"        transport_url.virtual_host \u003d virtual_host"},{"line_number":1138,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_b37ad721","line":1135,"in_reply_to":"baa201ad_536e0bca","updated":"2014-10-07 19:10:08.000000000","message":"Guest, devstack are username and password arguments","commit_id":"cc17991d1a5a703d486735b902da8902641dad83"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6eed3fbcda86e726018bce819cb2224ac1f0d974","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                                                 username, password,"},{"line_number":1133,"context_line":"                                                 broker_hosts, hostname,"},{"line_number":1134,"context_line":"                                                 port)"},{"line_number":1135,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1136,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1137,"context_line":"        transport_url.virtual_host \u003d virtual_host"},{"line_number":1138,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_28e57f08","line":1135,"in_reply_to":"baa201ad_70fbfe46","updated":"2014-10-08 13:53:36.000000000","message":"Oh, duh, yeah I totally missed that.  That solves the mystery. :P","commit_id":"cc17991d1a5a703d486735b902da8902641dad83"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f457959a43e15ad87fdcf5f198331a891eee6460","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"                                                 username, password,"},{"line_number":1133,"context_line":"                                                 broker_hosts, hostname,"},{"line_number":1134,"context_line":"                                                 port)"},{"line_number":1135,"context_line":"        transport_url \u003d rpc.get_transport_url()"},{"line_number":1136,"context_line":"        transport_url.hosts.extend(transport_hosts)"},{"line_number":1137,"context_line":"        transport_url.virtual_host \u003d virtual_host"},{"line_number":1138,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_0a70c5da","line":1135,"in_reply_to":"baa201ad_b37ad721","updated":"2014-10-07 21:22:45.000000000","message":"Yeah I\u0027m just wondering where they are coming from since rpc.get_transport_url() isn\u0027t mocked out specifically in your test, so it must be done at some higher level.\n\nWhat I\u0027m trying to figure out if guest:devstack are values specific to your local environment (or just devstack), or if they actuall come from oslo.messaging (or nova) when using the fake messaging driver.","commit_id":"cc17991d1a5a703d486735b902da8902641dad83"}],"nova/tests/test_nova_manage.py":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0297d8adbc1fb766019e71e576deb5b14ef2ed47","unresolved":false,"context_lines":[{"line_number":440,"context_line":"        \"\"\""},{"line_number":441,"context_line":"        brokers \u003d \"127.0.0.1:5672,127.0.0.2:5672\""},{"line_number":442,"context_line":"        thosts \u003d self.commands._create_transport_hosts(\u0027guest\u0027, \u0027devstack\u0027,"},{"line_number":443,"context_line":"                                           broker_hosts\u003dbrokers)"},{"line_number":444,"context_line":"        self.assertEqual(2, len(thosts))"},{"line_number":445,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"},{"line_number":446,"context_line":"        self.assertEqual(\u0027127.0.0.2\u0027, thosts[1].hostname)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_9742e239","line":443,"updated":"2014-08-13 08:53:38.000000000","message":"ditto","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"7abdddfbdecdd20e97aa3dafcfb76477e998dacc","unresolved":false,"context_lines":[{"line_number":440,"context_line":"        \"\"\""},{"line_number":441,"context_line":"        brokers \u003d \"127.0.0.1:5672,127.0.0.2:5672\""},{"line_number":442,"context_line":"        thosts \u003d self.commands._create_transport_hosts(\u0027guest\u0027, \u0027devstack\u0027,"},{"line_number":443,"context_line":"                                           broker_hosts\u003dbrokers)"},{"line_number":444,"context_line":"        self.assertEqual(2, len(thosts))"},{"line_number":445,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"},{"line_number":446,"context_line":"        self.assertEqual(\u0027127.0.0.2\u0027, thosts[1].hostname)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_c8311bbd","line":443,"in_reply_to":"baada198_9742e239","updated":"2014-08-13 10:06:51.000000000","message":"Done","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0297d8adbc1fb766019e71e576deb5b14ef2ed47","unresolved":false,"context_lines":[{"line_number":448,"context_line":"    def test_create_transport_hosts_single(self):"},{"line_number":449,"context_line":"        \"\"\"Test the _create_transport_hosts method when hostname is passed.\"\"\""},{"line_number":450,"context_line":"        thosts \u003d self.commands._create_transport_hosts(\u0027guest\u0027, \u0027devstack\u0027,"},{"line_number":451,"context_line":"                                           hostname\u003d\u0027127.0.0.1\u0027, port \u003d80)"},{"line_number":452,"context_line":"        self.assertEqual(1, len(thosts))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b76e06ca","line":451,"updated":"2014-08-13 08:53:38.000000000","message":"ditto","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"7abdddfbdecdd20e97aa3dafcfb76477e998dacc","unresolved":false,"context_lines":[{"line_number":448,"context_line":"    def test_create_transport_hosts_single(self):"},{"line_number":449,"context_line":"        \"\"\"Test the _create_transport_hosts method when hostname is passed.\"\"\""},{"line_number":450,"context_line":"        thosts \u003d self.commands._create_transport_hosts(\u0027guest\u0027, \u0027devstack\u0027,"},{"line_number":451,"context_line":"                                           hostname\u003d\u0027127.0.0.1\u0027, port \u003d80)"},{"line_number":452,"context_line":"        self.assertEqual(1, len(thosts))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_e836dfb2","line":451,"in_reply_to":"baada198_b76e06ca","updated":"2014-08-13 10:06:51.000000000","message":"Done","commit_id":"4444b6df2219725fa49b926f55739737e52f1f09"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"50c5b3d1714234beb69ea6a3bc504986daafc3ab","unresolved":false,"context_lines":[{"line_number":444,"context_line":"                                           broker_hosts\u003dbrokers)"},{"line_number":445,"context_line":"        self.assertEqual(2, len(thosts))"},{"line_number":446,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"},{"line_number":447,"context_line":"        self.assertEqual(\u0027127.0.0.2\u0027, thosts[1].hostname)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_create_transport_hosts_single(self):"},{"line_number":450,"context_line":"        \"\"\"Test the _create_transport_hosts method when hostname is passed.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_521cc9c1","line":447,"updated":"2014-10-01 14:16:17.000000000","message":"Assert the ports are as expected also since you\u0027re parsing the colon.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":444,"context_line":"                                           broker_hosts\u003dbrokers)"},{"line_number":445,"context_line":"        self.assertEqual(2, len(thosts))"},{"line_number":446,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"},{"line_number":447,"context_line":"        self.assertEqual(\u0027127.0.0.2\u0027, thosts[1].hostname)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_create_transport_hosts_single(self):"},{"line_number":450,"context_line":"        \"\"\"Test the _create_transport_hosts method when hostname is passed.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_66ff3d68","line":447,"in_reply_to":"baa201ad_521cc9c1","updated":"2014-10-02 09:56:36.000000000","message":"Done","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"50c5b3d1714234beb69ea6a3bc504986daafc3ab","unresolved":false,"context_lines":[{"line_number":471,"context_line":"                                              broker_hosts\u003d\u0027127.0.0.1:5672\u0027,"},{"line_number":472,"context_line":"                                              hostname\u003d\u0027127.0.0.2\u0027, port\u003d80)"},{"line_number":473,"context_line":"        self.assertEqual(1, len(thosts))"},{"line_number":474,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_d210b9aa","line":474,"updated":"2014-10-01 14:16:17.000000000","message":"Also assert the port is 5672 rather than 80.","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"115c407c1d20ef2c2e0b33dafca3d89cc38b88e2","unresolved":false,"context_lines":[{"line_number":471,"context_line":"                                              broker_hosts\u003d\u0027127.0.0.1:5672\u0027,"},{"line_number":472,"context_line":"                                              hostname\u003d\u0027127.0.0.2\u0027, port\u003d80)"},{"line_number":473,"context_line":"        self.assertEqual(1, len(thosts))"},{"line_number":474,"context_line":"        self.assertEqual(\u0027127.0.0.1\u0027, thosts[0].hostname)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_a6f8457d","line":474,"in_reply_to":"baa201ad_d210b9aa","updated":"2014-10-02 09:56:36.000000000","message":"Done","commit_id":"b858f9fe00b6f7bef98636c5acdb74e9b57f7659"}]}
