)]}'
{"nova/tests/baremetal/test_proxy_bare_metal.py":[{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def json_equal(x, y):"},{"line_number":47,"context_line":"    \"\"\"Check if two json strings represent the equivalent Python object\"\"\""},{"line_number":48,"context_line":"    return utils.loads(x) \u003d\u003d utils.loads(y)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class DomainReadWriteTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2B%2F0%3D","line":48,"updated":"2011-11-11 10:20:12.000000000","message":"This would seem more fitting as a class method on your test class:\n\ndef assertJSONEquals(self, a, b, *args, **kwargs):\n    self.assertEquals(utils.loads(x), utils.loads(y), *args, **kwargs)\n\n(untested)","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":73,"context_line":"         \"image_id\": \"1552326678\", \"vcpus\": 1, \"node_id\": 6,"},{"line_number":74,"context_line":"         \"name\": \"instance-00000001\", \"memory_kb\": 16777216,"},{"line_number":75,"context_line":"         \"mac_address\": \"02:16:3e:01:4e:c9\", \"kernel_id\": \"1896115634\","},{"line_number":76,"context_line":"         \"ramdisk_id\": \"\", \"ip_address\": \"10.5.1.2\"}]\u0027\u0027\u0027)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        self.mox.StubOutWithMock(__builtin__, \u0027open\u0027)"},{"line_number":79,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2B%2Fw%3D","line":76,"updated":"2011-11-11 10:20:12.000000000","message":"It seems counterintuitive that you define fake_domains as a module level variable, but fake_file as a method level variable. They should be right next to each other. I don\u0027t care where :)","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            self.mox.ReplayAll()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"            self.assertRaises(IOError, dom.read_domains,"},{"line_number":105,"context_line":"                       \u0027/tftpboot/test_fake_dom_file\u0027)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        finally:"},{"line_number":108,"context_line":"            self.mox.UnsetStubs()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2B%2Fs%3D","line":105,"updated":"2011-11-11 10:20:12.000000000","message":"You don\u0027t want dom.read_domains to give you the raw IOError.\nI would have actually expected just an empty list, but failing that (which may be perfectly reasonable!) you should return some other nova specific Exception. In case the implementation detail of how you store the domain list changes (maybe moves into a database, another nova service, whatever) you don\u0027t want the exception type to change.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"72c145ca2db2a39d0cc3cd6ed65daa80a0df97e3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from nova.virt.baremetal import dom"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":36,"context_line":"FLAGS.baremetal_driver \u003d \u0027fake\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Same fake_domains is used by different classes,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAADH%2F%2F%2F4M%3D","line":36,"updated":"2011-12-28 19:54:05.000000000","message":"instead of doing this here, you need to do it in the TestCase setUp method. It should be \u0027self.flags(baremetal_driver\u003d\u0027fake\u0027)\u0027","commit_id":"8b3e5dddab56409f9bddb9163f6c2d96f5d30665"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from nova import test"},{"line_number":26,"context_line":"from nova.compute import power_state"},{"line_number":27,"context_line":"from nova import context"},{"line_number":28,"context_line":"from nova import db"},{"line_number":29,"context_line":"from nova.tests import fake_utils"},{"line_number":30,"context_line":"from nova import exception"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BDE%3D","line":28,"updated":"2012-01-25 20:47:59.000000000","message":"unused import","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"}],"nova/tests/baremetal/test_tilera.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"72c145ca2db2a39d0cc3cd6ed65daa80a0df97e3","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova import test"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from nova.virt.baremetal import tilera"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TileraBareMetalNodesTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAADH%2F%2F%2F4s%3D","line":24,"updated":"2011-12-28 19:54:05.000000000","message":"Please arrange imports per HACKING","commit_id":"8b3e5dddab56409f9bddb9163f6c2d96f5d30665"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"#"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import __builtin__"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import StringIO"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BC8%3D","line":18,"updated":"2012-01-25 20:47:59.000000000","message":"Please write your imports block like this:\n\nimport __builtin__\n\nimport StringIO\n\n\n\nfrom nova import test\n\nfrom nova.virt.baremetal import tilera","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"}],"nova/utils.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"72c145ca2db2a39d0cc3cd6ed65daa80a0df97e3","unresolved":false,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"def check_isinstance(obj, cls):"},{"line_number":835,"context_line":"    \"\"\"Checks that obj is of type cls, and lets PyLint infer types.\"\"\""},{"line_number":836,"context_line":"    if FLAGS.connection_type \u003d\u003d \u0027baremetal\u0027:"},{"line_number":837,"context_line":"        return obj"},{"line_number":838,"context_line":"    if isinstance(obj, cls):"},{"line_number":839,"context_line":"        return obj"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAADH%2F%2F%2F4w%3D","line":836,"updated":"2011-12-28 19:54:05.000000000","message":"I have no idea why this check needs to be here.","commit_id":"8b3e5dddab56409f9bddb9163f6c2d96f5d30665"}],"nova/virt/baremetal/dom.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import multiprocessing"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import random"},{"line_number":20,"context_line":"import shutil"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCk%3D","line":17,"updated":"2012-01-25 20:47:59.000000000","message":"The majority of these imports are unused. I\u0027ll mark the ones that are *actually* used, and the rest should be deleted.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from nova import context"},{"line_number":33,"context_line":"from nova import db"},{"line_number":34,"context_line":"from nova import exception"},{"line_number":35,"context_line":"from nova import flags"},{"line_number":36,"context_line":"from nova import ipv6"},{"line_number":37,"context_line":"from nova import log as logging"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCg%3D","line":34,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from nova import context"},{"line_number":33,"context_line":"from nova import db"},{"line_number":34,"context_line":"from nova import exception"},{"line_number":35,"context_line":"from nova import flags"},{"line_number":36,"context_line":"from nova import ipv6"},{"line_number":37,"context_line":"from nova import log as logging"},{"line_number":38,"context_line":"from nova import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCc%3D","line":35,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"from nova import exception"},{"line_number":35,"context_line":"from nova import flags"},{"line_number":36,"context_line":"from nova import ipv6"},{"line_number":37,"context_line":"from nova import log as logging"},{"line_number":38,"context_line":"from nova import utils"},{"line_number":39,"context_line":"from nova import vnc"},{"line_number":40,"context_line":"from nova.auth import manager"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCY%3D","line":37,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from nova import flags"},{"line_number":36,"context_line":"from nova import ipv6"},{"line_number":37,"context_line":"from nova import log as logging"},{"line_number":38,"context_line":"from nova import utils"},{"line_number":39,"context_line":"from nova import vnc"},{"line_number":40,"context_line":"from nova.auth import manager"},{"line_number":41,"context_line":"from nova.compute import instance_types"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCU%3D","line":38,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from nova import vnc"},{"line_number":40,"context_line":"from nova.auth import manager"},{"line_number":41,"context_line":"from nova.compute import instance_types"},{"line_number":42,"context_line":"from nova.compute import power_state"},{"line_number":43,"context_line":"from nova.virt import disk"},{"line_number":44,"context_line":"from nova.virt import driver"},{"line_number":45,"context_line":"from nova.virt import images"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCQ%3D","line":42,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"from nova.virt import disk"},{"line_number":44,"context_line":"from nova.virt import driver"},{"line_number":45,"context_line":"from nova.virt import images"},{"line_number":46,"context_line":"from nova.virt.baremetal import nodes"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCM%3D","line":46,"updated":"2012-01-25 20:47:59.000000000","message":"Don\u0027t delete this one.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def __init__(self,"},{"line_number":89,"context_line":"                 fake_dom_file\u003d\"/tftpboot/test_fake_dom_file\"):"},{"line_number":90,"context_line":"        \"\"\""},{"line_number":91,"context_line":"        Only call __init__ the first time object is instantiated"},{"line_number":92,"context_line":"        Sets and Opens domain file: /tftpboot/test_fake_dom_file"},{"line_number":93,"context_line":"        Even though nova-compute service is rebooted,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBQ%3D","line":90,"updated":"2012-01-25 20:47:59.000000000","message":"See HACKING for docstring formatting guidelines.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                LOG.debug(_(\"Not running domain: remove\"))"},{"line_number":127,"context_line":"                self.domains.remove(dom)"},{"line_number":128,"context_line":"                continue"},{"line_number":129,"context_line":"            res \u003d self.baremetal_nodes.set_status(dom[\u0027node_id\u0027], \\"},{"line_number":130,"context_line":"                                    dom[\u0027status\u0027])"},{"line_number":131,"context_line":"            if res \u003e 0:"},{"line_number":132,"context_line":"                self.fake_dom_nums \u003d self.fake_dom_nums + 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BB4%3D","line":129,"updated":"2012-01-25 20:47:59.000000000","message":"Backslash not needed, method arguments can be broken across lines.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                self.domains.remove(dom)"},{"line_number":136,"context_line":"                continue"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        LOG.debug(_(\"--\u003e domains after reading\"))"},{"line_number":139,"context_line":"        LOG.debug(_(self.domains))"},{"line_number":140,"context_line":"        self.store_domain()"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBU%3D","line":138,"updated":"2012-01-25 20:47:59.000000000","message":"please remove this line","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            self.baremetal_nodes.deactivate_node(fd[\u0027node_id\u0027])"},{"line_number":156,"context_line":"        except:"},{"line_number":157,"context_line":"            raise exception.NotFound(\"Failed power down \\"},{"line_number":158,"context_line":"                                      Bare-metal node %s\" % fd[\u0027node_id\u0027])"},{"line_number":159,"context_line":"        self.change_domain_state(name, power_state.BUILDING)"},{"line_number":160,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BB8%3D","line":157,"updated":"2012-01-25 20:47:59.000000000","message":"This backslash, along with the extra spacing, is actually being interpreted as part of the string. You also need to i18n this:\n\n\nmsg \u003d _(\"Failed power down Bare-metal node %s\")\n\nraise exception.NotFound(msg % fd[\u0027node_id\u0027])","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                                      Bare-metal node %s\" % fd[\u0027node_id\u0027])"},{"line_number":159,"context_line":"        self.change_domain_state(name, power_state.BUILDING)"},{"line_number":160,"context_line":"        try:"},{"line_number":161,"context_line":"            state \u003d self.baremetal_nodes.activate_node(fd[\u0027node_id\u0027], \\"},{"line_number":162,"context_line":"                node_ip, name, fd[\u0027mac_address\u0027], fd[\u0027ip_address\u0027])"},{"line_number":163,"context_line":"            self.change_domain_state(name, state)"},{"line_number":164,"context_line":"            return state"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCE%3D","line":161,"updated":"2012-01-25 20:47:59.000000000","message":"Backslash not needed.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        try:"},{"line_number":181,"context_line":"            self.baremetal_nodes.deactivate_node(fd[\u0027node_id\u0027])"},{"line_number":182,"context_line":"            LOG.debug(_(\"--\u003e after deactivate node\"))"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"            self.domains.remove(fd)"},{"line_number":185,"context_line":"            LOG.debug(_(\"domains: \"))"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBY%3D","line":182,"updated":"2012-01-25 20:47:59.000000000","message":"remove this line","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        new_dom \u003d {\u0027node_id\u0027: node_id,"},{"line_number":211,"context_line":"                    \u0027name\u0027: xml_dict[\u0027name\u0027],"},{"line_number":212,"context_line":"                    \u0027memory_kb\u0027: xml_dict[\u0027memory_kb\u0027], \\"},{"line_number":213,"context_line":"                    \u0027vcpus\u0027: xml_dict[\u0027vcpus\u0027], \\"},{"line_number":214,"context_line":"                    \u0027mac_address\u0027: xml_dict[\u0027mac_address\u0027], \\"},{"line_number":215,"context_line":"                    \u0027user_data\u0027: xml_dict[\u0027user_data\u0027], \\"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BCI%3D","line":212,"updated":"2012-01-25 20:47:59.000000000","message":"You don\u0027t need backslashes at the ends of these lines. See HACKING for a suggestion on formatting large dictionaries.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            state \u003d self.baremetal_nodes.activate_node(node_id,"},{"line_number":230,"context_line":"                node_ip, new_dom[\u0027name\u0027], new_dom[\u0027mac_address\u0027], \\"},{"line_number":231,"context_line":"                new_dom[\u0027ip_address\u0027], new_dom[\u0027user_data\u0027])"},{"line_number":232,"context_line":"            LOG.debug(_(\"BEFORE last self.change_domain_state ++++++++++++\"))"},{"line_number":233,"context_line":"            self.change_domain_state(new_dom[\u0027name\u0027], state)"},{"line_number":234,"context_line":"        except:"},{"line_number":235,"context_line":"            self.domains.remove(new_dom)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBw%3D","line":232,"updated":"2012-01-25 20:47:59.000000000","message":"Looks like an unnecessary debug string.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        \"\"\""},{"line_number":245,"context_line":"        l \u003d self.find_domain(name)"},{"line_number":246,"context_line":"        if l \u003d\u003d []:"},{"line_number":247,"context_line":"            raise exception.NotFound(\"No such domain exists\")"},{"line_number":248,"context_line":"        i \u003d self.domains.index(l)"},{"line_number":249,"context_line":"        self.domains[i][\u0027status\u0027] \u003d state"},{"line_number":250,"context_line":"        LOG.debug(_(\"change_domain_state: to new state %s\"), str(state))"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBs%3D","line":247,"updated":"2012-01-25 20:47:59.000000000","message":"i18n","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"301731fe04bc575d608517cead5248d4028ea65a","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        \"\"\""},{"line_number":288,"context_line":"        domain \u003d self.find_domain(instance_name)"},{"line_number":289,"context_line":"        if domain !\u003d []:"},{"line_number":290,"context_line":"            return [domain[\u0027status\u0027], domain[\u0027memory_kb\u0027], \\"},{"line_number":291,"context_line":"                    domain[\u0027memory_kb\u0027], \\"},{"line_number":292,"context_line":"                    domain[\u0027vcpus\u0027], \\"},{"line_number":293,"context_line":"                    100]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAEH%2F%2F%2BBk%3D","line":290,"updated":"2012-01-25 20:47:59.000000000","message":"Same thing goes here for backslashes, you can break lists across lines.","commit_id":"f2f07c200ca71081f3c6d988b037aa365799b260"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from nova import flags"},{"line_number":19,"context_line":"from nova import log as logging"},{"line_number":20,"context_line":"from nova import utils"},{"line_number":21,"context_line":"from nova.compute import power_state"},{"line_number":22,"context_line":"from nova.virt.baremetal import nodes"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"FLAGS \u003d flags.FLAGS"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9Jc%3D","line":21,"updated":"2012-01-29 17:57:27.000000000","message":"This import should be at the top of this block","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                    \u0027ramdisk_id\u0027: xml_dict[\u0027ramdisk_id\u0027],"},{"line_number":197,"context_line":"                     \u0027status\u0027: power_state.BUILDING}"},{"line_number":198,"context_line":"        self.domains.append(new_dom)"},{"line_number":199,"context_line":"        LOG.debug(_(new_dom))"},{"line_number":200,"context_line":"        self.change_domain_state(new_dom[\u0027name\u0027], power_state.BUILDING)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        self.baremetal_nodes.set_image(bpath, node_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JY%3D","line":199,"updated":"2012-01-29 17:57:27.000000000","message":"The i18n here is not going to help with anything. It has to contain a static string. You could change it something like this:\n\n\nmsg \u003d _(\"Created new domain: %s\")\n\nLOG.debug(msg % (new_dom))","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        Stores fake domains to the file."},{"line_number":232,"context_line":"        \"\"\""},{"line_number":233,"context_line":"        LOG.debug(_(\"store fake domains to the file\"))"},{"line_number":234,"context_line":"        LOG.debug(_(\"-------\"))"},{"line_number":235,"context_line":"        LOG.debug(_(self.domains))"},{"line_number":236,"context_line":"        LOG.debug(_(\"-------\"))"},{"line_number":237,"context_line":"        write_domains(self.fake_dom_file, self.domains)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JQ%3D","line":234,"updated":"2012-01-29 17:57:27.000000000","message":"I would really prefer if you didn\u0027t log these dashes. Rather, you should just put everything you want to log in a single line. We typically have multiple processes logging to the same file, and these will only make it more confusing.\n\nThere are several places where you are breaking up log lines that need to be addressed. Lines like 164 apply here, too.","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"}],"nova/virt/baremetal/fake.py":[{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return False"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def find_ip_w_id(self, id):"},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        Returns default IP address of the given node"},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        return \"127.0.0.1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHI%3D","line":61,"updated":"2011-11-10 21:50:45.000000000","message":"Can this be a bit better named what does the \"w\" mean","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"}],"nova/virt/baremetal/nodes.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    elif d \u003d\u003d \u0027fake\u0027:"},{"line_number":33,"context_line":"        return fake.get_baremetal_nodes()"},{"line_number":34,"context_line":"    else:"},{"line_number":35,"context_line":"        raise Exception(\u0027Unknown baremetal driver \"%s\"\u0027 % d)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JM%3D","line":35,"updated":"2012-01-29 17:57:27.000000000","message":"Please create an exception in nova/exception that inherits from NovaException (or another appropriate exception from that file).","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"}],"nova/virt/baremetal/proxy.py":[{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    @exception.wrap_exception"},{"line_number":175,"context_line":"    def attach_volume(self, instance_name, device_path, mountpoint):"},{"line_number":176,"context_line":"        raise exception.APIError(\"attach_volume not supported for baremetal.\")"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @exception.wrap_exception"},{"line_number":179,"context_line":"    def detach_volume(self, instance_name, mountpoint):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FH8%3D","line":176,"updated":"2011-11-10 21:50:45.000000000","message":"Is this going to be supported in the future if not, remove.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"714eb1430f6309be973a144748cde0c41c31b567","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    @exception.wrap_exception"},{"line_number":175,"context_line":"    def attach_volume(self, instance_name, device_path, mountpoint):"},{"line_number":176,"context_line":"        raise exception.APIError(\"attach_volume not supported for baremetal.\")"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @exception.wrap_exception"},{"line_number":179,"context_line":"    def detach_volume(self, instance_name, mountpoint):"},{"line_number":180,"context_line":"        raise exception.APIError(\"detach_volume not supported for baremetal.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2BtY%3D","line":177,"updated":"2011-11-13 16:55:00.000000000","message":"I think it should be supported. Baremetal environments could attach volumes via SAN or via LVM.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    @exception.wrap_exception"},{"line_number":179,"context_line":"    def detach_volume(self, instance_name, mountpoint):"},{"line_number":180,"context_line":"        raise exception.APIError(\"detach_volume not supported for baremetal.\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    @exception.wrap_exception"},{"line_number":183,"context_line":"    def snapshot(self, instance, image_id):"},{"line_number":184,"context_line":"        raise exception.APIError(\"snapshot not supported for baremetal.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FH4%3D","line":181,"updated":"2011-11-10 21:50:45.000000000","message":"Is this going to be supported in the future if not, remove.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"714eb1430f6309be973a144748cde0c41c31b567","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    @exception.wrap_exception"},{"line_number":179,"context_line":"    def detach_volume(self, instance_name, mountpoint):"},{"line_number":180,"context_line":"        raise exception.APIError(\"detach_volume not supported for baremetal.\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    @exception.wrap_exception"},{"line_number":183,"context_line":"    def snapshot(self, instance, image_id):"},{"line_number":184,"context_line":"        raise exception.APIError(\"snapshot not supported for baremetal.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2BtU%3D","line":181,"updated":"2011-11-13 16:55:00.000000000","message":"See above - but I think this should be supported.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @exception.wrap_exception"},{"line_number":183,"context_line":"    def snapshot(self, instance, image_id):"},{"line_number":184,"context_line":"        raise exception.APIError(\"snapshot not supported for baremetal.\")"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    @exception.wrap_exception"},{"line_number":187,"context_line":"    def reboot(self, instance):"},{"line_number":188,"context_line":"        timer \u003d utils.LoopingCall(f\u003dNone)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FH0%3D","line":185,"updated":"2011-11-10 21:50:45.000000000","message":"Is this going to be supported in the future if not, remove.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"714eb1430f6309be973a144748cde0c41c31b567","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @exception.wrap_exception"},{"line_number":183,"context_line":"    def snapshot(self, instance, image_id):"},{"line_number":184,"context_line":"        raise exception.APIError(\"snapshot not supported for baremetal.\")"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    @exception.wrap_exception"},{"line_number":187,"context_line":"    def reboot(self, instance):"},{"line_number":188,"context_line":"        timer \u003d utils.LoopingCall(f\u003dNone)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2BtQ%3D","line":185,"updated":"2011-11-13 16:55:00.000000000","message":"Try not to be surprised, but I think this should be supported too.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    @exception.wrap_exception"},{"line_number":203,"context_line":"    def pause(self, instance, callback):"},{"line_number":204,"context_line":"        raise exception.ApiError(\"pause not supported for baremetal.\")"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @exception.wrap_exception"},{"line_number":207,"context_line":"    def unpause(self, instance, callback):"},{"line_number":208,"context_line":"        raise exception.ApiError(\"unpause not supported for baremetal.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHw%3D","line":205,"updated":"2011-11-10 21:50:45.000000000","message":"ditto","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    @exception.wrap_exception"},{"line_number":207,"context_line":"    def unpause(self, instance, callback):"},{"line_number":208,"context_line":"        raise exception.ApiError(\"unpause not supported for baremetal.\")"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @exception.wrap_exception"},{"line_number":211,"context_line":"    def suspend(self, instance, callback):"},{"line_number":212,"context_line":"        raise exception.ApiError(\"suspend not supported for baremetal\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHs%3D","line":209,"updated":"2011-11-10 21:50:45.000000000","message":"ditto","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":210,"context_line":"    @exception.wrap_exception"},{"line_number":211,"context_line":"    def suspend(self, instance, callback):"},{"line_number":212,"context_line":"        raise exception.ApiError(\"suspend not supported for baremetal\")"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    @exception.wrap_exception"},{"line_number":215,"context_line":"    def resume(self, instance, callback):"},{"line_number":216,"context_line":"        raise exception.ApiError(\"resume not supported for baremetal\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHo%3D","line":213,"updated":"2011-11-10 21:50:45.000000000","message":"ditto","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    @exception.wrap_exception"},{"line_number":215,"context_line":"    def resume(self, instance, callback):"},{"line_number":216,"context_line":"        raise exception.ApiError(\"resume not supported for baremetal\")"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    @exception.wrap_exception"},{"line_number":219,"context_line":"    def rescue(self, context, instance, callback, network_info):"},{"line_number":220,"context_line":"        \"\"\"Loads a VM using rescue images."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHk%3D","line":217,"updated":"2011-11-10 21:50:45.000000000","message":"ditto","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        return timer.start(interval\u003d0.5, now\u003dTrue)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def _flush_xen_console(self, virsh_output):"},{"line_number":309,"context_line":"        raise NotImplementedError()"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def _dump_file(self, fpath):"},{"line_number":312,"context_line":"        fp \u003d open(fpath, \u0027r+\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FUY%3D","line":309,"updated":"2011-11-11 10:20:12.000000000","message":"This looks quite superfluous.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        if FLAGS.baremetal_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":399,"context_line":"            container_dir \u003d \u0027%s/rootfs\u0027 % basepath(suffix\u003d\u0027\u0027)"},{"line_number":400,"context_line":"            utils.execute(\u0027mkdir\u0027, \u0027-p\u0027, container_dir)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        # NOTE(vish): No need add the suffix to console.log"},{"line_number":403,"context_line":"        os.close(os.open(basepath(\u0027console.log\u0027, \u0027\u0027),"},{"line_number":404,"context_line":"                         os.O_CREAT | os.O_WRONLY, 0660))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHY%3D","line":401,"updated":"2011-11-10 21:50:45.000000000","message":"I am not sure what is happening here","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"ef96a426686d1f96712ab1918a696d0657c3da85","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            driver_type \u003d \u0027qcow2\u0027"},{"line_number":546,"context_line":"        else:"},{"line_number":547,"context_line":"            driver_type \u003d \u0027raw\u0027"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"        xml_info \u003d {\u0027type\u0027: FLAGS.baremetal_type,"},{"line_number":550,"context_line":"                    \u0027name\u0027: instance[\u0027name\u0027],"},{"line_number":551,"context_line":"                    \u0027basepath\u0027: os.path.join(FLAGS.instances_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FHQ%3D","line":548,"updated":"2011-11-10 21:50:45.000000000","message":"Is the use of cow_images necessary?","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        return self._host_state"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def init_host(self, host):"},{"line_number":106,"context_line":"        # NOTE(nsokolov): moved instance restarting to ComputeManager"},{"line_number":107,"context_line":"        pass"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _get_connection(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JI%3D","line":106,"updated":"2012-01-29 17:57:27.000000000","message":"This log line doesn\u0027t seem to belong here","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                break"},{"line_number":142,"context_line":"            except Exception as ex:"},{"line_number":143,"context_line":"                msg \u003d _(\"Error encountered when destroying instance \u0027%(id)s\u0027: \""},{"line_number":144,"context_line":"                        \"%(ex)s\") % {\"id\": instance[\"id\"], \"ex\": ex}"},{"line_number":145,"context_line":"                LOG.debug(msg)"},{"line_number":146,"context_line":"                break"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JE%3D","line":144,"updated":"2012-01-29 17:57:27.000000000","message":"You should use instance uuid, not id or name, wherever possible","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"}],"nova/virt/baremetal/tilera.py":[{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        \"\"\""},{"line_number":308,"context_line":"        Sets and Runs sshd in the node"},{"line_number":309,"context_line":"        \"\"\""},{"line_number":310,"context_line":"        utils.execute(\u0027/usr/local/TileraMDE/bin/tile-monitor\u0027, \\"},{"line_number":311,"context_line":"            \u0027--resume\u0027, \u0027--net\u0027, node_ip, \u0027--run\u0027, \u0027-\u0027, \\"},{"line_number":312,"context_line":"            \u0027/usr/sbin/sshd\u0027, \u0027-\u0027, \u0027--wait\u0027, \u0027--quit\u0027)"},{"line_number":313,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FUk%3D","line":310,"updated":"2011-11-11 10:20:12.000000000","message":"Can you turn this value into a FLAG, please?","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    def set_image(self, bpath, node_id):"},{"line_number":358,"context_line":"        \"\"\""},{"line_number":359,"context_line":"        Sets the PXE bare-metal file system from the instance path"},{"line_number":360,"context_line":"            after euca key is injected"},{"line_number":361,"context_line":"        /tftpboot/fs_x directory is a NFS of node#x"},{"line_number":362,"context_line":"        /tftpboot/root_x file is an file system image of node#x"},{"line_number":363,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FUg%3D","line":360,"updated":"2011-11-11 10:20:12.000000000","message":"Please don\u0027t say \"euca\" in our source code :)","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"72c145ca2db2a39d0cc3cd6ed65daa80a0df97e3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"from nova.compute import power_state"},{"line_number":51,"context_line":"from nova.virt import disk"},{"line_number":52,"context_line":"from nova.virt import driver"},{"line_number":53,"context_line":"from nova.virt import images"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"flags.DEFINE_string(\u0027tile_monitor\u0027, \u0027/usr/local/TileraMDE/bin/tile-monitor\u0027,"},{"line_number":56,"context_line":"                    \u0027Tilera command line program for Bare-metal driver\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAADH%2F%2F%2F4Q%3D","line":53,"updated":"2011-12-28 19:54:05.000000000","message":"The majority of these imports are unused. Please delete the ones you don\u0027t need.","commit_id":"8b3e5dddab56409f9bddb9163f6c2d96f5d30665"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from nova import flags"},{"line_number":31,"context_line":"from nova import log as logging"},{"line_number":32,"context_line":"from nova import utils"},{"line_number":33,"context_line":"from nova.compute import power_state"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"flags.DEFINE_string(\u0027tile_monitor\u0027, \u0027/usr/local/TileraMDE/bin/tile-monitor\u0027,"},{"line_number":36,"context_line":"                    \u0027Tilera command line program for Bare-metal driver\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9JA%3D","line":33,"updated":"2012-01-29 17:57:27.000000000","message":"this import should be at the top of this block","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            \"ifconfig xgbe0 hw ether \" + mac_address + \\"},{"line_number":237,"context_line":"            \" - --wait --run - ifconfig xgbe0 \" + ip_address + \\"},{"line_number":238,"context_line":"            \" - --wait --quit\""},{"line_number":239,"context_line":"        subprocess.Popen(cmd, shell\u003dTrue)"},{"line_number":240,"context_line":"        self.sleep_mgr(5)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def iptables_set(self, node_ip, user_data):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9I8%3D","line":239,"updated":"2012-01-29 17:57:27.000000000","message":"You should use nova.utils.execute for any command-line interaction","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"}],"nova/virt/connection.py":[{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"fdf53022fbcb31423419658f343b38475c9dc201","unresolved":false,"context_lines":[{"line_number":36,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"if FLAGS.connection_type \u003d\u003d \u0027baremetal\u0027:"},{"line_number":39,"context_line":"    from nova.virt.baremetal import proxy"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def get_connection(read_only\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACn%2F%2F%2FVU%3D","line":39,"updated":"2011-11-11 10:20:12.000000000","message":"This is a bit too generically named.","commit_id":"39404c0043f0b303c727bc158fe0133549da2ff4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e733b9236d9fa8aa73ca7a157f4532422c0b6600","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    elif t \u003d\u003d \u0027vmwareapi\u0027:"},{"line_number":80,"context_line":"        conn \u003d vmwareapi_conn.get_connection(read_only)"},{"line_number":81,"context_line":"    elif t \u003d\u003d \u0027baremetal\u0027:"},{"line_number":82,"context_line":"        print \u0027Starting with Bare-metal support\u0027"},{"line_number":83,"context_line":"        conn \u003d proxy.get_connection(read_only)"},{"line_number":84,"context_line":"    else:"},{"line_number":85,"context_line":"        raise Exception(\u0027Unknown connection type \"%s\"\u0027 % t)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEH%2F%2F9I4%3D","line":82,"updated":"2012-01-29 17:57:27.000000000","message":"This print statement doesn\u0027t belong here","commit_id":"2a3c319ab6921ae5bb0865bb9a1034512cfd085c"}]}
