)]}'
{"ironic_ui/api/ironic.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                  \u0027deploy\u0027,"},{"line_number":189,"context_line":"                  \u0027inspect\u0027,"},{"line_number":190,"context_line":"                  \u0027boot\u0027,"},{"line_number":191,"context_line":"                  \u0027raid\u0027]"},{"line_number":192,"context_line":"    return dict([(f, getattr(node, f, \u0027\u0027)) for f in field_list])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a77a97e_982e27a4","line":191,"updated":"2016-11-21 14:48:17.000000000","message":"This list is going to grow/change/evolve as time goes on, and I\u0027m not sure we can realistically always expect them.   Why not return all possible interfaces as time goes on?","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                  \u0027deploy\u0027,"},{"line_number":189,"context_line":"                  \u0027inspect\u0027,"},{"line_number":190,"context_line":"                  \u0027boot\u0027,"},{"line_number":191,"context_line":"                  \u0027raid\u0027]"},{"line_number":192,"context_line":"    return dict([(f, getattr(node, f, \u0027\u0027)) for f in field_list])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a77a97e_d0722b49","line":191,"in_reply_to":"7a77a97e_982e27a4","updated":"2016-11-21 18:40:18.000000000","message":"Agreed. The best solution I came up with is iterating through the list of fields, and including all those whose value is a dictionary with a \u0027result\u0027 member.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"}],"ironic_ui/static/dashboard/admin/ironic/node-details/node-details.controller.js":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            ctrl.node.last_error !\u003d\u003d null \u0026\u0026"},{"line_number":149,"context_line":"            ctrl.node.last_error !\u003d\u003d lastError) {"},{"line_number":150,"context_line":"          toastService.add("},{"line_number":151,"context_line":"            \u0027error\u0027,"},{"line_number":152,"context_line":"            \"Error detected on node \" +"},{"line_number":153,"context_line":"              ctrl.node.name + \". \" +"},{"line_number":154,"context_line":"              ctrl.node.last_error);"}],"source_content_type":"text/javascript","patch_set":1,"id":"7a77a97e_73e32c06","line":151,"updated":"2016-11-21 14:48:17.000000000","message":"unrelated, but just formatting, so *shrug* :)","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            ctrl.node.last_error !\u003d\u003d null \u0026\u0026"},{"line_number":149,"context_line":"            ctrl.node.last_error !\u003d\u003d lastError) {"},{"line_number":150,"context_line":"          toastService.add("},{"line_number":151,"context_line":"            \u0027error\u0027,"},{"line_number":152,"context_line":"            \"Error detected on node \" +"},{"line_number":153,"context_line":"              ctrl.node.name + \". \" +"},{"line_number":154,"context_line":"              ctrl.node.last_error);"}],"source_content_type":"text/javascript","patch_set":1,"id":"7a77a97e_10cbc31f","line":151,"in_reply_to":"7a77a97e_73e32c06","updated":"2016-11-21 18:40:18.000000000","message":"My bad. Reverting.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"}],"ironic_ui/static/dashboard/admin/ironic/node-details/sections/configuration.html":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                  {$ value $}"},{"line_number":79,"context_line":"                \u003c/a\u003e"},{"line_number":80,"context_line":"              \u003c/dd\u003e"},{"line_number":81,"context_line":"              \u003cdd ng-if\u003d\"id !\u003d\u003d \u0027vif_port_id\u0027\"\u003e"},{"line_number":82,"context_line":"                {$ value $}"},{"line_number":83,"context_line":"              \u003c/dd\u003e"},{"line_number":84,"context_line":"              \u003cp ng-repeat-end\u003e\u003c/p\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_73788c2c","line":81,"updated":"2016-11-21 14:48:17.000000000","message":"This seems unrelated...","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"29ca8f5ddf349820a748448cf8a5f44b9306295b","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                  {$ value $}"},{"line_number":79,"context_line":"                \u003c/a\u003e"},{"line_number":80,"context_line":"              \u003c/dd\u003e"},{"line_number":81,"context_line":"              \u003cdd ng-if\u003d\"id !\u003d\u003d \u0027vif_port_id\u0027\"\u003e"},{"line_number":82,"context_line":"                {$ value $}"},{"line_number":83,"context_line":"              \u003c/dd\u003e"},{"line_number":84,"context_line":"              \u003cp ng-repeat-end\u003e\u003c/p\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_bb81e891","line":81,"in_reply_to":"7a77a97e_101ca376","updated":"2016-11-22 13:49:04.000000000","message":"Makes sense.  That port ID should also relate back to the MAC address, so I think informationally the user should be covered.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                  {$ value $}"},{"line_number":79,"context_line":"                \u003c/a\u003e"},{"line_number":80,"context_line":"              \u003c/dd\u003e"},{"line_number":81,"context_line":"              \u003cdd ng-if\u003d\"id !\u003d\u003d \u0027vif_port_id\u0027\"\u003e"},{"line_number":82,"context_line":"                {$ value $}"},{"line_number":83,"context_line":"              \u003c/dd\u003e"},{"line_number":84,"context_line":"              \u003cp ng-repeat-end\u003e\u003c/p\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_101ca376","line":81,"in_reply_to":"7a77a97e_73788c2c","updated":"2016-11-21 18:40:18.000000000","message":"It is, sorry. In the previous code we checked whether a port has a vif_port_id, and if so made the port mac address a link back to the Neutron port. I think it is more correct to have the vif_port_id itself be a link to the Neutron port.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":195,"context_line":"          \u003ctd class\u003d\"rsp-p1\" ng-switch\u003d\"status.result\"\u003e"},{"line_number":196,"context_line":"            \u003cspan ng-switch-when\u003d\"true\" class\u003d\"fa fa-check text-success\"\u003e\u003c/span\u003e"},{"line_number":197,"context_line":"            \u003cspan ng-switch-when\u003d\"false\" class\u003d\"fa fa-close text-danger\"\u003e\u003c/span\u003e"},{"line_number":198,"context_line":"            \u003cspan ng-switch-default class\u003d\"fa fa-minus\"\u003e\u003c/spab\u003e"},{"line_number":199,"context_line":"          \u003c/td\u003e"},{"line_number":200,"context_line":"          \u003ctd class\u003d\"rsp-p2\"\u003e"},{"line_number":201,"context_line":"            {$ status.reason $}"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_33eb74b2","line":198,"range":{"start_line":198,"start_character":58,"end_line":198,"end_character":62},"updated":"2016-11-21 14:48:17.000000000","message":"typo?","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":195,"context_line":"          \u003ctd class\u003d\"rsp-p1\" ng-switch\u003d\"status.result\"\u003e"},{"line_number":196,"context_line":"            \u003cspan ng-switch-when\u003d\"true\" class\u003d\"fa fa-check text-success\"\u003e\u003c/span\u003e"},{"line_number":197,"context_line":"            \u003cspan ng-switch-when\u003d\"false\" class\u003d\"fa fa-close text-danger\"\u003e\u003c/span\u003e"},{"line_number":198,"context_line":"            \u003cspan ng-switch-default class\u003d\"fa fa-minus\"\u003e\u003c/spab\u003e"},{"line_number":199,"context_line":"          \u003c/td\u003e"},{"line_number":200,"context_line":"          \u003ctd class\u003d\"rsp-p2\"\u003e"},{"line_number":201,"context_line":"            {$ status.reason $}"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_9a0d313a","line":198,"range":{"start_line":198,"start_character":58,"end_line":198,"end_character":62},"in_reply_to":"7a77a97e_33eb74b2","updated":"2016-11-21 18:40:18.000000000","message":"Yes","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            {$ ctrl.node.instance_info.kernel | noValue $}"},{"line_number":239,"context_line":"          \u003c/a\u003e"},{"line_number":240,"context_line":"        \u003c/dd\u003e"},{"line_number":241,"context_line":"        \u003cdt translate\u003eImage Source\u003c/dt\u003e"},{"line_number":242,"context_line":"        \u003cdd\u003e"},{"line_number":243,"context_line":"          \u003ca href\u003d\"/dashboard/admin/images/{$ ctrl.node.instance_info.image_source $}/detail\"\u003e"},{"line_number":244,"context_line":"            {$ ctrl.node.instance_info.image_source | noValue $}"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_f363bc3f","line":241,"updated":"2016-11-21 14:48:17.000000000","message":"Perhaps it is worth noting enhancement of the instance_info display as well?","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            {$ ctrl.node.instance_info.kernel | noValue $}"},{"line_number":239,"context_line":"          \u003c/a\u003e"},{"line_number":240,"context_line":"        \u003c/dd\u003e"},{"line_number":241,"context_line":"        \u003cdt translate\u003eImage Source\u003c/dt\u003e"},{"line_number":242,"context_line":"        \u003cdd\u003e"},{"line_number":243,"context_line":"          \u003ca href\u003d\"/dashboard/admin/images/{$ ctrl.node.instance_info.image_source $}/detail\"\u003e"},{"line_number":244,"context_line":"            {$ ctrl.node.instance_info.image_source | noValue $}"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_5a78f98f","line":241,"in_reply_to":"7a77a97e_f363bc3f","updated":"2016-11-21 18:40:18.000000000","message":"Yes","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9301be80701944d3787f076cd7de5d37ec7af40e","unresolved":false,"context_lines":[{"line_number":255,"context_line":"  \u003c/div\u003e"},{"line_number":256,"context_line":"\u003c/div\u003e"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"\u003cdiv class\u003d\"row\"\u003e"},{"line_number":259,"context_line":"  \u003c!-- Extra --\u003e"},{"line_number":260,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":261,"context_line":"    \u003ch4 translate\u003eExtra\u003c/h4\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_b3a9447e","line":258,"updated":"2016-11-21 14:48:17.000000000","message":"Okay, I see properties was moved.  I was a little confused as to why earlier.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"29ca8f5ddf349820a748448cf8a5f44b9306295b","unresolved":false,"context_lines":[{"line_number":255,"context_line":"  \u003c/div\u003e"},{"line_number":256,"context_line":"\u003c/div\u003e"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"\u003cdiv class\u003d\"row\"\u003e"},{"line_number":259,"context_line":"  \u003c!-- Extra --\u003e"},{"line_number":260,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":261,"context_line":"    \u003ch4 translate\u003eExtra\u003c/h4\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_5e0c423b","line":258,"in_reply_to":"7a77a97e_1aee81ec","updated":"2016-11-22 13:49:04.000000000","message":"That makes sense, and I think it is fine. Luckily this is open source, and if someone doesn\u0027t agree, they can propose a patch :)","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"2c919da1381feda1ddbbd62935982efcea22b3fd","unresolved":false,"context_lines":[{"line_number":255,"context_line":"  \u003c/div\u003e"},{"line_number":256,"context_line":"\u003c/div\u003e"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"\u003cdiv class\u003d\"row\"\u003e"},{"line_number":259,"context_line":"  \u003c!-- Extra --\u003e"},{"line_number":260,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":261,"context_line":"    \u003ch4 translate\u003eExtra\u003c/h4\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"7a77a97e_1aee81ec","line":258,"in_reply_to":"7a77a97e_b3a9447e","updated":"2016-11-21 18:40:18.000000000","message":"This change was primarily driven by wanting the the driver-info and driver validation to be next to each other.\n\nI also pulled Extra out of General and am treating it in a similar way to properties and instance_info. \n\nI am open to ideas on better options for layout and grouping.","commit_id":"7181ce0c799b7b5f61c59ba4c97858e68ddb2a19"},{"author":{"_account_id":16628,"name":"Beth Elwell","email":"e.r.elwell@gmail.com","username":"bethelwell"},"change_message_id":"bf3fbd28b2bb4e7fde7fa158083b709ec20d9816","unresolved":false,"context_lines":[{"line_number":168,"context_line":"  \u003c!-- Validation --\u003e"},{"line_number":169,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":170,"context_line":"    \u003ch4 translate\u003eDriver Validation\u003c/h4\u003e"},{"line_number":171,"context_line":"    \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":174,"context_line":"           st-table\u003d\"ctrl.nodeValidation\""}],"source_content_type":"text/html","patch_set":2,"id":"3a71b18c_ef5d93ed","line":171,"updated":"2016-12-01 13:37:18.000000000","message":"close tag /","commit_id":"eeaa2ecf06edc8461363b900ea7f925bbfa272b0"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"48d4d0c092aef006898d0aaf0cf4775af14ec7f8","unresolved":false,"context_lines":[{"line_number":168,"context_line":"  \u003c!-- Validation --\u003e"},{"line_number":169,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":170,"context_line":"    \u003ch4 translate\u003eDriver Validation\u003c/h4\u003e"},{"line_number":171,"context_line":"    \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    \u003ctable hz-table ng-cloak"},{"line_number":174,"context_line":"           st-table\u003d\"ctrl.nodeValidation\""}],"source_content_type":"text/html","patch_set":2,"id":"3a71b18c_aa652d46","line":171,"in_reply_to":"3a71b18c_ef5d93ed","updated":"2016-12-01 22:52:12.000000000","message":"Beth, given that \u003chr\u003e is a void element I dont believe that a closing tag is required. If we were serving xhtml there would be a stronger case.","commit_id":"eeaa2ecf06edc8461363b900ea7f925bbfa272b0"},{"author":{"_account_id":16628,"name":"Beth Elwell","email":"e.r.elwell@gmail.com","username":"bethelwell"},"change_message_id":"bf3fbd28b2bb4e7fde7fa158083b709ec20d9816","unresolved":false,"context_lines":[{"line_number":210,"context_line":"  \u003c!-- Properties --\u003e"},{"line_number":211,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":212,"context_line":"    \u003ch4 translate\u003eProperties\u003c/h4\u003e"},{"line_number":213,"context_line":"    \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":214,"context_line":"    \u003cdl class\u003d\"dl-horizontal\"\u003e"},{"line_number":215,"context_line":"      \u003cdt ng-repeat-start\u003d\"(propertyName, propertyValue) in ctrl.node.properties\"\u003e"},{"line_number":216,"context_line":"        {$ propertyName $}\u003c/dt\u003e"}],"source_content_type":"text/html","patch_set":2,"id":"3a71b18c_af6c7b9d","line":213,"updated":"2016-12-01 13:37:18.000000000","message":"close tag /","commit_id":"eeaa2ecf06edc8461363b900ea7f925bbfa272b0"},{"author":{"_account_id":16628,"name":"Beth Elwell","email":"e.r.elwell@gmail.com","username":"bethelwell"},"change_message_id":"bf3fbd28b2bb4e7fde7fa158083b709ec20d9816","unresolved":false,"context_lines":[{"line_number":259,"context_line":"  \u003c!-- Extra --\u003e"},{"line_number":260,"context_line":"  \u003cdiv class\u003d\"col-md-6 status detail\"\u003e"},{"line_number":261,"context_line":"    \u003ch4 translate\u003eExtra\u003c/h4\u003e"},{"line_number":262,"context_line":"    \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":263,"context_line":"    \u003cdl class\u003d\"dl-horizontal\"\u003e"},{"line_number":264,"context_line":"      \u003cdt ng-repeat-start\u003d\"(propertyName, propertyValue) in ctrl.node.extra\"\u003e"},{"line_number":265,"context_line":"        {$ propertyName $}\u003c/dt\u003e"}],"source_content_type":"text/html","patch_set":2,"id":"3a71b18c_0f0acfd2","line":262,"updated":"2016-12-01 13:37:18.000000000","message":"close tag /","commit_id":"eeaa2ecf06edc8461363b900ea7f925bbfa272b0"}]}
