)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"547d863907a1fe5cf58a91aa6a96af188fa16f20","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* perform all keystone-manage commands only as keystone user"},{"line_number":10,"context_line":"* remove an ability to override keystone user and group because"},{"line_number":11,"context_line":"  all packages (deb or rpm) are providing them as \u0027keystone\u0027"},{"line_number":12,"context_line":"* ensure that fernet key directory is created before fernet"},{"line_number":13,"context_line":"  setup command and it\u0027s owned by \u0027keystone\u0027"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1aa78d24_7ed30239","line":11,"updated":"2016-07-04 16:16:11.000000000","message":"that\u0027s opinionated because we use upstream packaging. What about those who build themselves?","commit_id":"a2efa3d6cf22a3c96e3b9349197ee96f90b08a8f"}],"manifests/db/sync.pp":[{"author":{"_account_id":7604,"name":"Sergey Kolekonov","email":"skolekonov@mirantis.com","username":"skolekonov"},"change_message_id":"1c66e5be5de768e29841d4432d38d80a81b26efa","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  exec { \u0027keystone-manage db_sync\u0027:"},{"line_number":20,"context_line":"    command     \u003d\u003e \"keystone-manage ${extra_params} db_sync\","},{"line_number":21,"context_line":"    path        \u003d\u003e \u0027/usr/bin\u0027,"},{"line_number":22,"context_line":"    user        \u003d\u003e $::keystone::keystone_user,"},{"line_number":23,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":24,"context_line":"    subscribe   \u003d\u003e ["},{"line_number":25,"context_line":"      Anchor[\u0027keystone::install::end\u0027],"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"3aaa91ec_b411b606","line":22,"range":{"start_line":22,"start_character":19,"end_line":22,"end_character":45},"updated":"2016-06-29 16:37:51.000000000","message":"This won\u0027t work I guess if init class wan\u0027t called in the same catalog","commit_id":"6bcbea10284c5e95aec29abe3a762f3d82dad30a"},{"author":{"_account_id":7604,"name":"Sergey Kolekonov","email":"skolekonov@mirantis.com","username":"skolekonov"},"change_message_id":"3d65701141e4464839e65aba082d057a0748121d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  exec { \u0027keystone-manage db_sync\u0027:"},{"line_number":20,"context_line":"    command     \u003d\u003e \"keystone-manage ${extra_params} db_sync\","},{"line_number":21,"context_line":"    path        \u003d\u003e \u0027/usr/bin\u0027,"},{"line_number":22,"context_line":"    user        \u003d\u003e $::keystone::keystone_user,"},{"line_number":23,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":24,"context_line":"    subscribe   \u003d\u003e ["},{"line_number":25,"context_line":"      Anchor[\u0027keystone::install::end\u0027],"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"3aaa91ec_17436c43","line":22,"range":{"start_line":22,"start_character":19,"end_line":22,"end_character":45},"in_reply_to":"3aaa91ec_1427eaca","updated":"2016-06-29 16:54:29.000000000","message":"I propose to take it from params.pp and use inherit","commit_id":"6bcbea10284c5e95aec29abe3a762f3d82dad30a"},{"author":{"_account_id":7732,"name":"IvanBerezovskiy","email":"ivan.berezovskii@gmail.com","username":"iberezovskiy"},"change_message_id":"ad1297cc46662459239c5bcef30d80de3eaea7bc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  exec { \u0027keystone-manage db_sync\u0027:"},{"line_number":20,"context_line":"    command     \u003d\u003e \"keystone-manage ${extra_params} db_sync\","},{"line_number":21,"context_line":"    path        \u003d\u003e \u0027/usr/bin\u0027,"},{"line_number":22,"context_line":"    user        \u003d\u003e $::keystone::keystone_user,"},{"line_number":23,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":24,"context_line":"    subscribe   \u003d\u003e ["},{"line_number":25,"context_line":"      Anchor[\u0027keystone::install::end\u0027],"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"3aaa91ec_9738fca1","line":22,"range":{"start_line":22,"start_character":19,"end_line":22,"end_character":45},"in_reply_to":"3aaa91ec_17436c43","updated":"2016-06-29 16:56:58.000000000","message":"As I remember we were trying to get rid of management users/groups in puppet. So, I am bit confused why we still have keystone::user configurable. Probably we should hard-code \u0027keystone\u0027 everywhere. Thoughts?","commit_id":"6bcbea10284c5e95aec29abe3a762f3d82dad30a"},{"author":{"_account_id":7732,"name":"IvanBerezovskiy","email":"ivan.berezovskii@gmail.com","username":"iberezovskiy"},"change_message_id":"393001b1ce1ebcef76631e5c73b3cdcee2595b05","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  exec { \u0027keystone-manage db_sync\u0027:"},{"line_number":20,"context_line":"    command     \u003d\u003e \"keystone-manage ${extra_params} db_sync\","},{"line_number":21,"context_line":"    path        \u003d\u003e \u0027/usr/bin\u0027,"},{"line_number":22,"context_line":"    user        \u003d\u003e $::keystone::keystone_user,"},{"line_number":23,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":24,"context_line":"    subscribe   \u003d\u003e ["},{"line_number":25,"context_line":"      Anchor[\u0027keystone::install::end\u0027],"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"3aaa91ec_f46b3e1c","line":22,"range":{"start_line":22,"start_character":19,"end_line":22,"end_character":45},"in_reply_to":"3aaa91ec_b411b606","updated":"2016-06-29 16:46:44.000000000","message":"We call it directly from init class - https://github.com/openstack/puppet-keystone/blob/master/manifests/init.pp#L1023. Probably we need to make user configurable here","commit_id":"6bcbea10284c5e95aec29abe3a762f3d82dad30a"},{"author":{"_account_id":7604,"name":"Sergey Kolekonov","email":"skolekonov@mirantis.com","username":"skolekonov"},"change_message_id":"1dc2e77316f6427c0cf9313c6a214a763673a056","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  exec { \u0027keystone-manage db_sync\u0027:"},{"line_number":20,"context_line":"    command     \u003d\u003e \"keystone-manage ${extra_params} db_sync\","},{"line_number":21,"context_line":"    path        \u003d\u003e \u0027/usr/bin\u0027,"},{"line_number":22,"context_line":"    user        \u003d\u003e $::keystone::keystone_user,"},{"line_number":23,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":24,"context_line":"    subscribe   \u003d\u003e ["},{"line_number":25,"context_line":"      Anchor[\u0027keystone::install::end\u0027],"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"3aaa91ec_1427eaca","line":22,"range":{"start_line":22,"start_character":19,"end_line":22,"end_character":45},"in_reply_to":"3aaa91ec_f46b3e1c","updated":"2016-06-29 16:52:22.000000000","message":"It\u0027s still possible to call it manually in some cases (we have $sync_db variable)","commit_id":"6bcbea10284c5e95aec29abe3a762f3d82dad30a"}],"manifests/init.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"10eaa1aeef6cd3874b90b27c9d84a7c4e9679395","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"      owner     \u003d\u003e $keystone_user,"},{"line_number":1033,"context_line":"      group     \u003d\u003e $keystone_group,"},{"line_number":1034,"context_line":"      subscribe \u003d\u003e Anchor[\u0027keystone::install::end\u0027],"},{"line_number":1035,"context_line":"    })"},{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"    exec { \u0027keystone-manage fernet_setup\u0027:"},{"line_number":1038,"context_line":"      command     \u003d\u003e \"keystone-manage fernet_setup --keystone-user ${keystone_user} --keystone-group ${keystone_group}\","}],"source_content_type":"text/x-puppet","patch_set":5,"id":"3aaa91ec_2498111b","line":1035,"updated":"2016-06-29 10:15:15.000000000","message":"that change is not reflected in commit message. Also i guess it can be moved in separate commit.","commit_id":"5f4690a87710f828750ce37e1315727c146747ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"27b93a8c04005758c565b1bc402d5da97ccf3eb6","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"  # Fernet tokens support"},{"line_number":1028,"context_line":"  if $enable_fernet_setup {"},{"line_number":1029,"context_line":"    validate_string($fernet_key_repository)"},{"line_number":1030,"context_line":"    ensure_resource(\u0027file\u0027, $fernet_key_repository, {"},{"line_number":1031,"context_line":"      ensure    \u003d\u003e \u0027directory\u0027,"},{"line_number":1032,"context_line":"      owner     \u003d\u003e $keystone_user,"},{"line_number":1033,"context_line":"      group     \u003d\u003e $keystone_group,"},{"line_number":1034,"context_line":"      subscribe \u003d\u003e Anchor[\u0027keystone::install::end\u0027],"},{"line_number":1035,"context_line":"    })"},{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"    exec { \u0027keystone-manage fernet_setup\u0027:"},{"line_number":1038,"context_line":"      command     \u003d\u003e \"keystone-manage fernet_setup --keystone-user ${keystone_user} --keystone-group ${keystone_group}\","}],"source_content_type":"text/x-puppet","patch_set":6,"id":"3aaa91ec_4369c5f8","line":1035,"range":{"start_line":1030,"start_character":0,"end_line":1035,"end_character":6},"updated":"2016-06-29 14:22:55.000000000","message":"I see nothing in the commit message explaining the motivation of such a patch in this block.","commit_id":"b485c0c8f2e69d2006ea9937d07a174da4667ae0"},{"author":{"_account_id":7732,"name":"IvanBerezovskiy","email":"ivan.berezovskii@gmail.com","username":"iberezovskiy"},"change_message_id":"2977619c8e82fb2e73e2541029a7c56ec12e8354","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"  # Fernet tokens support"},{"line_number":1028,"context_line":"  if $enable_fernet_setup {"},{"line_number":1029,"context_line":"    validate_string($fernet_key_repository)"},{"line_number":1030,"context_line":"    ensure_resource(\u0027file\u0027, $fernet_key_repository, {"},{"line_number":1031,"context_line":"      ensure    \u003d\u003e \u0027directory\u0027,"},{"line_number":1032,"context_line":"      owner     \u003d\u003e $keystone_user,"},{"line_number":1033,"context_line":"      group     \u003d\u003e $keystone_group,"},{"line_number":1034,"context_line":"      subscribe \u003d\u003e Anchor[\u0027keystone::install::end\u0027],"},{"line_number":1035,"context_line":"    })"},{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"    exec { \u0027keystone-manage fernet_setup\u0027:"},{"line_number":1038,"context_line":"      command     \u003d\u003e \"keystone-manage fernet_setup --keystone-user ${keystone_user} --keystone-group ${keystone_group}\","}],"source_content_type":"text/x-puppet","patch_set":6,"id":"3aaa91ec_a63877ef","line":1035,"range":{"start_line":1030,"start_character":0,"end_line":1035,"end_character":6},"in_reply_to":"3aaa91ec_4369c5f8","updated":"2016-06-29 14:36:17.000000000","message":"Done","commit_id":"b485c0c8f2e69d2006ea9937d07a174da4667ae0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"31407ee5a726504145af1b0a6472c21117720759","unresolved":false,"context_lines":[{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"  if $sync_db {"},{"line_number":1038,"context_line":"    class { \u0027::keystone::db::sync\u0027:"},{"line_number":1039,"context_line":"      keystone_user \u003d\u003e $keystone_user,"},{"line_number":1040,"context_line":"    }"},{"line_number":1041,"context_line":"  }"},{"line_number":1042,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":13,"id":"dada55a8_8cad4c9d","line":1039,"updated":"2016-07-21 14:33:28.000000000","message":"I don\u0027t think it\u0027s needed, just keep include the class like before. If people want to configure it, they can use Hiera or declare the class themselves.","commit_id":"42916bf81a9dd863c964bf4df241b52a9bbb5a26"},{"author":{"_account_id":7732,"name":"IvanBerezovskiy","email":"ivan.berezovskii@gmail.com","username":"iberezovskiy"},"change_message_id":"7b8e5030d34146bfc8180fadf8e010440a56ae3f","unresolved":false,"context_lines":[{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"  if $sync_db {"},{"line_number":1038,"context_line":"    class { \u0027::keystone::db::sync\u0027:"},{"line_number":1039,"context_line":"      keystone_user \u003d\u003e $keystone_user,"},{"line_number":1040,"context_line":"    }"},{"line_number":1041,"context_line":"  }"},{"line_number":1042,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":13,"id":"dada55a8_1d906894","line":1039,"in_reply_to":"dada55a8_021be5ca","updated":"2016-07-21 15:18:55.000000000","message":"ok, let\u0027s use this approach here also","commit_id":"42916bf81a9dd863c964bf4df241b52a9bbb5a26"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"b3be1393c1dd7bd6126ba042f05f20ee1382b664","unresolved":false,"context_lines":[{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"  if $sync_db {"},{"line_number":1038,"context_line":"    class { \u0027::keystone::db::sync\u0027:"},{"line_number":1039,"context_line":"      keystone_user \u003d\u003e $keystone_user,"},{"line_number":1040,"context_line":"    }"},{"line_number":1041,"context_line":"  }"},{"line_number":1042,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":13,"id":"dada55a8_021be5ca","line":1039,"in_reply_to":"dada55a8_22b9c92e","updated":"2016-07-21 15:09:16.000000000","message":"Well, i would agree with Emilien in this situation actually.\n\nThis approach looks similar to including db and logging classes. So, i don\u0027t think, that we need it here.","commit_id":"42916bf81a9dd863c964bf4df241b52a9bbb5a26"},{"author":{"_account_id":7732,"name":"IvanBerezovskiy","email":"ivan.berezovskii@gmail.com","username":"iberezovskiy"},"change_message_id":"48c964895602cba4a6ac02e1c5d90f77cd0e1dcf","unresolved":false,"context_lines":[{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"  if $sync_db {"},{"line_number":1038,"context_line":"    class { \u0027::keystone::db::sync\u0027:"},{"line_number":1039,"context_line":"      keystone_user \u003d\u003e $keystone_user,"},{"line_number":1040,"context_line":"    }"},{"line_number":1041,"context_line":"  }"},{"line_number":1042,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":13,"id":"dada55a8_22b9c92e","line":1039,"in_reply_to":"dada55a8_8cad4c9d","updated":"2016-07-21 15:00:27.000000000","message":"If operators override keystone_user and sync_db is true, db_sync command could fail, because it will try to run under \u0027keystone\u0027 user. And it will be unexpected failure from operators point of view.","commit_id":"42916bf81a9dd863c964bf4df241b52a9bbb5a26"}],"releasenotes/notes/changes_around_keystone_manage_commands-5bbf256bb24c0a81.yaml":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"da5431c44ce6e2c4c80d76f60f0fa6ceb3c5e68e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    remove ability to override keystone user and group because"},{"line_number":6,"context_line":"    all packages (deb or rpm) are providing them as \u0027keystone\u0027;"},{"line_number":7,"context_line":"    ensure that fernet key directory is created before fernet"},{"line_number":8,"context_line":"    setup command and it\u0027s owned by \u0027keystone\u0027."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3aaa91ec_1bccc760","line":8,"updated":"2016-07-01 14:45:45.000000000","message":"parity for quote","commit_id":"05a963fda26587ae73301bc575f477d60e1fccf8"}]}
