)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18784,"name":"Michael Carden","email":"mike.carden@gmail.com","username":"mcarden"},"change_message_id":"31d0ff082741dd0412a71c791e00b730e8ffd478","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the openstack_user_config.yml file might not match those defined by the"},{"line_number":11,"context_line":"env.d contents. This isn\u0027t strictly a problem - in most cases it\u0027s"},{"line_number":12,"context_line":"ignored and will simply result in extra data. However, if keys in the"},{"line_number":13,"context_line":"configuration and the environment are mismatched, it could result in variable"},{"line_number":14,"context_line":"data not being mapped correctly in the resultant inventory."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patchset extends the -c/--check parameter to compare the configured"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa6399be_5f7fdc65","line":13,"updated":"2016-10-19 03:05:33.000000000","message":"78 characters, a little more than the 72 from the guidelines: https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure   :)","commit_id":"6f657fb049b56b2292b98172998c03522df49d0a"}],"lib/generate.py":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"c3df6776af188310a3c0ff7b1649f3ab93cff450","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        sort_keys\u003dTrue"},{"line_number":1257,"context_line":"    )"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"    if check:"},{"line_number":1260,"context_line":"        if _check_all_conf_groups_present(user_defined_config, environment):"},{"line_number":1261,"context_line":"            return \u0027Configuration ok!\u0027"},{"line_number":1262,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_ecbbc570","line":1259,"updated":"2016-10-27 23:19:27.000000000","message":"I would prefer if this was check_mode or something because the intent isn\u0027t completely obvious here. \n\nPart of the reason for that is the main function being *120* lines long. The refactor can wait for another patch set, however.","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"}],"tests/test_inventory.py":[{"author":{"_account_id":12892,"name":"Nolan Brubaker","email":"nolan.brubaker@rackspace.com","username":"nrb"},"change_message_id":"61f638c202a33647b32074412a1a1cc4d6784134","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"        bad_config[\u0027bogus_key\u0027] \u003d []"},{"line_number":1220,"context_line":"        with self.assertRaises(di.EnvMissingGroup):"},{"line_number":1221,"context_line":"            di._check_all_conf_groups_present(bad_config, self.env)"},{"line_number":1222,"context_line":""},{"line_number":1223,"context_line":""},{"line_number":1224,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":1225,"context_line":"    unittest.main()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_3bae4181","line":1222,"updated":"2016-10-07 20:07:54.000000000","message":"To be more thorough, this should probably also check against an extended/overriden environment","commit_id":"9949b16d2fdc67fd48f46c2058fafe24671dd42b"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"c3df6776af188310a3c0ff7b1649f3ab93cff450","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"            get_inventory()"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"class TestConfigMatchesEnvironment(unittest.TestCase):"},{"line_number":1207,"context_line":"    def setUp(self):"},{"line_number":1208,"context_line":"        self.env \u003d di.load_environment(BASE_ENV_DIR, {})"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_4c94b1e1","line":1206,"updated":"2016-10-27 23:19:27.000000000","message":"could use a test based on openstack_user_config.yml.aio to ensure the excludes do not raise errors, and that they are inclusive of all of the keys which should be excluded.","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"},{"author":{"_account_id":12892,"name":"Nolan Brubaker","email":"nolan.brubaker@rackspace.com","username":"nrb"},"change_message_id":"b990008063d201b2de010f527e25f9dc08a4473e","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"            get_inventory()"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"class TestConfigMatchesEnvironment(unittest.TestCase):"},{"line_number":1207,"context_line":"    def setUp(self):"},{"line_number":1208,"context_line":"        self.env \u003d di.load_environment(BASE_ENV_DIR, {})"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_ca35ecda","line":1206,"in_reply_to":"ba5da102_4c94b1e1","updated":"2016-10-28 17:26:07.000000000","message":"The `get_config` function returns a combined configuration, starting with openstack_user_config.yml.aio and extending with etc/openstack_deploy/conf.d/*.aio.\n\nIf I understand your request correctly, the test_matching_keys test should cover validating against the AIO sample files.","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"},{"author":{"_account_id":12892,"name":"Nolan Brubaker","email":"nolan.brubaker@rackspace.com","username":"nrb"},"change_message_id":"824bb08b02acf93dd1b8421813e1af826c33b170","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"            get_inventory()"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"class TestConfigMatchesEnvironment(unittest.TestCase):"},{"line_number":1207,"context_line":"    def setUp(self):"},{"line_number":1208,"context_line":"        self.env \u003d di.load_environment(BASE_ENV_DIR, {})"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_67397941","line":1206,"in_reply_to":"ba5da102_4c94b1e1","updated":"2016-10-28 17:19:37.000000000","message":"Which excludes are you thinking off?","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"},{"author":{"_account_id":12892,"name":"Nolan Brubaker","email":"nolan.brubaker@rackspace.com","username":"nrb"},"change_message_id":"2954496cdbece66351b48b43c1d878197099fbf8","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"            get_inventory()"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"class TestConfigMatchesEnvironment(unittest.TestCase):"},{"line_number":1207,"context_line":"    def setUp(self):"},{"line_number":1208,"context_line":"        self.env \u003d di.load_environment(BASE_ENV_DIR, {})"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_5627c163","line":1206,"in_reply_to":"ba5da102_8aa4d4a6","updated":"2016-10-28 19:59:05.000000000","message":"Ah, ok - my intention with writing the excludes was to make sure that only groups were tested, not metadata. I don\u0027t think it\u0027s unwarranted to add confirmation that they didn\u0027t trigger an error, though.","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"8ad02722f31feca7c6272befddcff80df493fdbc","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"            get_inventory()"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"class TestConfigMatchesEnvironment(unittest.TestCase):"},{"line_number":1207,"context_line":"    def setUp(self):"},{"line_number":1208,"context_line":"        self.env \u003d di.load_environment(BASE_ENV_DIR, {})"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_8aa4d4a6","line":1206,"in_reply_to":"ba5da102_ca35ecda","updated":"2016-10-28 17:39:52.000000000","message":"I was concerned about these:\n\n  excludes \u003d (\u0027global_overrides\u0027, \u0027cidr_networks\u0027, \u0027used_ips\u0027)\n\nand I\u0027ll trace through _check_all_conf_groups_present again to confirm it. I probably just missed that it is covered.","commit_id":"14b9ce08efea85289b184a444c700f180fa11920"}]}
