)]}'
{"cue/api/controllers/v1/cluster.py":[{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"2ec1fede82005094667916512d582cbea7cda29e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            if hasattr(self, k):"},{"line_number":79,"context_line":"                self.fields.append(k)"},{"line_number":80,"context_line":"                setattr(self, k, kwargs.get(k, wtypes.Unset))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    id \u003d wtypes.text"},{"line_number":83,"context_line":"    \"UUID of cluster\""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_37f6f58f","line":81,"updated":"2015-04-13 18:29:59.000000000","message":"Since this patch makes changes to product code as well as tests, can we update the ID and status parameters as \"read only\" fields for wsme.  We can also test against this since as well.  There is a bug out for that change here:  https://bugs.launchpad.net/cue/+bug/1436965","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"a4baa3c7c3e85c9adf44854d3efb32279c33dbef","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            if hasattr(self, k):"},{"line_number":79,"context_line":"                self.fields.append(k)"},{"line_number":80,"context_line":"                setattr(self, k, kwargs.get(k, wtypes.Unset))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    id \u003d wtypes.text"},{"line_number":83,"context_line":"    \"UUID of cluster\""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_adbbd4c3","line":81,"in_reply_to":"7aaa499b_37f6f58f","updated":"2015-04-13 19:21:05.000000000","message":"Done","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"2c45e6891d3a95437d0d43a091f3693d1a5c1ad9","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    flavor \u003d wsme.wsattr(wtypes.text, mandatory\u003dTrue)"},{"line_number":95,"context_line":"    \"Flavor of cluster\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    size \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0, maximum\u003dsys.maxint),"},{"line_number":98,"context_line":"                       mandatory\u003dTrue)"},{"line_number":99,"context_line":"    \"Number of nodes in cluster\""},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_251b5e1d","line":97,"updated":"2015-04-13 18:03:04.000000000","message":"If we need to set a max, i prefer to have this configured.","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"2ec1fede82005094667916512d582cbea7cda29e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    flavor \u003d wsme.wsattr(wtypes.text, mandatory\u003dTrue)"},{"line_number":95,"context_line":"    \"Flavor of cluster\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    size \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0, maximum\u003dsys.maxint),"},{"line_number":98,"context_line":"                       mandatory\u003dTrue)"},{"line_number":99,"context_line":"    \"Number of nodes in cluster\""},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_377a7525","line":97,"in_reply_to":"7aaa499b_251b5e1d","updated":"2015-04-13 18:29:59.000000000","message":"we currently do have a max cluster size (max_cluster_size) config parameter.  this check filters for positive integers values only.","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"2c45e6891d3a95437d0d43a091f3693d1a5c1ad9","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                       mandatory\u003dTrue)"},{"line_number":99,"context_line":"    \"Number of nodes in cluster\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    volume_size \u003d wtypes.IntegerType(minimum\u003d0, maximum\u003dsys.maxint)"},{"line_number":102,"context_line":"    \"Volume size for nodes in cluster\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    end_points \u003d wtypes.wsattr([EndPoint], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_a5dd2e44","line":101,"updated":"2015-04-13 18:03:04.000000000","message":"same here","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"2ec1fede82005094667916512d582cbea7cda29e","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                       mandatory\u003dTrue)"},{"line_number":99,"context_line":"    \"Number of nodes in cluster\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    volume_size \u003d wtypes.IntegerType(minimum\u003d0, maximum\u003dsys.maxint)"},{"line_number":102,"context_line":"    \"Volume size for nodes in cluster\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    end_points \u003d wtypes.wsattr([EndPoint], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_d78fd121","line":101,"in_reply_to":"7aaa499b_a5dd2e44","updated":"2015-04-13 18:29:59.000000000","message":"since we don\u0027t currently support volumes, there isn\u0027t a configuration variable for this  yet.","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"ba8914fa8d25c9c9658ad4e440c0dcb86a0b5942","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                self.fields.append(k)"},{"line_number":79,"context_line":"                setattr(self, k, kwargs.get(k, wtypes.Unset))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    id \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"},{"line_number":82,"context_line":"    \"UUID of cluster\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    network_id \u003d wtypes.wsattr(wtypes.text, mandatory\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_b079eb95","line":81,"updated":"2015-04-13 19:32:20.000000000","message":"If we set this to readonly, can this object be constructed with an id?  Does the object conversion from db objects to wsme objects continue to work?\n\nAlso -- can we add a tests to test the readonly fields.","commit_id":"fcf6a8bd66a29e867e10e5ad68d1eed793f57530"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"3ed13bf9cbdfa5fadc46b32f738cf1bc8db934b6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                self.fields.append(k)"},{"line_number":79,"context_line":"                setattr(self, k, kwargs.get(k, wtypes.Unset))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    id \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"},{"line_number":82,"context_line":"    \"UUID of cluster\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    network_id \u003d wtypes.wsattr(wtypes.text, mandatory\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_86feb569","line":81,"in_reply_to":"7aaa499b_b079eb95","updated":"2015-04-14 17:50:00.000000000","message":"yes it works fine with the conversion.\nAdding the test cases in the next patch.","commit_id":"fcf6a8bd66a29e867e10e5ad68d1eed793f57530"}],"cue/tests/api/v1/test_wsme_objects.py":[{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"2c45e6891d3a95437d0d43a091f3693d1a5c1ad9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_api_cluster(self):"},{"line_number":32,"context_line":"        \"\"\"test cluster object with valid input.\"\"\""},{"line_number":33,"context_line":"        cluster_value \u003d {"},{"line_number":34,"context_line":"            \"network_id\": \"df295159-ddd4-48e1-bb1b-42248ae96581\","},{"line_number":35,"context_line":"            \"flavor\": \"1\","},{"line_number":36,"context_line":"            \"name\": \"test_cluster\","},{"line_number":37,"context_line":"            \"size\": 3,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_65d28602","line":34,"updated":"2015-04-13 18:03:04.000000000","message":"Shouldnt the network_id be invalid. It should get a list of dict. \nSomething like: networks\": [{\"uuid\": \"123\"}].\nOr is this change done in a different patch?","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":13771,"name":"Davide Agnello","email":"dagnello@hp.com","username":"dagnello"},"change_message_id":"2ec1fede82005094667916512d582cbea7cda29e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_api_cluster(self):"},{"line_number":32,"context_line":"        \"\"\"test cluster object with valid input.\"\"\""},{"line_number":33,"context_line":"        cluster_value \u003d {"},{"line_number":34,"context_line":"            \"network_id\": \"df295159-ddd4-48e1-bb1b-42248ae96581\","},{"line_number":35,"context_line":"            \"flavor\": \"1\","},{"line_number":36,"context_line":"            \"name\": \"test_cluster\","},{"line_number":37,"context_line":"            \"size\": 3,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_f71d2dbe","line":34,"in_reply_to":"7aaa499b_65d28602","updated":"2015-04-13 18:29:59.000000000","message":"different patch","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"2c45e6891d3a95437d0d43a091f3693d1a5c1ad9","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        }"},{"line_number":87,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":88,"context_line":"                          lambda: rest_json.fromjson(api_cluster.Cluster,"},{"line_number":89,"context_line":"                                                     cluster_value))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def test_api_cluster_missing_network_id(self):"},{"line_number":92,"context_line":"        \"\"\"test cluster object with missing mandatory field \u0027network_id\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_25211efc","line":89,"updated":"2015-04-13 18:03:04.000000000","message":"Since you are setting a max size and volume size in the controller, can we have tests that ensures it throws an error when the size provided is larger than the max?","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"a4baa3c7c3e85c9adf44854d3efb32279c33dbef","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        }"},{"line_number":87,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":88,"context_line":"                          lambda: rest_json.fromjson(api_cluster.Cluster,"},{"line_number":89,"context_line":"                                                     cluster_value))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def test_api_cluster_missing_network_id(self):"},{"line_number":92,"context_line":"        \"\"\"test cluster object with missing mandatory field \u0027network_id\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_edaafc6f","line":89,"in_reply_to":"7aaa499b_25211efc","updated":"2015-04-13 19:21:05.000000000","message":"Wsme objects max value set is to check if the input is a positive number. If we want to test the api.max_cluster_size I think it should be included in the api tests.","commit_id":"3d2925b9b4b2879314ba15f1f8670ead73a3c3d2"}],"cue/tests/unit/api/controllers/v1/test_wsme_objects.py":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"fa3ed51e41904317022d222ebc71c37a586c4e94","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            \"size\": \"3\","},{"line_number":53,"context_line":"        }"},{"line_number":54,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":55,"context_line":"                          lambda: api_cluster.Cluster(**cluster_value))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_api_cluster_invalid_type_size(self):"},{"line_number":58,"context_line":"        \"\"\"test cluster object with invalid type \u0027size\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_3ee82c7c","line":55,"updated":"2015-04-20 16:59:52.000000000","message":"why are lambda functions being created here?  assertRaises will take a function as an argument with function parameters as additional arguments, you don\u0027t need to create a functor to wrap the function call with arguments","commit_id":"9d3b77a7d705b4309d47153d3a60394c2d22ff98"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"e3744283832a72e234c9ef7884065efc7577dc06","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            \"size\": \"3\","},{"line_number":53,"context_line":"        }"},{"line_number":54,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":55,"context_line":"                          lambda: api_cluster.Cluster(**cluster_value))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_api_cluster_invalid_type_size(self):"},{"line_number":58,"context_line":"        \"\"\"test cluster object with invalid type \u0027size\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_141429f3","line":55,"in_reply_to":"dac4157f_3ee82c7c","updated":"2015-04-20 17:31:02.000000000","message":"Done","commit_id":"9d3b77a7d705b4309d47153d3a60394c2d22ff98"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"76c8de924591f7f8a8ca43f4a388edf73f675db5","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":147,"context_line":"                          lambda: rest_json.fromjson(api_cluster.Cluster,"},{"line_number":148,"context_line":"                                                     cluster_value))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def tearDown(self):"},{"line_number":151,"context_line":"        super(TestClusterObject, self).tearDown()"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_fe7754d2","line":149,"updated":"2015-04-20 17:01:45.000000000","message":"please add a test to check for network_id being a scalar rather than a list","commit_id":"9d3b77a7d705b4309d47153d3a60394c2d22ff98"},{"author":{"_account_id":14955,"name":"Abitha Palaniappan","email":"abitha.palaniappan@hp.com","username":"Abitha"},"change_message_id":"e3744283832a72e234c9ef7884065efc7577dc06","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        self.assertRaises(wsme_exception.InvalidInput,"},{"line_number":147,"context_line":"                          lambda: rest_json.fromjson(api_cluster.Cluster,"},{"line_number":148,"context_line":"                                                     cluster_value))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def tearDown(self):"},{"line_number":151,"context_line":"        super(TestClusterObject, self).tearDown()"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_b41a1d16","line":149,"in_reply_to":"dac4157f_fe7754d2","updated":"2015-04-20 17:31:02.000000000","message":"the second test case is checking for a scalar network id.","commit_id":"9d3b77a7d705b4309d47153d3a60394c2d22ff98"}]}
