)]}'
{"ironic/tests/unit/drivers/modules/test_ipmitool.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c09c98b8dfe131338cbee031260b24126dab8c7c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"from ironic.common import states"},{"line_number":41,"context_line":"from ironic.common import utils"},{"line_number":42,"context_line":"from ironic.conductor import task_manager"},{"line_number":43,"context_line":"import ironic.conf"},{"line_number":44,"context_line":"from ironic.drivers.modules import console_utils"},{"line_number":45,"context_line":"from ironic.drivers.modules import ipmitool as ipmi"},{"line_number":46,"context_line":"from ironic.drivers import utils as driver_utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_54f266d3","line":43,"updated":"2016-08-15 18:02:25.000000000","message":"I see the coding guidelines say should not import objects: http://docs.openstack.org/developer/hacking/#imports","commit_id":"531bca4f6247e07573db09207150d3b37350d3cd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ade6bac2fc69f19a92efdd9332ed6032ea318a38","unresolved":false,"context_lines":[{"line_number":40,"context_line":"from ironic.common import states"},{"line_number":41,"context_line":"from ironic.common import utils"},{"line_number":42,"context_line":"from ironic.conductor import task_manager"},{"line_number":43,"context_line":"import ironic.conf"},{"line_number":44,"context_line":"from ironic.drivers.modules import console_utils"},{"line_number":45,"context_line":"from ironic.drivers.modules import ipmitool as ipmi"},{"line_number":46,"context_line":"from ironic.drivers import utils as driver_utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_0f502931","line":43,"updated":"2016-08-11 20:11:17.000000000","message":"This is correct, but looking through the code, I see that we use this pattern: \"from ironic.conf import CONF\". And then we wouldn\u0027t need line 53.\n\nMaybe it is a nit.","commit_id":"531bca4f6247e07573db09207150d3b37350d3cd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9dad34e51023001221d281775baa6135655c6057","unresolved":false,"context_lines":[{"line_number":40,"context_line":"from ironic.common import states"},{"line_number":41,"context_line":"from ironic.common import utils"},{"line_number":42,"context_line":"from ironic.conductor import task_manager"},{"line_number":43,"context_line":"import ironic.conf"},{"line_number":44,"context_line":"from ironic.drivers.modules import console_utils"},{"line_number":45,"context_line":"from ironic.drivers.modules import ipmitool as ipmi"},{"line_number":46,"context_line":"from ironic.drivers import utils as driver_utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_92acfdee","line":43,"in_reply_to":"3ac371cc_1582d300","updated":"2016-08-15 14:37:10.000000000","message":"Thx for the link. What is the reason for doing that? Do you know?","commit_id":"531bca4f6247e07573db09207150d3b37350d3cd"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"ec822f3f5925325e87e2c896312d6754519a5bb4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"from ironic.common import states"},{"line_number":41,"context_line":"from ironic.common import utils"},{"line_number":42,"context_line":"from ironic.conductor import task_manager"},{"line_number":43,"context_line":"import ironic.conf"},{"line_number":44,"context_line":"from ironic.drivers.modules import console_utils"},{"line_number":45,"context_line":"from ironic.drivers.modules import ipmitool as ipmi"},{"line_number":46,"context_line":"from ironic.drivers import utils as driver_utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_40bc6805","line":43,"in_reply_to":"3ac371cc_92acfdee","updated":"2016-08-15 16:42:47.000000000","message":"I\u0027m not sure about the reason, so I did a search for it, something I\u0027ve found:\n- if you want to use mock in unit tests to mock out say x.A, then that only works if you use import x.\n- Often multiple modules happen to define things with the same name, so a reader of the code doesn\u0027t have to go back to the top of the file to see from which module a given name is imported.","commit_id":"531bca4f6247e07573db09207150d3b37350d3cd"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"ff760d1595dbf48fdf7d2b88de0b1a19be5af1ea","unresolved":false,"context_lines":[{"line_number":40,"context_line":"from ironic.common import states"},{"line_number":41,"context_line":"from ironic.common import utils"},{"line_number":42,"context_line":"from ironic.conductor import task_manager"},{"line_number":43,"context_line":"import ironic.conf"},{"line_number":44,"context_line":"from ironic.drivers.modules import console_utils"},{"line_number":45,"context_line":"from ironic.drivers.modules import ipmitool as ipmi"},{"line_number":46,"context_line":"from ironic.drivers import utils as driver_utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_1582d300","line":43,"in_reply_to":"9ad45d7e_0f502931","updated":"2016-08-15 02:11:49.000000000","message":"There is a fired bug states that we only import module instead of class or variable. Please refer to:\nhttps://bugs.launchpad.net/watcher/+bug/1594434","commit_id":"531bca4f6247e07573db09207150d3b37350d3cd"}]}
