)]}'
{"cue/db/sqlalchemy/alembic/versions/244aa473e595_add_column_node.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"7c9f54b1d12c946ae3cf36e1e971d060521c06e4","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027nodes\u0027, sa.Column(\u0027mgmt_ip\u0027, sa.String(length\u003d20)))"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_99e2b32e","line":34,"updated":"2015-10-04 15:33:31.000000000","message":"it would be more clear to use the full name:  management_ip","commit_id":"b373284118176038ad88ebafda364b173f9f9eb4"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"003c5f6176a5cb7fe226cfa245a3ed5906972f92","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def upgrade():"},{"line_number":35,"context_line":"    op.add_column(\u0027nodes\u0027, sa.Column(\u0027management_ip\u0027, sa.String(length\u003d20)))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_bb73e87f","line":35,"updated":"2015-10-06 22:32:48.000000000","message":"why length \u003d 20?  IPv2 max size is 15?  IPv6 \u003d 45.","commit_id":"4d82982f098b556909087db00e2320616fadbbab"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"46a65d2711bfeedcee14d35149bce280ed0b463d","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def upgrade():"},{"line_number":35,"context_line":"    op.add_column(\u0027nodes\u0027, sa.Column(\u0027management_ip\u0027, sa.String(length\u003d20)))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_fe206e9d","line":35,"in_reply_to":"7a2fa921_bb73e87f","updated":"2015-10-06 22:59:33.000000000","message":"Done","commit_id":"4d82982f098b556909087db00e2320616fadbbab"}],"cue/db/sqlalchemy/models.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"7c9f54b1d12c946ae3cf36e1e971d060521c06e4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    mgmt_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_39d04753","line":59,"updated":"2015-10-04 15:33:31.000000000","message":"full name","commit_id":"b373284118176038ad88ebafda364b173f9f9eb4"},{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"3e567f9d6a633d004a84c411d3ae8f16d39301f5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    mgmt_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_6971fa43","line":59,"updated":"2015-10-04 15:40:29.000000000","message":"change all mgmt* references to management*","commit_id":"3d500f10a008d1b8527a46b9e5e72e31735e4a3e"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"10731cebc57a915d6897210c999f37834d908b26","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    mgmt_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_5b50775e","line":59,"in_reply_to":"9a1a9d01_6971fa43","updated":"2015-10-04 23:46:38.000000000","message":"Done","commit_id":"3d500f10a008d1b8527a46b9e5e72e31735e4a3e"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"003c5f6176a5cb7fe226cfa245a3ed5906972f92","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    management_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_bbfa08bc","line":59,"updated":"2015-10-06 22:32:48.000000000","message":"Should this be a nullable column?  What would happen with existing clusters that have not recorded a management_ip?  What would the cluster check flow do?","commit_id":"4d82982f098b556909087db00e2320616fadbbab"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"7e95cb6d49ed328d7ef6f98c657adc99f8d3b51b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    management_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_7b4f90bd","line":59,"in_reply_to":"7a2fa921_7b4a30c7","updated":"2015-10-06 22:48:44.000000000","message":"good point.  nullable it is.","commit_id":"4d82982f098b556909087db00e2320616fadbbab"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"8a6eabfe846ad494eab5eb961ead9e4c3cfb06dd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    management_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_7b4a30c7","line":59,"in_reply_to":"7a2fa921_7b77903a","updated":"2015-10-06 22:45:40.000000000","message":"actually, node records are created prior to the instance being booted, which would mean that the IP is not available at record creation time, so it\u0027s probably not possible to set this as a required field until/unless we change the ordering of when node records are created","commit_id":"4d82982f098b556909087db00e2320616fadbbab"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"5e9b111c8c7b6d81b64b31b1deecafcb5734676b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    flavor \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":57,"context_line":"    instance_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":58,"context_line":"    status \u003d sa.Column(sa.String(50), nullable\u003dFalse)"},{"line_number":59,"context_line":"    management_ip \u003d sa.Column(sa.String(20), nullable\u003dTrue)"},{"line_number":60,"context_line":"    sa.Index(\"nodes_id_idx\", \"id\", unique\u003dTrue)"},{"line_number":61,"context_line":"    sa.Index(\"nodes_cluster_id_idx\", \"cluster_id\", unique\u003dFalse)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_7b77903a","line":59,"in_reply_to":"7a2fa921_bbfa08bc","updated":"2015-10-06 22:39:04.000000000","message":"this should not be a nullable column, we rely on this to be able to manage the node so it should be a required field","commit_id":"4d82982f098b556909087db00e2320616fadbbab"}],"cue/objects/node.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"7c9f54b1d12c946ae3cf36e1e971d060521c06e4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \u0027cluster_id\u0027: obj_utils.str_or_none,"},{"line_number":31,"context_line":"        \u0027instance_id\u0027: obj_utils.str_or_none,"},{"line_number":32,"context_line":"        \u0027flavor\u0027: obj_utils.str_or_none,"},{"line_number":33,"context_line":"        \u0027mgmt_ip\u0027: obj_utils.str_or_none,"},{"line_number":34,"context_line":"        \u0027status\u0027: obj_utils.str_or_none,"},{"line_number":35,"context_line":"        \u0027created_at\u0027: obj_utils.datetime_or_str_or_none,"},{"line_number":36,"context_line":"        \u0027updated_at\u0027: obj_utils.datetime_or_str_or_none,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_b9c45792","line":33,"updated":"2015-10-04 15:33:31.000000000","message":"full name","commit_id":"b373284118176038ad88ebafda364b173f9f9eb4"}],"cue/taskflow/flow/create_cluster_node.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"7c9f54b1d12c946ae3cf36e1e971d060521c06e4","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    extract_vm_id \u003d lambda vm_info: str(vm_info[\u0027id\u0027])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    new_node_values \u003d lambda nova_vm_id, vm_mgmt_ip: {"},{"line_number":88,"context_line":"                                          \u0027status\u0027: models.Status.ACTIVE,"},{"line_number":89,"context_line":"                                          \u0027instance_id\u0027: nova_vm_id,"},{"line_number":90,"context_line":"                                          \u0027mgmt_ip\u0027: vm_mgmt_ip}"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_593adb99","line":87,"updated":"2015-10-04 15:33:31.000000000","message":"full name","commit_id":"b373284118176038ad88ebafda364b173f9f9eb4"}],"cue/tests/functional/taskflow/flow/test_create_cluster.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"ebae975e6f967b978b791ed730ea91dd033927a1","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            self.assertEqual(uri, endpoint.uri, \"invalid endpoint uri\")"},{"line_number":143,"context_line":"            self.assertEqual(\u0027AMQP\u0027, endpoint.type, \"invalid endpoint type\")"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"            expected_management_ip \u003d \u00270.0.0.0\u0027"},{"line_number":146,"context_line":"            node_management_ip \u003d result[\u0027vm_management_ip_\u0027 + str(i)]"},{"line_number":147,"context_line":"            self.assertEqual(expected_management_ip, node_management_ip,"},{"line_number":148,"context_line":"                             \"invalid management ip\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_2eaa66d5","line":145,"updated":"2015-10-06 00:58:04.000000000","message":"The IP address here should be retrieved from the DB, like endpoint ip above.  Fixing an IP address here would not allow the test to function if real OpenStack clients were used of if the fixture is changed/updated.","commit_id":"73c42bc4b1b7c34d2204dba8ad1a0da8b5c5f0d0"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"0bef08f34e849c7099535e0206950f82c1342fee","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            self.assertEqual(uri, endpoint.uri, \"invalid endpoint uri\")"},{"line_number":143,"context_line":"            self.assertEqual(\u0027AMQP\u0027, endpoint.type, \"invalid endpoint type\")"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"            expected_management_ip \u003d \u00270.0.0.0\u0027"},{"line_number":146,"context_line":"            node_management_ip \u003d result[\u0027vm_management_ip_\u0027 + str(i)]"},{"line_number":147,"context_line":"            self.assertEqual(expected_management_ip, node_management_ip,"},{"line_number":148,"context_line":"                             \"invalid management ip\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_d5c7bd43","line":145,"in_reply_to":"7a2fa921_2eaa66d5","updated":"2015-10-06 05:25:58.000000000","message":"Done","commit_id":"73c42bc4b1b7c34d2204dba8ad1a0da8b5c5f0d0"}]}
