)]}'
{"openstack/tests/functional/compute/v2/test_image.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"0072625725568705be4fff7d0c4e31db0a362b41","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.assertEqual(image.id, sot.id)"},{"line_number":39,"context_line":"        self.assertEqual(image.name, sot.name)"},{"line_number":40,"context_line":"        self.assertIn(\u0027links\u0027, sot)"},{"line_number":41,"context_line":"        self.assertIn(\u0027minDisk\u0027, sot)"},{"line_number":42,"context_line":"        self.assertIn(\u0027minRam\u0027, sot)"},{"line_number":43,"context_line":"        self.assertIn(\u0027metadata\u0027, sot)"},{"line_number":44,"context_line":"        self.assertIn(\u0027progress\u0027, sot)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba15a1d1_2fc6cf67","line":41,"updated":"2015-09-14 19:52:07.000000000","message":"Should we check this or check that min_disk is an attribute? As written, the test ends up working because Resource is a MutableMapping, so when minDisk comes back in the body response we\u0027d be proving that, but we wouldn\u0027t be proving that min_disk - what users will use - is there.\n\n(same goes for min_ram)","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"}],"openstack/tests/functional/compute/v2/test_server.py":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"b999466280d5251135337b7360e0171fe5bdc2f1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        raise Exception(\"Could not find large flavor\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @classmethod"},{"line_number":35,"context_line":"    def get_image(cls):"},{"line_number":36,"context_line":"        for image in cls.conn.image.images():"},{"line_number":37,"context_line":"            # image v1 does not have status"},{"line_number":38,"context_line":"            if image.status is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_bf283198","line":35,"updated":"2015-09-06 19:30:12.000000000","message":"I had to do this exact same thing for test_image [1]. There should only be one style/function for ensuring you get a non-test image/flavor. Have a look at that function. We can use this or that or some mix of the two and perhaps put it in a better place so it can be easily reused.\n\n[1] http://git.openstack.org/cgit/stackforge/python-openstacksdk/tree/openstack/tests/functional/compute/v2/test_image.py#n27","commit_id":"d75c4f5b8d222505d1b7a67e087c1a3c54ce10a1"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"b999466280d5251135337b7360e0171fe5bdc2f1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            # image v1 does not have status"},{"line_number":38,"context_line":"            if image.status is None:"},{"line_number":39,"context_line":"                return image"},{"line_number":40,"context_line":"            if image.status \u003d\u003d \u0027actiVE\u0027:"},{"line_number":41,"context_line":"                return image"},{"line_number":42,"context_line":"        raise Exception(\"Could not find active image\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_5f1a357e","line":40,"updated":"2015-09-06 19:30:12.000000000","message":"actiVE?","commit_id":"d75c4f5b8d222505d1b7a67e087c1a3c54ce10a1"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"f4a18cdee9586af04771186e1fe90e951a583d35","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    subnet \u003d None"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def get_flavor(cls):"},{"line_number":30,"context_line":"        for flavor in cls.conn.compute.flavors():"},{"line_number":31,"context_line":"            if \u0027large\u0027 in flavor.name.lower():"},{"line_number":32,"context_line":"                return flavor"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_06a98d90","line":29,"updated":"2015-09-08 18:30:05.000000000","message":"Should this be made a module level function like get_bootable_image()?","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"f4a18cdee9586af04771186e1fe90e951a583d35","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def get_flavor(cls):"},{"line_number":30,"context_line":"        for flavor in cls.conn.compute.flavors():"},{"line_number":31,"context_line":"            if \u0027large\u0027 in flavor.name.lower():"},{"line_number":32,"context_line":"                return flavor"},{"line_number":33,"context_line":"        raise Exception(\"Could not find large flavor\")"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_a69a216d","line":31,"updated":"2015-09-08 18:30:05.000000000","message":"Just out of curiosity, why a large image? Can we get away with something that uses less resources?","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"e91598427b45da3e724493ca50c4325c66299100","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def get_flavor(cls):"},{"line_number":30,"context_line":"        for flavor in cls.conn.compute.flavors():"},{"line_number":31,"context_line":"            if \u0027large\u0027 in flavor.name.lower():"},{"line_number":32,"context_line":"                return flavor"},{"line_number":33,"context_line":"        raise Exception(\"Could not find large flavor\")"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_3ae70248","line":31,"in_reply_to":"da20952f_a69a216d","updated":"2015-09-08 20:08:18.000000000","message":"If we always knew we had some micro kernel embedded type Linux image, I think xsmall would do, but I don\u0027t know what image we are booting.  A large is a vm you could actually use.  I honestly haven\u0027t messed with a \u0027medium\u0027 enough to know if that would do.\n\nI always wanted to pull this data out of OCC so we could tune the test to the env, but this is very env independent at least.","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"}],"openstack/tests/functional/image/v2/test_image.py":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"f4a18cdee9586af04771186e1fe90e951a583d35","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # image v1 does not have status"},{"line_number":24,"context_line":"        if image.status is None:"},{"line_number":25,"context_line":"            return image"},{"line_number":26,"context_line":"        if image.status \u003d\u003d \u0027actiVE\u0027:"},{"line_number":27,"context_line":"            return image"},{"line_number":28,"context_line":"    raise Exception(\"Could not find active image\")"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_e677b939","line":26,"updated":"2015-09-08 18:30:05.000000000","message":"Is this spelling of \u0027actiVE\u0027 intentional?","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"e91598427b45da3e724493ca50c4325c66299100","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # image v1 does not have status"},{"line_number":24,"context_line":"        if image.status is None:"},{"line_number":25,"context_line":"            return image"},{"line_number":26,"context_line":"        if image.status \u003d\u003d \u0027actiVE\u0027:"},{"line_number":27,"context_line":"            return image"},{"line_number":28,"context_line":"    raise Exception(\"Could not find active image\")"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_faf0aaff","line":26,"in_reply_to":"da20952f_e677b939","updated":"2015-09-08 20:08:18.000000000","message":"No, why does this keep happening to me????","commit_id":"1f1d8ae2ddcd35c315d25965c4c862f01f95a298"}]}
