)]}'
{"ironic_ui/api/ironic_rest_api.py":[{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":421,"context_line":"@urls.register"},{"line_number":422,"context_line":"class RaidConfig(generic.View):"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    url_regex \u003d r\u0027ironic/nodes/(?P\u003cnode_uuid\u003e{})/states/raid$\u0027. \\"},{"line_number":425,"context_line":"                format(LOGICAL_NAME_PATTERN)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf3e73b7_b59de65a","line":424,"updated":"2017-08-07 14:45:59.000000000","message":"s/node_uuid/node_id/","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":421,"context_line":"@urls.register"},{"line_number":422,"context_line":"class RaidConfig(generic.View):"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    url_regex \u003d r\u0027ironic/nodes/(?P\u003cnode_uuid\u003e{})/states/raid$\u0027. \\"},{"line_number":425,"context_line":"                format(LOGICAL_NAME_PATTERN)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_96e1d8d3","line":424,"in_reply_to":"bf3e73b7_b59de65a","updated":"2017-08-08 17:22:02.000000000","message":"Done","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                format(LOGICAL_NAME_PATTERN)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":428,"context_line":"    def put(self, request, node_uuid):"},{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."}],"source_content_type":"text/x-python","patch_set":5,"id":"bf3e73b7_b5b606d9","line":428,"updated":"2017-08-07 14:45:59.000000000","message":"s/node_uuid/node_id/","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                format(LOGICAL_NAME_PATTERN)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":428,"context_line":"    def put(self, request, node_uuid):"},{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_56eb70af","line":428,"in_reply_to":"bf3e73b7_b5b606d9","updated":"2017-08-08 17:22:02.000000000","message":"Done","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node uuid"},{"line_number":433,"context_line":"        :return: Return code"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return ironic.node_set_raid_config("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf3e73b7_d5ff4a65","line":432,"updated":"2017-08-07 14:45:59.000000000","message":"Node name or uuid","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node uuid"},{"line_number":433,"context_line":"        :return: Return code"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return ironic.node_set_raid_config("}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_36d0ecf7","line":432,"in_reply_to":"bf3e73b7_d5ff4a65","updated":"2017-08-08 17:22:02.000000000","message":"Done","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node uuid"},{"line_number":433,"context_line":"        :return: Return code"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return ironic.node_set_raid_config("},{"line_number":436,"context_line":"            request,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf3e73b7_152b92eb","line":433,"updated":"2017-08-07 14:45:59.000000000","message":"Should the return variable be a reference to the updated node?","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node uuid"},{"line_number":433,"context_line":"        :return: Return code"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return ironic.node_set_raid_config("},{"line_number":436,"context_line":"            request,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_16cde85c","line":433,"in_reply_to":"9f436f4f_249f9e51","updated":"2017-08-08 17:22:02.000000000","message":"Returns None.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dc057ce547ed7526e067725e014021f4f3ff239a","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node uuid"},{"line_number":433,"context_line":"        :return: Return code"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        return ironic.node_set_raid_config("},{"line_number":436,"context_line":"            request,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_249f9e51","line":433,"in_reply_to":"bf3e73b7_152b92eb","updated":"2017-08-08 13:54:13.000000000","message":"It appears that only the thing that might be returned is success or error codes.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"153485847cd6917b5202c7e59501105e5b83cfa5","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":428,"context_line":"    def put(self, request, node_id):"},{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node name or node uuid"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f436f4f_3a954ae5","line":429,"range":{"start_line":429,"start_character":11,"end_line":429,"end_character":26},"updated":"2017-08-09 19:15:50.000000000","message":"very minor nit: \"Set raid config for a specified node\", not insisting just if you upload new revision","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":428,"context_line":"    def put(self, request, node_id):"},{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node name or node uuid"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_ca4892cd","line":429,"range":{"start_line":429,"start_character":11,"end_line":429,"end_character":26},"in_reply_to":"9f436f4f_07aa2ed1","updated":"2017-08-24 21:13:45.000000000","message":"Done","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"dfc5a64d41050b9945f6be3a7db9df46f1608945","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":428,"context_line":"    def put(self, request, node_id):"},{"line_number":429,"context_line":"        \"\"\"Set raid config."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        :param request: HTTP request."},{"line_number":432,"context_line":"        :param node_id: Node name or node uuid"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f436f4f_07aa2ed1","line":429,"range":{"start_line":429,"start_character":11,"end_line":429,"end_character":26},"in_reply_to":"9f436f4f_3a954ae5","updated":"2017-08-09 22:58:57.000000000","message":"Yes; will update in the next revision or follow-up.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"}],"ironic_ui/static/dashboard/admin/ironic/ironic.service.js":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"4732afa609a93e2a1933f1cd98e95683cb608c41","unresolved":false,"context_lines":[{"line_number":296,"context_line":"     *"},{"line_number":297,"context_line":"     * @param {string} nodeId – UUID or logical name of a node."},{"line_number":298,"context_line":"     * @param {string} raidConfig - Target raid configuration."},{"line_number":299,"context_line":"     * @return {promise} Promise"},{"line_number":300,"context_line":"     */"},{"line_number":301,"context_line":"    function nodeSetRaidConfig(nodeId, raidConfig) {"},{"line_number":302,"context_line":"      return apiService.put(\u0027/api/ironic/nodes/\u0027 + nodeId + \u0027/states/raid\u0027, raidConfig)"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_40eb33db","line":299,"range":{"start_line":299,"start_character":25,"end_line":299,"end_character":32},"updated":"2017-08-02 23:20:32.000000000","message":"nit: would be good to extend to state what would be in the promise","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":296,"context_line":"     *"},{"line_number":297,"context_line":"     * @param {string} nodeId – UUID or logical name of a node."},{"line_number":298,"context_line":"     * @param {string} raidConfig - Target raid configuration."},{"line_number":299,"context_line":"     * @return {promise} Promise"},{"line_number":300,"context_line":"     */"},{"line_number":301,"context_line":"    function nodeSetRaidConfig(nodeId, raidConfig) {"},{"line_number":302,"context_line":"      return apiService.put(\u0027/api/ironic/nodes/\u0027 + nodeId + \u0027/states/raid\u0027,"}],"source_content_type":"text/javascript","patch_set":5,"id":"bf3e73b7_753bfe37","line":299,"updated":"2017-08-07 14:45:59.000000000","message":"Can you describe the content of the promise?","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"c5d169fd6fddecb11316f00f21908a90fbb1a866","unresolved":false,"context_lines":[{"line_number":296,"context_line":"     *"},{"line_number":297,"context_line":"     * @param {string} nodeId – UUID or logical name of a node."},{"line_number":298,"context_line":"     * @param {string} raidConfig - Target raid configuration."},{"line_number":299,"context_line":"     * @return {promise} Promise"},{"line_number":300,"context_line":"     */"},{"line_number":301,"context_line":"    function nodeSetRaidConfig(nodeId, raidConfig) {"},{"line_number":302,"context_line":"      return apiService.put(\u0027/api/ironic/nodes/\u0027 + nodeId + \u0027/states/raid\u0027,"}],"source_content_type":"text/javascript","patch_set":5,"id":"9f436f4f_56a37050","line":299,"in_reply_to":"bf3e73b7_753bfe37","updated":"2017-08-08 17:28:20.000000000","message":"Peter, promise is null.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"}],"ironic_ui/static/dashboard/admin/ironic/ironic.service.spec.js":[{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":5,"id":"bf3e73b7_f5cb6e1b","line":40,"updated":"2017-08-07 14:45:59.000000000","message":"There should be an accompanying unit test for this function, or at least a comment that it will be added.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dc057ce547ed7526e067725e014021f4f3ff239a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":5,"id":"9f436f4f_84e64ae8","line":40,"in_reply_to":"bf3e73b7_f5cb6e1b","updated":"2017-08-08 13:54:13.000000000","message":"+1, whatever style wise works well for noting a todo if we can get the test started as a follow-up.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"153485847cd6917b5202c7e59501105e5b83cfa5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":11,"id":"9f436f4f_15049914","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":23},"updated":"2017-08-09 19:15:50.000000000","message":"we are not testing the function implemented in ironic.service? \nIf we don\u0027t intend to test, we should remove this","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"03ab0de5c24dce5378c6f9dbfc0e574e513fb3dc","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_c7766fd9","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":23},"in_reply_to":"7f287b81_c806b321","updated":"2017-08-23 20:51:45.000000000","message":"Hi Julia, posted the unit test patch based on this patch.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"dfc5a64d41050b9945f6be3a7db9df46f1608945","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":11,"id":"9f436f4f_47f6f6fb","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":23},"in_reply_to":"9f436f4f_15049914","updated":"2017-08-09 22:58:57.000000000","message":"Follow-up patch will include testing. This is needed for the tests to pass for this patch.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"5be1a6f89a545ba1de0efe971cc2ccbeaa2dc04f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027nodeSetBootDevice\u0027,"},{"line_number":38,"context_line":"    \u0027nodeSetConsoleMode\u0027,"},{"line_number":39,"context_line":"    \u0027nodeSetPowerState\u0027,"},{"line_number":40,"context_line":"    \u0027nodeSetRaidConfig\u0027,"},{"line_number":41,"context_line":"    \u0027nodeSetMaintenance\u0027,"},{"line_number":42,"context_line":"    \u0027setNodeProvisionState\u0027,"},{"line_number":43,"context_line":"    \u0027updateNode\u0027,"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_c806b321","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":23},"in_reply_to":"9f436f4f_47f6f6fb","updated":"2017-08-22 12:39:48.000000000","message":"I would kind of like to see the beginnings, even if it is a WIP of the follow-up patch before we land this patch.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"}],"ironic_ui/static/dashboard/admin/ironic/node-details/node-details.controller.js":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"4732afa609a93e2a1933f1cd98e95683cb608c41","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    \u0027horizon.dashboard.admin.ironic.edit-portgroup.service\u0027,"},{"line_number":37,"context_line":"    \u0027horizon.dashboard.admin.ironic.maintenance.service\u0027,"},{"line_number":38,"context_line":"    \u0027horizon.dashboard.admin.ironic.bootdevice.service\u0027,"},{"line_number":39,"context_line":"    \u0027horizon.dashboard.admin.ironic.raidconfig.service\u0027,"},{"line_number":40,"context_line":"    \u0027horizon.dashboard.admin.ironic.node-state-transition.service\u0027,"},{"line_number":41,"context_line":"    \u0027horizon.dashboard.admin.ironic.validUuidPattern\u0027"},{"line_number":42,"context_line":"  ];"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_8068fbb8","line":39,"range":{"start_line":39,"start_character":5,"end_line":39,"end_character":55},"updated":"2017-08-02 23:20:32.000000000","message":"not a concern, but just curious to know is there any specific order which we follow to add services? I mean will it be fine to put raid service at the very start as well? As said this is not a concern but just for knowing","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"24e1947cc0bace13da702760834f01abb19b15df","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    \u0027horizon.dashboard.admin.ironic.edit-portgroup.service\u0027,"},{"line_number":37,"context_line":"    \u0027horizon.dashboard.admin.ironic.maintenance.service\u0027,"},{"line_number":38,"context_line":"    \u0027horizon.dashboard.admin.ironic.bootdevice.service\u0027,"},{"line_number":39,"context_line":"    \u0027horizon.dashboard.admin.ironic.raidconfig.service\u0027,"},{"line_number":40,"context_line":"    \u0027horizon.dashboard.admin.ironic.node-state-transition.service\u0027,"},{"line_number":41,"context_line":"    \u0027horizon.dashboard.admin.ironic.validUuidPattern\u0027"},{"line_number":42,"context_line":"  ];"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_17d9d8f1","line":39,"range":{"start_line":39,"start_character":5,"end_line":39,"end_character":55},"in_reply_to":"df3967d1_8068fbb8","updated":"2017-08-03 16:23:35.000000000","message":"Using the behavior as a guideline to group the services and also for naming; hope it makes sense.","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"}],"ironic_ui/static/dashboard/admin/ironic/node-details/node-details.html":[{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"a24a4977c653712a6282d13109416df877dde424","unresolved":false,"context_lines":[{"line_number":50,"context_line":"             ng-click\u003d\"ctrl.raidConfigService.setRaidConfig(ctrl.node);"},{"line_number":51,"context_line":"                       $event.stopPropagation();"},{"line_number":52,"context_line":"                       $event.preventDefault()\"\u003e"},{"line_number":53,"context_line":"            \u003cspan\u003e{$ \"Set raid configuration\" | translate $}\u003c/span\u003e"},{"line_number":54,"context_line":"          \u003c/a\u003e"},{"line_number":55,"context_line":"        \u003c/li\u003e"},{"line_number":56,"context_line":"        \u003cli role\u003d\"presentation\""}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_34c8df53","line":53,"updated":"2017-08-08 21:54:36.000000000","message":"s/raid/RAID/","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":50,"context_line":"             ng-click\u003d\"ctrl.raidConfigService.setRaidConfig(ctrl.node);"},{"line_number":51,"context_line":"                       $event.stopPropagation();"},{"line_number":52,"context_line":"                       $event.preventDefault()\"\u003e"},{"line_number":53,"context_line":"            \u003cspan\u003e{$ \"Set raid configuration\" | translate $}\u003c/span\u003e"},{"line_number":54,"context_line":"          \u003c/a\u003e"},{"line_number":55,"context_line":"        \u003c/li\u003e"},{"line_number":56,"context_line":"        \u003cli role\u003d\"presentation\""}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_8e977791","line":53,"in_reply_to":"9f436f4f_34c8df53","updated":"2017-08-09 00:29:01.000000000","message":"Done","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"}],"ironic_ui/static/dashboard/admin/ironic/raidconfig/raidconfig.controller.js":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"4732afa609a93e2a1933f1cd98e95683cb608c41","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    };"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":53,"context_line":"      $uibModalInstance.close(target_raid_config: ctrl.raidConfig);"},{"line_number":54,"context_line":"    };"},{"line_number":55,"context_line":"  }"},{"line_number":56,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_8020fb49","line":53,"range":{"start_line":53,"start_character":30,"end_line":53,"end_character":65},"updated":"2017-08-02 23:20:32.000000000","message":"It should be an object inside close() like uiModalInstance.close({target_raid_config: ctrl.raidConfig})","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7cae01b2a402b5d74bd091291ba3ca13d7a5c12f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    };"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":53,"context_line":"      $uibModalInstance.close(target_raid_config: ctrl.raidConfig);"},{"line_number":54,"context_line":"    };"},{"line_number":55,"context_line":"  }"},{"line_number":56,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_c2417e0d","line":53,"range":{"start_line":53,"start_character":48,"end_line":53,"end_character":49},"updated":"2017-08-02 12:54:51.000000000","message":"This colon character is causing the linter to fail.","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"24e1947cc0bace13da702760834f01abb19b15df","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    };"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":53,"context_line":"      $uibModalInstance.close(target_raid_config: ctrl.raidConfig);"},{"line_number":54,"context_line":"    };"},{"line_number":55,"context_line":"  }"},{"line_number":56,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_2c6ecf2e","line":53,"range":{"start_line":53,"start_character":30,"end_line":53,"end_character":65},"in_reply_to":"df3967d1_8020fb49","updated":"2017-08-03 16:23:35.000000000","message":"Yes; I will update this; it should be an object inside {}.","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"522d5d364c1df9612751a3b6f25ec04b9dedd30a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    };"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":53,"context_line":"      $uibModalInstance.close(target_raid_config: ctrl.raidConfig);"},{"line_number":54,"context_line":"    };"},{"line_number":55,"context_line":"  }"},{"line_number":56,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":3,"id":"df3967d1_c25a9ef1","line":53,"range":{"start_line":53,"start_character":48,"end_line":53,"end_character":49},"in_reply_to":"df3967d1_c2417e0d","updated":"2017-08-02 12:55:35.000000000","message":"I feel like this should be a comma?","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"a24a4977c653712a6282d13109416df877dde424","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  function RaidConfigController($uibModalInstance, formFieldService) {"},{"line_number":38,"context_line":"    var ctrl \u003d this;"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    ctrl.modalTitle \u003d gettext(\"Set Raid Configuration\");"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    ctrl.target_raid_config \u003d null;"},{"line_number":43,"context_line":"    ctrl.logicalDisks \u003d [];"}],"source_content_type":"text/javascript","patch_set":7,"id":"9f436f4f_343b3f39","line":40,"updated":"2017-08-08 21:54:36.000000000","message":"s /Raid/RAID/","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  function RaidConfigController($uibModalInstance, formFieldService) {"},{"line_number":38,"context_line":"    var ctrl \u003d this;"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    ctrl.modalTitle \u003d gettext(\"Set Raid Configuration\");"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    ctrl.target_raid_config \u003d null;"},{"line_number":43,"context_line":"    ctrl.logicalDisks \u003d [];"}],"source_content_type":"text/javascript","patch_set":7,"id":"9f436f4f_4e918f99","line":40,"in_reply_to":"9f436f4f_343b3f39","updated":"2017-08-09 00:29:01.000000000","message":"Done","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"a24a4977c653712a6282d13109416df877dde424","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    ctrl.raid_level \u003d new formFieldService.FormField({"},{"line_number":55,"context_line":"      type: \"radio\","},{"line_number":56,"context_line":"      id: \"raid_level\","},{"line_number":57,"context_line":"      title: gettext(\"Raid Level\"),"},{"line_number":58,"context_line":"      desc: gettext(\"Raid Level.\"),"},{"line_number":59,"context_line":"      options: [\u0027JBOD\u0027, \u00270\u0027, \u00271\u0027, \u00272\u0027, \u00275\u0027, \u00276\u0027, \u00271+0\u0027, \u00275+0\u0027, \u00276+0\u0027],"},{"line_number":60,"context_line":"      value: \u00270\u0027});"}],"source_content_type":"text/javascript","patch_set":7,"id":"9f436f4f_f44497b9","line":57,"updated":"2017-08-08 21:54:36.000000000","message":"s /Raid/RAID/","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    ctrl.raid_level \u003d new formFieldService.FormField({"},{"line_number":55,"context_line":"      type: \"radio\","},{"line_number":56,"context_line":"      id: \"raid_level\","},{"line_number":57,"context_line":"      title: gettext(\"Raid Level\"),"},{"line_number":58,"context_line":"      desc: gettext(\"Raid Level.\"),"},{"line_number":59,"context_line":"      options: [\u0027JBOD\u0027, \u00270\u0027, \u00271\u0027, \u00272\u0027, \u00275\u0027, \u00276\u0027, \u00271+0\u0027, \u00275+0\u0027, \u00276+0\u0027],"},{"line_number":60,"context_line":"      value: \u00270\u0027});"}],"source_content_type":"text/javascript","patch_set":7,"id":"9f436f4f_2e8e4b78","line":57,"in_reply_to":"9f436f4f_f44497b9","updated":"2017-08-09 00:29:01.000000000","message":"Done","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"df50cac675658cfbade66ab07479b36b2a88c873","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    ctrl.target_raid_config \u003d null;"},{"line_number":48,"context_line":"    ctrl.logicalDisks \u003d [];"},{"line_number":49,"context_line":"    ctrl.logicalDisksSrc \u003d [];"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_2ea5f104","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":24},"updated":"2017-08-24 18:13:47.000000000","message":"I am not clear on the use of this, seems we are just using this at L53 where we are storing same value that we have in logicalDisks. Not clear on purpose of having a different variable?","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    ctrl.target_raid_config \u003d null;"},{"line_number":48,"context_line":"    ctrl.logicalDisks \u003d [];"},{"line_number":49,"context_line":"    ctrl.logicalDisksSrc \u003d [];"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_ca6d3299","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":24},"in_reply_to":"7f287b81_2ea5f104","updated":"2017-08-24 21:13:45.000000000","message":"Using smart-table st-table and st-safe-src attributes, to populate the table with node\u0027s raid_config.logical_disks and then add/delete logical_disks:\n\n           st-table\u003d\"ctrl.logicalDisks\"\n           st-safe-src\u003d\"ctrl.logicalDisksSrc\"","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"f211dc40eb697b08c508ec59b9de77d59639691b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    ctrl.logicalDisksSrc \u003d [];"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"},{"line_number":53,"context_line":"      ctrl.logicalDisksSrc \u003d ctrl.logicalDisks;"},{"line_number":54,"context_line":"    });"},{"line_number":55,"context_line":""}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_8641770e","line":52,"updated":"2017-08-24 12:48:16.000000000","message":"I think the assignment should be to ctrl.logicalDisksSrc","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    ctrl.logicalDisksSrc \u003d [];"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"},{"line_number":53,"context_line":"      ctrl.logicalDisksSrc \u003d ctrl.logicalDisks;"},{"line_number":54,"context_line":"    });"},{"line_number":55,"context_line":""}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_eaf46e89","line":52,"in_reply_to":"7f287b81_8641770e","updated":"2017-08-24 21:13:45.000000000","message":"Actually yes. Fixed this.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"f211dc40eb697b08c508ec59b9de77d59639691b","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"},{"line_number":53,"context_line":"      ctrl.logicalDisksSrc \u003d ctrl.logicalDisks;"},{"line_number":54,"context_line":"    });"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    ctrl.size_gb \u003d new formFieldService.FormField({"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_c6053fc4","line":53,"updated":"2017-08-24 12:48:16.000000000","message":"This assignment should be removed. The Disks and DisksSrc lists must be separate.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"},{"line_number":53,"context_line":"      ctrl.logicalDisksSrc \u003d ctrl.logicalDisks;"},{"line_number":54,"context_line":"    });"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    ctrl.size_gb \u003d new formFieldService.FormField({"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_caf3f29d","line":53,"in_reply_to":"7f287b81_08aead97","updated":"2017-08-24 21:13:45.000000000","message":"Done","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"236ece088347f31aeaab3385c2e0a3aa6c11c2c9","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ironic.getNode(node.uuid).then(function() {"},{"line_number":52,"context_line":"      ctrl.logicalDisks \u003d angular.copy(node.raid_config.logical_disks);"},{"line_number":53,"context_line":"      ctrl.logicalDisksSrc \u003d ctrl.logicalDisks;"},{"line_number":54,"context_line":"    });"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    ctrl.size_gb \u003d new formFieldService.FormField({"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_08aead97","line":53,"in_reply_to":"7f287b81_c6053fc4","updated":"2017-08-24 16:51:31.000000000","message":"These two lists start off with node\u0027s raid_config.logical_disks. However, as operator adds/deletes new logical disks in the modal, they will be different. Adding/deleting from ctrl.logicalDisks.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"df50cac675658cfbade66ab07479b36b2a88c873","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    ctrl.size_gb \u003d new formFieldService.FormField({"},{"line_number":57,"context_line":"      id: \"size_gb\","},{"line_number":58,"context_line":"      title: gettext(\"Size GB\"),"},{"line_number":59,"context_line":"      desc: gettext(\"Size in GiB.\"),"},{"line_number":60,"context_line":"      pattern: new RegExp(\u0027^\\\\d+$\u0027),"},{"line_number":61,"context_line":"      value: null,"},{"line_number":62,"context_line":"      autoFocus: true"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_ae48c1cb","line":59,"range":{"start_line":59,"start_character":21,"end_line":59,"end_character":32},"updated":"2017-08-24 18:13:47.000000000","message":"may be, select the size for disk?","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    ctrl.size_gb \u003d new formFieldService.FormField({"},{"line_number":57,"context_line":"      id: \"size_gb\","},{"line_number":58,"context_line":"      title: gettext(\"Size GB\"),"},{"line_number":59,"context_line":"      desc: gettext(\"Size in GiB.\"),"},{"line_number":60,"context_line":"      pattern: new RegExp(\u0027^\\\\d+$\u0027),"},{"line_number":61,"context_line":"      value: null,"},{"line_number":62,"context_line":"      autoFocus: true"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_6a2e3efb","line":59,"range":{"start_line":59,"start_character":21,"end_line":59,"end_character":32},"in_reply_to":"7f287b81_ae48c1cb","updated":"2017-08-24 21:13:45.000000000","message":"Done","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"df50cac675658cfbade66ab07479b36b2a88c873","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      type: \"radio\","},{"line_number":67,"context_line":"      id: \"raid_level\","},{"line_number":68,"context_line":"      title: gettext(\"RAID Level\"),"},{"line_number":69,"context_line":"      desc: gettext(\"Raid Level.\"),"},{"line_number":70,"context_line":"      options: [\u0027JBOD\u0027, \u00270\u0027, \u00271\u0027, \u00272\u0027, \u00275\u0027, \u00276\u0027, \u00271+0\u0027, \u00275+0\u0027, \u00276+0\u0027],"},{"line_number":71,"context_line":"      value: \u00270\u0027});"},{"line_number":72,"context_line":""}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_cec66d4a","line":69,"range":{"start_line":69,"start_character":21,"end_line":69,"end_character":25},"updated":"2017-08-24 18:13:47.000000000","message":"nit: Select RAID level","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      type: \"radio\","},{"line_number":67,"context_line":"      id: \"raid_level\","},{"line_number":68,"context_line":"      title: gettext(\"RAID Level\"),"},{"line_number":69,"context_line":"      desc: gettext(\"Raid Level.\"),"},{"line_number":70,"context_line":"      options: [\u0027JBOD\u0027, \u00270\u0027, \u00271\u0027, \u00272\u0027, \u00275\u0027, \u00276\u0027, \u00271+0\u0027, \u00275+0\u0027, \u00276+0\u0027],"},{"line_number":71,"context_line":"      value: \u00270\u0027});"},{"line_number":72,"context_line":""}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_4a35c245","line":69,"range":{"start_line":69,"start_character":21,"end_line":69,"end_character":25},"in_reply_to":"7f287b81_cec66d4a","updated":"2017-08-24 21:13:45.000000000","message":"Done","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"f211dc40eb697b08c508ec59b9de77d59639691b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    };"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":100,"context_line":"      ctrl.target_raid_config \u003d {logical_disks: ctrl.logicalDisks};"},{"line_number":101,"context_line":"      $uibModalInstance.close({target_raid_config: ctrl.target_raid_config});"},{"line_number":102,"context_line":"    };"},{"line_number":103,"context_line":"  }"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_c6841f61","line":100,"updated":"2017-08-24 12:48:16.000000000","message":"What is the purpose of this variable ctrl.target_raid_config? I dont see it used in the controller or referenced in the html. I think it is used for unit testing, but am wondering whether that can be accomplished differently.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"30591419c68175c52495d5e5d12b43fdc53ecd80","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    };"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":100,"context_line":"      ctrl.target_raid_config \u003d {logical_disks: ctrl.logicalDisks};"},{"line_number":101,"context_line":"      $uibModalInstance.close({target_raid_config: ctrl.target_raid_config});"},{"line_number":102,"context_line":"    };"},{"line_number":103,"context_line":"  }"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_0a3fba25","line":100,"in_reply_to":"7f287b81_ae21e1fd","updated":"2017-08-24 21:13:45.000000000","message":"Done","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"236ece088347f31aeaab3385c2e0a3aa6c11c2c9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    };"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":100,"context_line":"      ctrl.target_raid_config \u003d {logical_disks: ctrl.logicalDisks};"},{"line_number":101,"context_line":"      $uibModalInstance.close({target_raid_config: ctrl.target_raid_config});"},{"line_number":102,"context_line":"    };"},{"line_number":103,"context_line":"  }"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_c8f305e7","line":100,"in_reply_to":"7f287b81_c6841f61","updated":"2017-08-24 16:51:31.000000000","message":"Hi Peter, thanks for the review. Yes, this variable can be removed.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"df50cac675658cfbade66ab07479b36b2a88c873","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    };"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    ctrl.setTargetRaidConfig \u003d function() {"},{"line_number":100,"context_line":"      ctrl.target_raid_config \u003d {logical_disks: ctrl.logicalDisks};"},{"line_number":101,"context_line":"      $uibModalInstance.close({target_raid_config: ctrl.target_raid_config});"},{"line_number":102,"context_line":"    };"},{"line_number":103,"context_line":"  }"}],"source_content_type":"text/javascript","patch_set":11,"id":"7f287b81_ae21e1fd","line":100,"in_reply_to":"7f287b81_c8f305e7","updated":"2017-08-24 18:13:47.000000000","message":"+1","commit_id":"fa3939b881224af30549c7564dae5358c250f989"}],"ironic_ui/static/dashboard/admin/ironic/raidconfig/raidconfig.html":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"4732afa609a93e2a1933f1cd98e95683cb608c41","unresolved":false,"context_lines":[{"line_number":19,"context_line":"          \u003cdiv\u003e"},{"line_number":20,"context_line":"            \u003cselect id\u003d\"raid_level\""},{"line_number":21,"context_line":"                    class\u003d\"form-control\""},{"line_number":22,"context_line":"                    ng-options\u003d\"level as level for level in {\u00270\u0027, \u00271\u0027,  \u00272\u0027, \u00275\u0027, \u00276\u0027}\""},{"line_number":23,"context_line":"                    ng-model\u003d\"ctrl.raid_level\"\u003e"},{"line_number":24,"context_line":"                    \u003coption value\u003d\"\" disabled selected translate\u003eSelect Raid Level\u003c/option\u003e"},{"line_number":25,"context_line":"            \u003c/select\u003e"}],"source_content_type":"text/html","patch_set":3,"id":"df3967d1_003e4b8b","line":22,"range":{"start_line":22,"start_character":60,"end_line":22,"end_character":86},"updated":"2017-08-02 23:20:32.000000000","message":"would it be good to get it from controller so that later we can edit/extend that controller variable? Is it possible for this level to change/increase any time sooner?","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"24e1947cc0bace13da702760834f01abb19b15df","unresolved":false,"context_lines":[{"line_number":19,"context_line":"          \u003cdiv\u003e"},{"line_number":20,"context_line":"            \u003cselect id\u003d\"raid_level\""},{"line_number":21,"context_line":"                    class\u003d\"form-control\""},{"line_number":22,"context_line":"                    ng-options\u003d\"level as level for level in {\u00270\u0027, \u00271\u0027,  \u00272\u0027, \u00275\u0027, \u00276\u0027}\""},{"line_number":23,"context_line":"                    ng-model\u003d\"ctrl.raid_level\"\u003e"},{"line_number":24,"context_line":"                    \u003coption value\u003d\"\" disabled selected translate\u003eSelect Raid Level\u003c/option\u003e"},{"line_number":25,"context_line":"            \u003c/select\u003e"}],"source_content_type":"text/html","patch_set":3,"id":"df3967d1_f74534b5","line":22,"range":{"start_line":22,"start_character":60,"end_line":22,"end_character":86},"in_reply_to":"df3967d1_003e4b8b","updated":"2017-08-03 16:23:35.000000000","message":"AFAIK, this list should come from driver logical_disk_properties. For now, will use this list of Ironic\u0027s supported raid levels: JBOD, 0, 1, 2, 5, 6, 1+0, 5+0, 6+0.","commit_id":"d5c2d0c05ad90016b098e86e5fc5924337cc6ef3"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  \u003c/button\u003e"},{"line_number":9,"context_line":"  \u003ch3 class\u003d\"modal-title\"\u003e{$ ::ctrl.modalTitle $}\u003c/h3\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"},{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\"\u003e"},{"line_number":13,"context_line":"    \u003c!--raid config--\u003e"},{"line_number":14,"context_line":"    \u003cdiv class\u003d\"form-group required\"\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"bf3e73b7_00891274","line":11,"updated":"2017-08-07 14:45:59.000000000","message":"I would like to see a display of all the logical disks that have been defined. What happens if I make a mistake adding one of the disks, can I edit/delete it?","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dc057ce547ed7526e067725e014021f4f3ff239a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  \u003c/button\u003e"},{"line_number":9,"context_line":"  \u003ch3 class\u003d\"modal-title\"\u003e{$ ::ctrl.modalTitle $}\u003c/h3\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"},{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\"\u003e"},{"line_number":13,"context_line":"    \u003c!--raid config--\u003e"},{"line_number":14,"context_line":"    \u003cdiv class\u003d\"form-group required\"\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"9f436f4f_840d2a92","line":11,"in_reply_to":"bf3e73b7_00891274","updated":"2017-08-08 13:54:13.000000000","message":"Peter, are you thinking the node raid_config data?","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  \u003c/button\u003e"},{"line_number":9,"context_line":"  \u003ch3 class\u003d\"modal-title\"\u003e{$ ::ctrl.modalTitle $}\u003c/h3\u003e"},{"line_number":10,"context_line":"\u003c/div\u003e"},{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\"\u003e"},{"line_number":13,"context_line":"    \u003c!--raid config--\u003e"},{"line_number":14,"context_line":"    \u003cdiv class\u003d\"form-group required\"\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"9f436f4f_5639303f","line":11,"in_reply_to":"bf3e73b7_00891274","updated":"2017-08-08 17:22:02.000000000","message":"Yes; logical disks will show with option to delete (minus button).","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\"\u003e"},{"line_number":13,"context_line":"    \u003c!--raid config--\u003e"},{"line_number":14,"context_line":"    \u003cdiv class\u003d\"form-group required\"\u003e"},{"line_number":15,"context_line":"      \u003clabel for\u003d\"raid_level\""},{"line_number":16,"context_line":"             class\u003d\"control-label\""},{"line_number":17,"context_line":"             translate\u003eRaid Level\u003c/label\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"bf3e73b7_5580fa8b","line":14,"updated":"2017-08-07 14:45:59.000000000","message":"Consider using the recently added form-field directive.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"b92c89675277a7cd2a48f6a17ee6cb53b8f683b8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\"\u003e"},{"line_number":13,"context_line":"    \u003c!--raid config--\u003e"},{"line_number":14,"context_line":"    \u003cdiv class\u003d\"form-group required\"\u003e"},{"line_number":15,"context_line":"      \u003clabel for\u003d\"raid_level\""},{"line_number":16,"context_line":"             class\u003d\"control-label\""},{"line_number":17,"context_line":"             translate\u003eRaid Level\u003c/label\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"9f436f4f_163ba838","line":14,"in_reply_to":"bf3e73b7_5580fa8b","updated":"2017-08-08 17:22:02.000000000","message":"Done","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"41909a8ef53e6a493b8e47c1aa6a0df1082f8cdc","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    \u003cbutton class\u003d\"btn btn-primary\""},{"line_number":58,"context_line":"            type\u003d\"button\""},{"line_number":59,"context_line":"            ng-click\u003d\"ctrl.addLogicalDisk()\""},{"line_number":60,"context_line":"            ng-disabled\u003d\"ctrl.raid_level \u003d\u003d\u003d null || ctrl.size_gb \u003d\u003d\u003d null\""},{"line_number":61,"context_line":"            translate\u003e"},{"line_number":62,"context_line":"      Add Logical Disk"},{"line_number":63,"context_line":"    \u003c/button\u003e"}],"source_content_type":"text/html","patch_set":5,"id":"bf3e73b7_d513ca65","line":60,"updated":"2017-08-07 14:45:59.000000000","message":"Consider using form status to control submission.","commit_id":"aeb554e12d1b3a1a34ea2f0a300f2acdf5a0df75"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"d3743875e197148383acc8ce9cba2fa092e8f3fc","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003cdiv class\u003d\"modal-body\"\u003e"},{"line_number":12,"context_line":"  \u003cform id\u003d\"SetTargetRaidConfigForm\" name\u003d\"SetTargetRaidConfigForm\" class\u003d\"well well-sm\"\u003e"},{"line_number":13,"context_line":"    \u003c!-- raid config --\u003e"},{"line_number":14,"context_line":"    \u003cform-field field\u003d\"ctrl.size_gb\" form\u003d\"SetTargetRaidConfigForm\"\u003e\u003c/form-field\u003e"},{"line_number":15,"context_line":"    \u003cform-field field\u003d\"ctrl.raid_level\" form\u003d\"SetTargetRaidConfigForm\"\u003e\u003c/form-field\u003e"},{"line_number":16,"context_line":"    \u003cform-field field\u003d\"ctrl.root_volume\""},{"line_number":17,"context_line":"                form\u003d\"SetTargetRaidConfigForm\"\u003e\u003c/form-field\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_9e21eaa2","line":14,"updated":"2017-08-08 20:24:36.000000000","message":"Thanks for switching to form-fields.","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"d3743875e197148383acc8ce9cba2fa092e8f3fc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    \u003cbutton class\u003d\"btn btn-primary\""},{"line_number":19,"context_line":"            type\u003d\"button\""},{"line_number":20,"context_line":"            ng-click\u003d\"ctrl.addLogicalDisk()\""},{"line_number":21,"context_line":"            ng-disabled\u003d\"ctrl.raid_level \u003d\u003d\u003d null || ctrl.size_gb \u003d\u003d\u003d null\""},{"line_number":22,"context_line":"            translate\u003e"},{"line_number":23,"context_line":"      Add Logical Disk"},{"line_number":24,"context_line":"    \u003c/button\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_7e5be62d","line":21,"updated":"2017-08-08 20:24:36.000000000","message":"The disabled condition needs to be modified either to use the value attribute of the form-fields, or the status of the form, e.g. $invalid. I think that using the form status is cleaner.","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    \u003cbutton class\u003d\"btn btn-primary\""},{"line_number":19,"context_line":"            type\u003d\"button\""},{"line_number":20,"context_line":"            ng-click\u003d\"ctrl.addLogicalDisk()\""},{"line_number":21,"context_line":"            ng-disabled\u003d\"ctrl.raid_level \u003d\u003d\u003d null || ctrl.size_gb \u003d\u003d\u003d null\""},{"line_number":22,"context_line":"            translate\u003e"},{"line_number":23,"context_line":"      Add Logical Disk"},{"line_number":24,"context_line":"    \u003c/button\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_4eb86f29","line":21,"in_reply_to":"9f436f4f_7e5be62d","updated":"2017-08-09 00:29:01.000000000","message":"Done","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"d3743875e197148383acc8ce9cba2fa092e8f3fc","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  \u003cdiv\u003e"},{"line_number":29,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":30,"context_line":"           st-table\u003d\"ctrl.logicalDisks\""},{"line_number":31,"context_line":"           st-safe-src\u003d\"ctrl.logicalDisks\""},{"line_number":32,"context_line":"           class\u003d\"table table-rsp table-detail\"\u003e"},{"line_number":33,"context_line":"      \u003cthead\u003e"},{"line_number":34,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_5e6942bc","line":31,"updated":"2017-08-08 20:24:36.000000000","message":"The st-table and at-safe-src must be separate lists. Your controller will populate the safe-src list, and the table will use the st-table list.","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  \u003cdiv\u003e"},{"line_number":29,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":30,"context_line":"           st-table\u003d\"ctrl.logicalDisks\""},{"line_number":31,"context_line":"           st-safe-src\u003d\"ctrl.logicalDisks\""},{"line_number":32,"context_line":"           class\u003d\"table table-rsp table-detail\"\u003e"},{"line_number":33,"context_line":"      \u003cthead\u003e"},{"line_number":34,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_2eb52b32","line":31,"in_reply_to":"9f436f4f_5e6942bc","updated":"2017-08-09 00:29:01.000000000","message":"Done","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"a24a4977c653712a6282d13109416df877dde424","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  \u003cdiv\u003e"},{"line_number":29,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":30,"context_line":"           st-table\u003d\"ctrl.logicalDisks\""},{"line_number":31,"context_line":"           st-safe-src\u003d\"ctrl.logicalDisks\""},{"line_number":32,"context_line":"           class\u003d\"table table-rsp table-detail\"\u003e"},{"line_number":33,"context_line":"      \u003cthead\u003e"},{"line_number":34,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_b42f2ff5","line":31,"in_reply_to":"9f436f4f_5e6942bc","updated":"2017-08-08 21:54:36.000000000","message":"Having corresponded with Rama I wonder why we need safe-src at all given that we are not populating the table asynchronously.","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"63921b1b1753c6e3370f401a36a7f47c06196263","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  \u003cdiv\u003e"},{"line_number":29,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":30,"context_line":"           st-table\u003d\"ctrl.logicalDisks\""},{"line_number":31,"context_line":"           st-safe-src\u003d\"ctrl.logicalDisks\""},{"line_number":32,"context_line":"           class\u003d\"table table-rsp table-detail\"\u003e"},{"line_number":33,"context_line":"      \u003cthead\u003e"},{"line_number":34,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_ae823b4e","line":31,"in_reply_to":"9f436f4f_b42f2ff5","updated":"2017-08-09 00:29:01.000000000","message":"Using st-safe-src now as node\u0027s raid_config data is being used to initialize the table.","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"a24a4977c653712a6282d13109416df877dde424","unresolved":false,"context_lines":[{"line_number":75,"context_line":"          type\u003d\"button\""},{"line_number":76,"context_line":"          ng-click\u003d\"ctrl.setTargetRaidConfig()\""},{"line_number":77,"context_line":"          translate\u003e"},{"line_number":78,"context_line":"    Set Target Raid Config"},{"line_number":79,"context_line":"  \u003c/button\u003e"},{"line_number":80,"context_line":"\u003c/div\u003e"},{"line_number":81,"context_line":""}],"source_content_type":"text/html","patch_set":7,"id":"9f436f4f_b4e16fd3","line":78,"updated":"2017-08-08 21:54:36.000000000","message":"s/Raid/RAID/","commit_id":"9eabe76da2b62666c0ddc055587b9575bf8969ec"}],"ironic_ui/static/dashboard/admin/ironic/raidconfig/raidconfig.service.js":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"153485847cd6917b5202c7e59501105e5b83cfa5","unresolved":false,"context_lines":[{"line_number":42,"context_line":"     * @description Set the target raid configuration of a specified node"},{"line_number":43,"context_line":"     *"},{"line_number":44,"context_line":"     * @param {object} node - node object"},{"line_number":45,"context_line":"     * @return {promise}"},{"line_number":46,"context_line":"     */"},{"line_number":47,"context_line":"    function setRaidConfig(node) {"},{"line_number":48,"context_line":"      var promise;"}],"source_content_type":"text/javascript","patch_set":11,"id":"9f436f4f_55b58130","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":24},"updated":"2017-08-09 19:15:50.000000000","message":"Have a design question here, do we need promise here? I mean we may not assign $uiModal to promise variable and skip returning promise. Instead it can be done by just returning \"return ironic.nodeSetRaidConfig\"","commit_id":"fa3939b881224af30549c7564dae5358c250f989"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"dfc5a64d41050b9945f6be3a7db9df46f1608945","unresolved":false,"context_lines":[{"line_number":42,"context_line":"     * @description Set the target raid configuration of a specified node"},{"line_number":43,"context_line":"     *"},{"line_number":44,"context_line":"     * @param {object} node - node object"},{"line_number":45,"context_line":"     * @return {promise}"},{"line_number":46,"context_line":"     */"},{"line_number":47,"context_line":"    function setRaidConfig(node) {"},{"line_number":48,"context_line":"      var promise;"}],"source_content_type":"text/javascript","patch_set":11,"id":"9f436f4f_6db2f9e8","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":24},"in_reply_to":"9f436f4f_55b58130","updated":"2017-08-09 22:58:57.000000000","message":"Yes; it is not needed as of now; but follow-up change will use promise to trigger page refresh for example.","commit_id":"fa3939b881224af30549c7564dae5358c250f989"}]}
