)]}'
{"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"8b0e71dfa2a73a7f5376ae731107f96efa458b15","unresolved":false,"context_lines":[{"line_number":459,"context_line":"# defined by the config_dir option, or absolute paths. The"},{"line_number":460,"context_line":"# file defined by policy_file must exist for these directories"},{"line_number":461,"context_line":"# to be searched. (multi valued)"},{"line_number":462,"context_line":"#policy_dirs\u003dpolicy.d"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"[agent]"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"9a80dd14_b9293e9d","side":"PARENT","line":462,"updated":"2015-03-18 16:21:00.000000000","message":"How did this get removed?","commit_id":"865c8078ad064f7cf6ead1d2c0f5fd9476500676"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"a8d2ab24bada251aac4a174aff95673d048b4489","unresolved":false,"context_lines":[{"line_number":459,"context_line":"# defined by the config_dir option, or absolute paths. The"},{"line_number":460,"context_line":"# file defined by policy_file must exist for these directories"},{"line_number":461,"context_line":"# to be searched. (multi valued)"},{"line_number":462,"context_line":"#policy_dirs\u003dpolicy.d"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"[agent]"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"9a80dd14_a0002203","side":"PARENT","line":462,"in_reply_to":"9a80dd14_b9293e9d","updated":"2015-03-18 16:42:37.000000000","message":"actually not sure , generate_sample.sh gave me this o/p , have ran on master also , it shows me this o/p :( . so thought conf file is not up-to-date or something.","commit_id":"865c8078ad064f7cf6ead1d2c0f5fd9476500676"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"e8ae3d06c447c0c67298dfe532e39bf4a409d66d","unresolved":false,"context_lines":[{"line_number":461,"context_line":"# to be searched. (multi valued)"},{"line_number":462,"context_line":"#policy_dirs\u003dpolicy.d"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"[agent]"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9a80dd14_a65d95ee","side":"PARENT","line":464,"updated":"2015-03-18 18:26:30.000000000","message":"to Jim question on patch set 3, this was removed with: Change-Id: I6a2a608282039ce5c1e711cae2635918d04fd0a2","commit_id":"865c8078ad064f7cf6ead1d2c0f5fd9476500676"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"365517214974ab863ea37a68837ef71d3574f2fe","unresolved":false,"context_lines":[{"line_number":952,"context_line":"#"},{"line_number":953,"context_line":""},{"line_number":954,"context_line":"# Priority to run in-band erase devices via the Ironic Python"},{"line_number":955,"context_line":"# Agent ramdisk. If unset, will use the priority set in the"},{"line_number":956,"context_line":"# ramdisk (defaults to 10). If set to 0, will not run during"},{"line_number":957,"context_line":"# cleaning. (integer value)"},{"line_number":958,"context_line":"#clean_priority_erase_devices\u003d\u003cNone\u003e"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9a80dd14_fdac6fa1","line":955,"updated":"2015-03-18 22:09:27.000000000","message":"Prefer just say \"priority to run erase devices\u0027 giving that this driver may use different mechanism to perform disk erase in future releases.","commit_id":"81e783bbff30642ea5e096bc0d7471b75ecc5298"}],"ironic/drivers/modules/ilo/deploy.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"139091cd40b899ad3d85cd19275f025660c36da6","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    def prepare_cleaning(self, task):"},{"line_number":457,"context_line":"        \"\"\"Boot into the agent to prepare for cleaning.\"\"\""},{"line_number":458,"context_line":"        # Create cleaning ports if necessary"},{"line_number":459,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"},{"line_number":460,"context_line":"        if getattr(provider.provider, \u0027create_cleaning_ports\u0027, None):"},{"line_number":461,"context_line":"            provider.provider.create_cleaning_ports(task)"},{"line_number":462,"context_line":"        _prepare_agent_vmedia_boot(task)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d64b8aaf","line":459,"updated":"2015-03-16 18:40:29.000000000","message":"If you\u0027re using vmedia_boot, why are you using DHCP? I thought that one of the major gains of using vmedia was to avoid the dependency on DHCP booting?","commit_id":"3ac8971af1d084d4b40284d9dc0edbe3b0ae22c1"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"860c6e1a06ba640f728e3015cf6b5be1c9d3170e","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    def prepare_cleaning(self, task):"},{"line_number":457,"context_line":"        \"\"\"Boot into the agent to prepare for cleaning.\"\"\""},{"line_number":458,"context_line":"        # Create cleaning ports if necessary"},{"line_number":459,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"},{"line_number":460,"context_line":"        if getattr(provider.provider, \u0027create_cleaning_ports\u0027, None):"},{"line_number":461,"context_line":"            provider.provider.create_cleaning_ports(task)"},{"line_number":462,"context_line":"        _prepare_agent_vmedia_boot(task)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d93731e3","line":459,"in_reply_to":"9a80dd14_d64b8aaf","updated":"2015-03-16 22:25:32.000000000","message":"OH - because this is using the agent, and the agent must get on the network to \"phone home\" to ironic-api, it needs an IP address. So that\u0027s why you need a DHCP provider here -- if it is neutron, then the agent_ilo driver needs to notify neutron to allocate an address for this node temporarily. (And if the DHCP provider is \u0027None\u0027, then this is a no-op).","commit_id":"3ac8971af1d084d4b40284d9dc0edbe3b0ae22c1"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"d615986fe62d2cd0b355e96184cf88967fc1ce02","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               help\u003d\u0027Priority to run in-band erase devices via the Ironic \u0027"},{"line_number":55,"context_line":"                    \u0027Python Agent ramdisk. If unset, will use the priority \u0027"},{"line_number":56,"context_line":"                    \u0027set in the ramdisk (defaults to 10). If set to 0, will\u0027"},{"line_number":57,"context_line":"                    \u0027  not run during cleaning.\u0027)"},{"line_number":58,"context_line":"              ]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REQUIRED_PROPERTIES \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_a0a742a6","line":57,"updated":"2015-03-18 16:35:47.000000000","message":"really-a-nit: better if the beginning space was on previous line.","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"a8d2ab24bada251aac4a174aff95673d048b4489","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               help\u003d\u0027Priority to run in-band erase devices via the Ironic \u0027"},{"line_number":55,"context_line":"                    \u0027Python Agent ramdisk. If unset, will use the priority \u0027"},{"line_number":56,"context_line":"                    \u0027set in the ramdisk (defaults to 10). If set to 0, will\u0027"},{"line_number":57,"context_line":"                    \u0027  not run during cleaning.\u0027)"},{"line_number":58,"context_line":"              ]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REQUIRED_PROPERTIES \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_23b99c79","line":57,"in_reply_to":"9a80dd14_a0a742a6","updated":"2015-03-18 16:42:37.000000000","message":"Done","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"d615986fe62d2cd0b355e96184cf88967fc1ce02","unresolved":false,"context_lines":[{"line_number":271,"context_line":"    manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"def _prepare_agent_vmedia_boot(task):"},{"line_number":275,"context_line":"    \"\"\"prepare for vmedia boot.\"\"\""},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    deploy_ramdisk_opts \u003d agent.build_agent_options(task.node)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_2086f2db","line":274,"updated":"2015-03-18 16:35:47.000000000","message":"nit: it\u0027s applicable for dib ramdisk as well - why not _prepare_deploy_iso_boot() ?","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"a8d2ab24bada251aac4a174aff95673d048b4489","unresolved":false,"context_lines":[{"line_number":271,"context_line":"    manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"def _prepare_agent_vmedia_boot(task):"},{"line_number":275,"context_line":"    \"\"\"prepare for vmedia boot.\"\"\""},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    deploy_ramdisk_opts \u003d agent.build_agent_options(task.node)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8357a825","line":274,"in_reply_to":"9a80dd14_2086f2db","updated":"2015-03-18 16:42:37.000000000","message":"It has agent options, so cant be used by iscsi_ilo driver","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"8b0e71dfa2a73a7f5376ae731107f96efa458b15","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                if (step.get(\u0027step\u0027) \u003d\u003d \u0027erase_devices\u0027 and"},{"line_number":462,"context_line":"                        steps.get(\u0027interface\u0027) \u003d\u003d \u0027deploy\u0027):"},{"line_number":463,"context_line":"                    # Override with operator set priority"},{"line_number":464,"context_line":"                    step[\u0027priority\u0027] \u003d CONF.ilo.clean_priority_erase_devices"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        return steps"},{"line_number":467,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_7d75f130","line":464,"updated":"2015-03-18 16:21:00.000000000","message":"This is... interesting. I think I like it :)\n\nCurious what Josh and others think.","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"3d32af3454fe16bd650778d39cf6b17880fdc5c9","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                if (step.get(\u0027step\u0027) \u003d\u003d \u0027erase_devices\u0027 and"},{"line_number":462,"context_line":"                        steps.get(\u0027interface\u0027) \u003d\u003d \u0027deploy\u0027):"},{"line_number":463,"context_line":"                    # Override with operator set priority"},{"line_number":464,"context_line":"                    step[\u0027priority\u0027] \u003d CONF.ilo.clean_priority_erase_devices"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        return steps"},{"line_number":467,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_0399f86d","line":464,"in_reply_to":"9a80dd14_7d75f130","updated":"2015-03-18 16:35:54.000000000","message":"Reasonable IMHO, but I\u0027m doing the exact same thing :P","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"a8d2ab24bada251aac4a174aff95673d048b4489","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                if (step.get(\u0027step\u0027) \u003d\u003d \u0027erase_devices\u0027 and"},{"line_number":462,"context_line":"                        steps.get(\u0027interface\u0027) \u003d\u003d \u0027deploy\u0027):"},{"line_number":463,"context_line":"                    # Override with operator set priority"},{"line_number":464,"context_line":"                    step[\u0027priority\u0027] \u003d CONF.ilo.clean_priority_erase_devices"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        return steps"},{"line_number":467,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_e314e4a0","line":464,"in_reply_to":"9a80dd14_7d75f130","updated":"2015-03-18 16:42:37.000000000","message":"taken from Josh patch though :)","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"329e89b4a9890993bf2df2a5b00537c858d21c4b","unresolved":false,"context_lines":[{"line_number":477,"context_line":"    def prepare_cleaning(self, task):"},{"line_number":478,"context_line":"        \"\"\"Boot into the agent to prepare for cleaning.\"\"\""},{"line_number":479,"context_line":"        # Create cleaning ports if necessary"},{"line_number":480,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        # If we have left over ports from a previous cleaning, remove them"},{"line_number":483,"context_line":"        if getattr(provider.provider, \u0027delete_cleaning_ports\u0027, None):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8380888c","line":480,"updated":"2015-03-18 16:49:12.000000000","message":"nit - better to name it factory (or assign dhcp_factory.DHCPFactory().provider)","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"329e89b4a9890993bf2df2a5b00537c858d21c4b","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        \"\"\"Clean up the PXE and DHCP files after cleaning.\"\"\""},{"line_number":495,"context_line":"        manager_utils.node_power_action(task, states.POWER_OFF)"},{"line_number":496,"context_line":"        # If we created cleaning ports, delete them"},{"line_number":497,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"},{"line_number":498,"context_line":"        if getattr(provider.provider, \u0027delete_cleaning_ports\u0027, None):"},{"line_number":499,"context_line":"            provider.provider.delete_cleaning_ports(task)"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_2347dc78","line":497,"updated":"2015-03-18 16:49:12.000000000","message":"ditto factory","commit_id":"3a754e6d6997db791a3fead8e5a7e75b90b45bcd"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"365517214974ab863ea37a68837ef71d3574f2fe","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    cfg.IntOpt(\u0027clean_priority_erase_devices\u0027,"},{"line_number":54,"context_line":"               help\u003d\u0027Priority to run in-band erase devices via the Ironic \u0027"},{"line_number":55,"context_line":"                    \u0027Python Agent ramdisk. If unset, will use the priority \u0027"},{"line_number":56,"context_line":"                    \u0027set in the ramdisk (defaults to 10). If set to 0, will \u0027"},{"line_number":57,"context_line":"                    \u0027not run during cleaning.\u0027)"},{"line_number":58,"context_line":"              ]"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_dd9b2b15","line":56,"updated":"2015-03-18 22:09:27.000000000","message":"nit- ditto for help msg to just says \u0027priority to run erase devices\u0027.","commit_id":"81e783bbff30642ea5e096bc0d7471b75ecc5298"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"7c32072c670374f10a75974c12b48e3bcdc05b04","unresolved":false,"context_lines":[{"line_number":460,"context_line":"                    # Override with operator set priority"},{"line_number":461,"context_line":"                    step[\u0027priority\u0027] \u003d CONF.ilo.clean_priority_erase_devices"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        return steps"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def execute_clean_step(self, task, step):"},{"line_number":466,"context_line":"        \"\"\"Execute a clean step asynchronously on the agent."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_bc3bb436","line":463,"updated":"2015-03-19 15:14:13.000000000","message":"We should (later) break this out into a common method, since agent deploy driver has the same code :)","commit_id":"b0490b56f92509522ab55db8b8b343b14bfa24bf"}],"ironic/tests/drivers/ilo/test_deploy.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2b22a643a8a30669316a784446bfa6d14c9feb23","unresolved":false,"context_lines":[{"line_number":464,"context_line":"            create_port_mock.assert_called_once_with(task)"},{"line_number":465,"context_line":"            delete_mock.assert_called_once_with(task)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    @mock.patch(\u0027ironic.dhcp.neutron.NeutronDHCPApi.create_cleaning_ports\u0027)"},{"line_number":468,"context_line":"    @mock.patch.object(manager_utils, \u0027node_power_action\u0027)"},{"line_number":469,"context_line":"    def test_tear_down_cleaning(self, power_mock, create_port_mock):"},{"line_number":470,"context_line":"        with task_manager.acquire("}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_5de72912","line":467,"updated":"2015-03-19 09:08:01.000000000","message":"mock ironic.dhcp.neutron.NeutronDHCPApi.delete_cleaning_ports","commit_id":"2128c20fdca82032a1e4d2a359dd3883cf7769bd"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2b22a643a8a30669316a784446bfa6d14c9feb23","unresolved":false,"context_lines":[{"line_number":471,"context_line":"                self.context, self.node[\u0027uuid\u0027], shared\u003dFalse) as task:"},{"line_number":472,"context_line":"            task.driver.deploy.tear_down(task)"},{"line_number":473,"context_line":"            power_mock.assert_called_once_with(task, states.POWER_OFF)"},{"line_number":474,"context_line":"            create_port_mock.assert_called_once()"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    @mock.patch.object(deploy_utils, \u0027agent_execute_clean_step\u0027)"},{"line_number":477,"context_line":"    def test_execute_clean_step(self, execute_mock):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_9ded21f3","line":474,"updated":"2015-03-19 09:08:01.000000000","message":"assert_called_once_with","commit_id":"2128c20fdca82032a1e4d2a359dd3883cf7769bd"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2b22a643a8a30669316a784446bfa6d14c9feb23","unresolved":false,"context_lines":[{"line_number":482,"context_line":""},{"line_number":483,"context_line":"    @mock.patch.object(deploy_utils, \u0027agent_get_clean_steps\u0027)"},{"line_number":484,"context_line":"    def test_get_clean_steps_with_conf_option(self, get_clean_step_mock):"},{"line_number":485,"context_line":"        CONF.ilo.clean_priority_erase_devices \u003d 20"},{"line_number":486,"context_line":"        get_clean_step_mock.return_value \u003d [{"},{"line_number":487,"context_line":"                \u0027step\u0027: \u0027erase_devices\u0027,"},{"line_number":488,"context_line":"                \u0027priority\u0027: 10,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_fde29dd3","line":485,"updated":"2015-03-19 09:08:01.000000000","message":"better use \n\n  self.config(clean_priority_erase_devices\u003d20, group\u003d\u0027ilo\u0027)","commit_id":"2128c20fdca82032a1e4d2a359dd3883cf7769bd"}]}
