)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"a5247c35dd95b5190c00dade8d19a122f4bb468e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Imre Farkas \u003cifarkas@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-29 13:28:55 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not require local_gb by ramdisk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Discovery ramdisk should not fail on nodes without a volume. It\u0027s only"},{"line_number":10,"context_line":"required for scheduling, so it should only be validated in the standard"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a016987_db798930","line":7,"updated":"2015-06-01 10:20:25.000000000","message":"I think we should fix here also. Because now not only local_gb, but others(cpu, memory_mb, ram_info) are also not required anymore.","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"bc22f293960dc47363a0750b78d01afb2430a996","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Imre Farkas \u003cifarkas@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-29 13:28:55 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not require local_gb by ramdisk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Discovery ramdisk should not fail on nodes without a volume. It\u0027s only"},{"line_number":10,"context_line":"required for scheduling, so it should only be validated in the standard"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_87adab8a","line":7,"in_reply_to":"7a016987_bbc24d32","updated":"2015-06-05 13:25:48.000000000","message":"Done","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"98f17f4bea5f535ce36b0c9a97687dfbfb05dd2c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Imre Farkas \u003cifarkas@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-29 13:28:55 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not require local_gb by ramdisk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Discovery ramdisk should not fail on nodes without a volume. It\u0027s only"},{"line_number":10,"context_line":"required for scheduling, so it should only be validated in the standard"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a016987_bbc24d32","line":7,"in_reply_to":"7a016987_db798930","updated":"2015-06-01 10:22:14.000000000","message":"++","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"a5247c35dd95b5190c00dade8d19a122f4bb468e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not require local_gb by ramdisk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Discovery ramdisk should not fail on nodes without a volume. It\u0027s only"},{"line_number":10,"context_line":"required for scheduling, so it should only be validated in the standard"},{"line_number":11,"context_line":"plugin."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a016987_1b9a8162","line":9,"updated":"2015-06-01 10:20:25.000000000","message":"ditto. volume -\u003e what? I have no idea ;)","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"bc22f293960dc47363a0750b78d01afb2430a996","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not require local_gb by ramdisk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Discovery ramdisk should not fail on nodes without a volume. It\u0027s only"},{"line_number":10,"context_line":"required for scheduling, so it should only be validated in the standard"},{"line_number":11,"context_line":"plugin."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_67aaaf72","line":9,"in_reply_to":"7a016987_1b9a8162","updated":"2015-06-05 13:25:48.000000000","message":"Done","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"}],"ironic_discoverd_ramdisk/discover.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d1658591ae98a0a0c0a667d10f47485062a2c517","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"},{"line_number":165,"context_line":"            failures.add(\u0027value for %s is missing or malformed: %s\u0027,"},{"line_number":166,"context_line":"                         key, data.get(key))"},{"line_number":167,"context_line":"            data[key] \u003d None"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    try:"},{"line_number":170,"context_line":"        data[\u0027local_gb\u0027] \u003d int(data[\u0027local_gb\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_1f6d5404","line":167,"updated":"2015-05-27 15:21:12.000000000","message":"actually let\u0027s convert these checks into warnings (all of them, not only local_gb)","commit_id":"1113823002363680dd235a953f76276803585388"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"140b9a1bac256fd839a0a1fb9b25a6d13055058e","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"},{"line_number":165,"context_line":"            failures.add(\u0027value for %s is missing or malformed: %s\u0027,"},{"line_number":166,"context_line":"                         key, data.get(key))"},{"line_number":167,"context_line":"            data[key] \u003d None"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    try:"},{"line_number":170,"context_line":"        data[\u0027local_gb\u0027] \u003d int(data[\u0027local_gb\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_4f0c1394","line":167,"in_reply_to":"7a016987_1f6d5404","updated":"2015-05-28 12:21:07.000000000","message":"Done","commit_id":"1113823002363680dd235a953f76276803585388"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d1658591ae98a0a0c0a667d10f47485062a2c517","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        data[\u0027local_gb\u0027] \u003d data[\u0027local_gb\u0027] / 1024 / 1024 / 1024 - 1"},{"line_number":178,"context_line":"        if data[\u0027local_gb\u0027] \u003c 1:"},{"line_number":179,"context_line":"            failures.add(\u0027local_gb is less than 1 GiB\u0027)"},{"line_number":180,"context_line":"            data[\u0027local_gb\u0027] \u003d None"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def discover_additional_properties(args, data, failures):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_ff6f18fa","line":180,"updated":"2015-05-27 15:21:12.000000000","message":"and this should be just a warning, let inspector decide","commit_id":"1113823002363680dd235a953f76276803585388"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"140b9a1bac256fd839a0a1fb9b25a6d13055058e","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        data[\u0027local_gb\u0027] \u003d data[\u0027local_gb\u0027] / 1024 / 1024 / 1024 - 1"},{"line_number":178,"context_line":"        if data[\u0027local_gb\u0027] \u003c 1:"},{"line_number":179,"context_line":"            failures.add(\u0027local_gb is less than 1 GiB\u0027)"},{"line_number":180,"context_line":"            data[\u0027local_gb\u0027] \u003d None"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def discover_additional_properties(args, data, failures):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_2f0f9789","line":180,"in_reply_to":"7a016987_ff6f18fa","updated":"2015-05-28 12:21:07.000000000","message":"Done","commit_id":"1113823002363680dd235a953f76276803585388"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"753cbad9d5867645a816e5d50c11a96e5b7e25c4","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"},{"line_number":163,"context_line":"            data[key] \u003d int(data[key])"},{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_c792384b","line":161,"updated":"2015-05-28 04:12:43.000000000","message":"How about writing like this without L169-173?\n\n for key in (\u0027cpus\u0027, \u0027memory_mb\u0027, \u0027local_gb\u0027):","commit_id":"825b5f35d6253ec0d117c648bc8b9a47b7e680d3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"80d8f50bd5fa63521bc82f6e1c2ae6c7029cdab2","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"},{"line_number":163,"context_line":"            data[key] \u003d int(data[key])"},{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_0f8a9bbf","line":161,"in_reply_to":"7a016987_4f83f3cc","updated":"2015-05-28 12:22:52.000000000","message":"@Dmitry: Yeah, which I agree with. I am just not sure what\u0027s the point in reverting to the original without converting the failures to warnings as Yuiko suggested.","commit_id":"825b5f35d6253ec0d117c648bc8b9a47b7e680d3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ef8670d043ac9f80af9f4b56f01f188db3f0becc","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"},{"line_number":163,"context_line":"            data[key] \u003d int(data[key])"},{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_4f83f3cc","line":161,"in_reply_to":"7a016987_4fe773e4","updated":"2015-05-28 12:18:24.000000000","message":"On patchset 1 I proposed having the same but with warning instead of \u0027failures.add\u0027","commit_id":"825b5f35d6253ec0d117c648bc8b9a47b7e680d3"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"b89452295e3b7f4bf452f6000772dc8749aa9c9f","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"},{"line_number":163,"context_line":"            data[key] \u003d int(data[key])"},{"line_number":164,"context_line":"        except (KeyError, ValueError, TypeError):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_4fe773e4","line":161,"in_reply_to":"7a016987_c792384b","updated":"2015-05-28 12:15:23.000000000","message":"Not sure I follow. What you are proposing is the original version? That would add a failure for the missing local_gb which we want to avoid with this patch.","commit_id":"825b5f35d6253ec0d117c648bc8b9a47b7e680d3"}],"ironic_inspector_ramdisk/discover.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3364814cd6c92bf902645d064a91eb465d69bd2b","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        data[\u0027memory_mb\u0027] \u003d total_ram"},{"line_number":157,"context_line":"        LOG.info(\u0027total RAM: %s MiB\u0027, total_ram)"},{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027local_gb\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_f56574e0","line":159,"updated":"2015-06-01 09:06:43.000000000","message":"yes, I think for the sake of consistency we should drop this failure as well","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"98f17f4bea5f535ce36b0c9a97687dfbfb05dd2c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        data[\u0027memory_mb\u0027] \u003d total_ram"},{"line_number":157,"context_line":"        LOG.info(\u0027total RAM: %s MiB\u0027, total_ram)"},{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027local_gb\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_fbcc456b","line":159,"in_reply_to":"7a016987_3bb2dd06","updated":"2015-06-01 10:22:14.000000000","message":"right","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"a5247c35dd95b5190c00dade8d19a122f4bb468e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        data[\u0027memory_mb\u0027] \u003d total_ram"},{"line_number":157,"context_line":"        LOG.info(\u0027total RAM: %s MiB\u0027, total_ram)"},{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027local_gb\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_3bb2dd06","line":159,"in_reply_to":"7a016987_f56574e0","updated":"2015-06-01 10:20:25.000000000","message":"Do you mean that any failure shouldn\u0027t occur in discover_scheduling_properties? If so, I understand.","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"bc22f293960dc47363a0750b78d01afb2430a996","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        data[\u0027memory_mb\u0027] \u003d total_ram"},{"line_number":157,"context_line":"        LOG.info(\u0027total RAM: %s MiB\u0027, total_ram)"},{"line_number":158,"context_line":"    else:"},{"line_number":159,"context_line":"        failures.add(\u0027failed to get RAM information\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    for key in (\u0027cpus\u0027, \u0027local_gb\u0027, \u0027memory_mb\u0027):"},{"line_number":162,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_07abfb8a","line":159,"in_reply_to":"7a016987_fbcc456b","updated":"2015-06-05 13:25:48.000000000","message":"Done","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"}],"ironic_inspector_ramdisk/test/test_discover.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c3583105cd23e8b7c4dd5beef8297c871611dfb","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        discover.discover_scheduling_properties(self.data, self.failures)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.assertIn(\u0027failed to get RAM\u0027, self.failures.get_error())"},{"line_number":215,"context_line":"        self.assertEqual({\u0027cpus\u0027: 2, \u0027cpu_arch\u0027: \u0027x86_64\u0027, \u0027local_gb\u0027: 4,"},{"line_number":216,"context_line":"                          \u0027memory_mb\u0027: None}, self.data)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_e031625a","line":214,"updated":"2015-05-29 11:31:09.000000000","message":"this test should not pass IMO","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"16145d02c4de31eb6ff192802c1b7dce144d3fe0","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        discover.discover_scheduling_properties(self.data, self.failures)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.assertIn(\u0027failed to get RAM\u0027, self.failures.get_error())"},{"line_number":215,"context_line":"        self.assertEqual({\u0027cpus\u0027: 2, \u0027cpu_arch\u0027: \u0027x86_64\u0027, \u0027local_gb\u0027: 4,"},{"line_number":216,"context_line":"                          \u0027memory_mb\u0027: None}, self.data)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_4f3957f1","line":214,"in_reply_to":"7a016987_e031625a","updated":"2015-06-01 08:29:03.000000000","message":"This is a different check: https://github.com/stackforge/ironic-discoverd/blob/master/ironic_inspector_ramdisk/discover.py#L159\n\nI think this is still valid: if there is no ram, the ramdisk will not be able to run. But if you think otherwise I can change this check as well.","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"8baf17324bd6d9346c58e2291b3b8cf573ae4e0a","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        discover.discover_scheduling_properties(self.data, self.failures)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.assertIn(\u0027failed to get RAM\u0027, self.failures.get_error())"},{"line_number":215,"context_line":"        self.assertEqual({\u0027cpus\u0027: 2, \u0027cpu_arch\u0027: \u0027x86_64\u0027, \u0027local_gb\u0027: 4,"},{"line_number":216,"context_line":"                          \u0027memory_mb\u0027: None}, self.data)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_af168b46","line":214,"in_reply_to":"7a016987_e031625a","updated":"2015-06-01 07:52:10.000000000","message":"Why? Because to be exact \"failed to get RAM information\" ?","commit_id":"421707fc4785a12279cea2df40d3d87b4a274177"}]}
