)]}'
{"nova/compute/api.py":[{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3123e77d232560af17c0bfa2b58438f8044f732","unresolved":false,"context_lines":[{"line_number":403,"context_line":"    @staticmethod"},{"line_number":404,"context_line":"    def _handle_availability_zone(availability_zone):"},{"line_number":405,"context_line":"        # NOTE(vish): We have a legacy hack to allow admins to specify hosts"},{"line_number":406,"context_line":"        #             via az using az:host. It might be nice to expose an"},{"line_number":407,"context_line":"        #             api to specify specific hosts to force onto, but for"},{"line_number":408,"context_line":"        #             now it just supports this legacy hack."},{"line_number":409,"context_line":"        forced_host \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FnSU%3D","line":406,"updated":"2013-05-01 20:22:55.000000000","message":"Can you update the comment to match the new syntax please","commit_id":"31d89dfd3907d1d67fce55c9c5122da09a5bf440"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3123e77d232560af17c0bfa2b58438f8044f732","unresolved":false,"context_lines":[{"line_number":403,"context_line":"    @staticmethod"},{"line_number":404,"context_line":"    def _handle_availability_zone(availability_zone):"},{"line_number":405,"context_line":"        # NOTE(vish): We have a legacy hack to allow admins to specify hosts"},{"line_number":406,"context_line":"        #             via az using az:host. It might be nice to expose an"},{"line_number":407,"context_line":"        #             api to specify specific hosts to force onto, but for"},{"line_number":408,"context_line":"        #             now it just supports this legacy hack."},{"line_number":409,"context_line":"        forced_host \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FnRY%3D","line":406,"updated":"2013-05-01 20:24:50.000000000","message":"Can you update the comment to match the syntax please","commit_id":"43e4c13fe162af344ff6da84e0cbc1ab9df55340"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"082cbaae9943cc51c1c32084c2a68d2540032295","unresolved":false,"context_lines":[{"line_number":403,"context_line":"    @staticmethod"},{"line_number":404,"context_line":"    def _handle_availability_zone(availability_zone):"},{"line_number":405,"context_line":"        # NOTE(vish): We have a legacy hack to allow admins to specify hosts"},{"line_number":406,"context_line":"        #             via az using az:host. It might be nice to expose an"},{"line_number":407,"context_line":"        #             api to specify specific hosts to force onto, but for"},{"line_number":408,"context_line":"        #             now it just supports this legacy hack."},{"line_number":409,"context_line":"        forced_host \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FmAU%3D","line":406,"in_reply_to":"AAAAOn%2F%2FnRY%3D","updated":"2013-05-02 15:11:04.000000000","message":"Done","commit_id":"43e4c13fe162af344ff6da84e0cbc1ab9df55340"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"e4a85633d3957ddf229f482d7275a2ef632d3f18","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                filter_properties[\u0027force_hosts\u0027] \u003d [forced_host]"},{"line_number":620,"context_line":"            if forced_node:"},{"line_number":621,"context_line":"                check_policy(context, \u0027create:forced_host\u0027, {})"},{"line_number":622,"context_line":"                filter_properties[\u0027force_nodes\u0027] \u003d [forced_node]"},{"line_number":623,"context_line":""},{"line_number":624,"context_line":"            for i in xrange(num_instances):"},{"line_number":625,"context_line":"                options \u003d base_options.copy()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fm1c%3D","line":622,"updated":"2013-05-02 02:02:24.000000000","message":"Is there any reason anyone would want to allow forcing a host but not a node by policy?  (I don\u0027t think so, but figured I\u0027d ask to make sure that using the same policy was a conscious decision)","commit_id":"43e4c13fe162af344ff6da84e0cbc1ab9df55340"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"082cbaae9943cc51c1c32084c2a68d2540032295","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                filter_properties[\u0027force_hosts\u0027] \u003d [forced_host]"},{"line_number":620,"context_line":"            if forced_node:"},{"line_number":621,"context_line":"                check_policy(context, \u0027create:forced_host\u0027, {})"},{"line_number":622,"context_line":"                filter_properties[\u0027force_nodes\u0027] \u003d [forced_node]"},{"line_number":623,"context_line":""},{"line_number":624,"context_line":"            for i in xrange(num_instances):"},{"line_number":625,"context_line":"                options \u003d base_options.copy()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FmAM%3D","line":622,"in_reply_to":"AAAAOn%2F%2Fm1c%3D","updated":"2013-05-02 15:11:04.000000000","message":"I can\u0027t think of a reason for it -- when using baremetal, force_node is effectively the same as force_host is for virtualized hypervisors.","commit_id":"43e4c13fe162af344ff6da84e0cbc1ab9df55340"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"8592a22fbcc7cf83685e6999397c6d7637e3db6e","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        forced_node \u003d None"},{"line_number":411,"context_line":"        if availability_zone and \u0027:\u0027 in availability_zone:"},{"line_number":412,"context_line":"            zone_host_node \u003d availability_zone.split(\u0027:\u0027)"},{"line_number":413,"context_line":"            if availability_zone.count(\u0027:\u0027) \u003d\u003d 2:"},{"line_number":414,"context_line":"                forced_node \u003d zone_host_node.pop()"},{"line_number":415,"context_line":"            forced_host \u003d zone_host_node.pop()"},{"line_number":416,"context_line":"            if forced_host \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fl3k%3D","line":413,"updated":"2013-05-02 16:26:58.000000000","message":"Wouldn\u0027t it be better to just look at len(zone_host_node) here?","commit_id":"307c0610b59b786dacc9df041ed8de05ad17a838"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"48b3ffa9106d1feea90b59e7877d721c06db51f2","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        forced_node \u003d None"},{"line_number":411,"context_line":"        if availability_zone and \u0027:\u0027 in availability_zone:"},{"line_number":412,"context_line":"            zone_host_node \u003d availability_zone.split(\u0027:\u0027)"},{"line_number":413,"context_line":"            if availability_zone.count(\u0027:\u0027) \u003d\u003d 2:"},{"line_number":414,"context_line":"                forced_node \u003d zone_host_node.pop()"},{"line_number":415,"context_line":"            forced_host \u003d zone_host_node.pop()"},{"line_number":416,"context_line":"            if forced_host \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FluE%3D","line":413,"in_reply_to":"AAAAOn%2F%2Fl3k%3D","updated":"2013-05-02 18:06:11.000000000","message":"the logic here has been bugging me ... i\u0027ve cleaned it up to be more declarative","commit_id":"307c0610b59b786dacc9df041ed8de05ad17a838"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"45916d752555c0ce5dc1f389592034b6055b67d0","unresolved":false,"context_lines":[{"line_number":577,"context_line":"            root_device_name \u003d block_device.properties_root_device_name("},{"line_number":578,"context_line":"                image.get(\u0027properties\u0027, {}))"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"            availability_zone, forced_host, forced_node \u003d \\"},{"line_number":581,"context_line":"                    self._handle_availability_zone(availability_zone)"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"            system_metadata \u003d instance_types.save_instance_type_info("}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2FlNo%3D","line":580,"updated":"2013-05-03 00:39:53.000000000","message":"technically our HACKING file discourages \\ for continuation here ... but personally I think this looks good, so +1 from me.","commit_id":"c42fd6de5903cdb7c5519bd773e0859767f68043"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ef695756cf4c3b7fa81ebda886e6e5a2d0a58a80","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            if not host_map:"},{"line_number":337,"context_line":"                msg \u003d _(\"No nodes matched due to not matching \u0027force_nodes\u0027 \""},{"line_number":338,"context_line":"                        \"value of \u0027%(nodes_to_force)s\u0027\")"},{"line_number":339,"context_line":"                LOG.debug(msg, locals())"},{"line_number":340,"context_line":"                return"},{"line_number":341,"context_line":"            forced_nodes_str \u003d \u0027, \u0027.join(forced_nodes)"},{"line_number":342,"context_line":"            msg \u003d _(\u0027Host filter forcing available nodes to \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FpX0%3D","line":339,"updated":"2013-04-30 18:02:45.000000000","message":"pls avoid using of locals()","commit_id":"b26080a41e363d73a9248a8b5d7f1ba797afd3bb"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"8592a22fbcc7cf83685e6999397c6d7637e3db6e","unresolved":false,"context_lines":[{"line_number":359,"context_line":"            if force_nodes:"},{"line_number":360,"context_line":"                _match_forced_nodes(name_to_cls_map, force_nodes)"},{"line_number":361,"context_line":"            if force_hosts or force_nodes:"},{"line_number":362,"context_line":"                # NOTE(vish): Skip filters on forced hosts."},{"line_number":363,"context_line":"                if name_to_cls_map:"},{"line_number":364,"context_line":"                    return name_to_cls_map.values()"},{"line_number":365,"context_line":"            hosts \u003d name_to_cls_map.itervalues()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fl2k%3D","line":362,"updated":"2013-05-02 16:26:58.000000000","message":"This comment should probably be \"...forced hosts and nodes.\" now.","commit_id":"307c0610b59b786dacc9df041ed8de05ad17a838"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"48b3ffa9106d1feea90b59e7877d721c06db51f2","unresolved":false,"context_lines":[{"line_number":359,"context_line":"            if force_nodes:"},{"line_number":360,"context_line":"                _match_forced_nodes(name_to_cls_map, force_nodes)"},{"line_number":361,"context_line":"            if force_hosts or force_nodes:"},{"line_number":362,"context_line":"                # NOTE(vish): Skip filters on forced hosts."},{"line_number":363,"context_line":"                if name_to_cls_map:"},{"line_number":364,"context_line":"                    return name_to_cls_map.values()"},{"line_number":365,"context_line":"            hosts \u003d name_to_cls_map.itervalues()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FluI%3D","line":362,"in_reply_to":"AAAAOn%2F%2Fl2k%3D","updated":"2013-05-02 18:06:11.000000000","message":"Done","commit_id":"307c0610b59b786dacc9df041ed8de05ad17a838"}]}
