)]}'
{"ironic/drivers/modules/ilo/boot.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":15,"context_line":"iLO Deploy Driver(s) and supporting methods."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import tempfile"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_4fa0a890","line":18,"updated":"2015-10-15 10:35:16.000000000","message":"Better to use oslo_serialization\nhttp://docs.openstack.org/developer/oslo.serialization/api.html","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"iLO Deploy Driver(s) and supporting methods."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import tempfile"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_f5efcf1b","line":18,"in_reply_to":"5a2ca52d_4fa0a890","updated":"2015-10-16 10:24:27.000000000","message":"I think I can get away with base64.  I don\u0027t have a solid reason to do that.","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import tempfile"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_cf6278ad","line":19,"updated":"2015-10-15 10:35:16.000000000","message":"ditto","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"2f2ad5d91391a0f5d9496d4ebd4ff000aa4a81bc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import tempfile"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_3762263f","line":19,"in_reply_to":"5a2ca52d_35b9c715","updated":"2017-10-04 03:52:37.000000000","message":"I understand. Comment was more from standardization perspective. I think it should be ok to use native modules.","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import tempfile"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_35b9c715","line":19,"in_reply_to":"5a2ca52d_cf6278ad","updated":"2015-10-16 10:24:27.000000000","message":"Since this is a very primitive data structure that we are trying to serialize and we just need the json string, I think we just need to use json module here. Any other reason to use oslo_serialization ?","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CONF \u003d cfg.CONF"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"conf_opts \u003d ["},{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_d409b1de","line":49,"updated":"2015-10-15 10:35:16.000000000","message":"Would be better to call \u0027network\u0027 instead of \u0027ip\u0027 as the information is to configure network on baremetal.","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CONF \u003d cfg.CONF"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"conf_opts \u003d ["},{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_b5439712","line":49,"in_reply_to":"5a2ca52d_d409b1de","updated":"2015-10-16 10:24:27.000000000","message":"Done","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":48,"context_line":"conf_opts \u003d ["},{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"},{"line_number":53,"context_line":"]"},{"line_number":54,"context_line":"CONF.register_opts(conf_opts, group\u003d\u0027ilo\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_f404edc0","line":51,"updated":"2015-10-15 10:35:16.000000000","message":"s/IP/network","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"conf_opts \u003d ["},{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"},{"line_number":53,"context_line":"]"},{"line_number":54,"context_line":"CONF.register_opts(conf_opts, group\u003d\u0027ilo\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_554d633c","line":51,"in_reply_to":"5a2ca52d_f404edc0","updated":"2015-10-16 10:24:27.000000000","message":"Done","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"},{"line_number":53,"context_line":"]"},{"line_number":54,"context_line":"CONF.register_opts(conf_opts, group\u003d\u0027ilo\u0027)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_541da10d","line":52,"updated":"2015-10-15 10:35:16.000000000","message":"s/and makes/to make\n\nOne should not feel we are eliminating DHCP server. See if this adds clarity:-\n\ns/work without DHCP/ work without baremetal making DHCP request)","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027inject_ip_via_deploy_ramdisk\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option enables passing IP information via deploy \u0027"},{"line_number":52,"context_line":"                       \u0027ramdisk and makes deployment work without DHCP. \u0027))"},{"line_number":53,"context_line":"]"},{"line_number":54,"context_line":"CONF.register_opts(conf_opts, group\u003d\u0027ilo\u0027)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_95553bc3","line":52,"in_reply_to":"5a2ca52d_541da10d","updated":"2015-10-16 10:24:27.000000000","message":"Done","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f945268585663259fb49cd93d03dc4ca2ea9cfdb","unresolved":false,"context_lines":[{"line_number":328,"context_line":"            network_info \u003d {\u0027interfaces\u0027: []}"},{"line_number":329,"context_line":"            for port in task.ports:"},{"line_number":330,"context_line":"                port_info \u003d provider.get_network_info(task, port)"},{"line_number":331,"context_line":"                port_info[\u0027mac_address\u0027] \u003d port.address"},{"line_number":332,"context_line":"                network_info[\u0027interfaces\u0027].append(port_info)"},{"line_number":333,"context_line":"            ramdisk_params[\u0027networking_info\u0027] \u003d base64.b64encode("},{"line_number":334,"context_line":"                json.dumps(network_info).encode(\u0027ascii\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_b5e18ed2","line":331,"updated":"2015-10-15 11:43:33.000000000","message":"Why not add it to the base patch instead?","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":328,"context_line":"            network_info \u003d {\u0027interfaces\u0027: []}"},{"line_number":329,"context_line":"            for port in task.ports:"},{"line_number":330,"context_line":"                port_info \u003d provider.get_network_info(task, port)"},{"line_number":331,"context_line":"                port_info[\u0027mac_address\u0027] \u003d port.address"},{"line_number":332,"context_line":"                network_info[\u0027interfaces\u0027].append(port_info)"},{"line_number":333,"context_line":"            ramdisk_params[\u0027networking_info\u0027] \u003d base64.b64encode("},{"line_number":334,"context_line":"                json.dumps(network_info).encode(\u0027ascii\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_9523fb57","line":331,"in_reply_to":"5a2ca52d_b5e18ed2","updated":"2015-10-16 10:24:27.000000000","message":"Adding the mac address is just a requirement for ramdisk to know where the ip address is to be assigned.  Making get_network_info return that would be redundant because get_network_info() is already passed mac_address (from port object) for getting the information. So I thought it\u0027s better not to add it to the get_network_info() API. WDYT ?","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a7d5cec78ab9b13cdaddb6c73ee3978dd797fd07","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                port_info \u003d provider.get_network_info(task, port)"},{"line_number":331,"context_line":"                port_info[\u0027mac_address\u0027] \u003d port.address"},{"line_number":332,"context_line":"                network_info[\u0027interfaces\u0027].append(port_info)"},{"line_number":333,"context_line":"            ramdisk_params[\u0027networking_info\u0027] \u003d base64.b64encode("},{"line_number":334,"context_line":"                json.dumps(network_info).encode(\u0027ascii\u0027))"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        ilo_common.setup_vmedia(task, deploy_iso, ramdisk_params)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_6fffa467","line":333,"updated":"2015-10-15 10:35:16.000000000","message":"Any need of encoding here? Should work without it.","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"3c679f3bbbb99b3a4d42e8a69d0f7692b3f9292e","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                port_info \u003d provider.get_network_info(task, port)"},{"line_number":331,"context_line":"                port_info[\u0027mac_address\u0027] \u003d port.address"},{"line_number":332,"context_line":"                network_info[\u0027interfaces\u0027].append(port_info)"},{"line_number":333,"context_line":"            ramdisk_params[\u0027networking_info\u0027] \u003d base64.b64encode("},{"line_number":334,"context_line":"                json.dumps(network_info).encode(\u0027ascii\u0027))"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        ilo_common.setup_vmedia(task, deploy_iso, ramdisk_params)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_751f3f08","line":333,"in_reply_to":"5a2ca52d_6fffa467","updated":"2015-10-16 10:24:27.000000000","message":"I will get away with base64 encoding.","commit_id":"4695b96abbacb5fc2cccedfbbb0995cb2b0b4f91"}]}
