)]}'
{"manifests/init.pp":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"667060521687be136a88e7ed537c9f8f64225218","unresolved":false,"context_lines":[{"line_number":947,"context_line":"    owner  \u003d\u003e \u0027keystone\u0027,"},{"line_number":948,"context_line":"    group  \u003d\u003e \u0027keystone\u0027,"},{"line_number":949,"context_line":"    mode   \u003d\u003e \u00270600\u0027,"},{"line_number":950,"context_line":"    source \u003d\u003e $::keystone::params::v3_policy_source,"},{"line_number":951,"context_line":"  } ~\u003e Service[$service_name]"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"  # this policy allows us to continue to use the admin_token for authentication"}],"source_content_type":"text/x-puppet","patch_set":23,"id":"1af86dd1_29a5a003","line":950,"updated":"2015-06-12 19:44:04.000000000","message":"You can\u0027t declare a file resource with a static source and then use keystone::policy to modify it. Puppet will revert it on every puppet run because it looks at the source, sees that it\u0027s been changed (it doesn\u0027t care that puppet itself made the change on the last run) and change it back to match the source.\n\nInstead, we can manage this the way we manage the other config files, where we ensure the file is there and has the right relationships with other resources, but do not manage the content at all. http://git.openstack.org/cgit/stackforge/puppet-keystone/tree/manifests/init.pp#n545","commit_id":"175dbc9b0ae124397a6af702f8bdbe4bab85ab6b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"691cad35f8c678ebff087496313b583a863b8230","unresolved":false,"context_lines":[{"line_number":947,"context_line":"    owner  \u003d\u003e \u0027keystone\u0027,"},{"line_number":948,"context_line":"    group  \u003d\u003e \u0027keystone\u0027,"},{"line_number":949,"context_line":"    mode   \u003d\u003e \u00270600\u0027,"},{"line_number":950,"context_line":"    source \u003d\u003e $::keystone::params::v3_policy_source,"},{"line_number":951,"context_line":"  } ~\u003e Service[$service_name]"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"  # this policy allows us to continue to use the admin_token for authentication"}],"source_content_type":"text/x-puppet","patch_set":23,"id":"fa32b979_a3554efa","line":950,"in_reply_to":"1af86dd1_29a5a003","updated":"2015-06-18 22:57:22.000000000","message":"Done","commit_id":"175dbc9b0ae124397a6af702f8bdbe4bab85ab6b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"667060521687be136a88e7ed537c9f8f64225218","unresolved":false,"context_lines":[{"line_number":952,"context_line":""},{"line_number":953,"context_line":"  # this policy allows us to continue to use the admin_token for authentication"},{"line_number":954,"context_line":"  # during the bootstrap phase"},{"line_number":955,"context_line":"  class { \u0027::keystone::policy\u0027:"},{"line_number":956,"context_line":"    policies \u003d\u003e {"},{"line_number":957,"context_line":"      \u0027allow-admin-token-1\u0027 \u003d\u003e {"},{"line_number":958,"context_line":"        \u0027key\u0027   \u003d\u003e \u0027admin_required\u0027,"}],"source_content_type":"text/x-puppet","patch_set":23,"id":"1af86dd1_095d44e9","line":955,"updated":"2015-06-12 19:44:04.000000000","message":"This class is meant to be a public class for users to set their own policies. If we declare it here, a user can\u0027t use it on their own because it will cause a duplicate dependency error. I would just use the openstacklib::policy::base resources on their own, or create a different private class to handle this.","commit_id":"175dbc9b0ae124397a6af702f8bdbe4bab85ab6b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"691cad35f8c678ebff087496313b583a863b8230","unresolved":false,"context_lines":[{"line_number":952,"context_line":""},{"line_number":953,"context_line":"  # this policy allows us to continue to use the admin_token for authentication"},{"line_number":954,"context_line":"  # during the bootstrap phase"},{"line_number":955,"context_line":"  class { \u0027::keystone::policy\u0027:"},{"line_number":956,"context_line":"    policies \u003d\u003e {"},{"line_number":957,"context_line":"      \u0027allow-admin-token-1\u0027 \u003d\u003e {"},{"line_number":958,"context_line":"        \u0027key\u0027   \u003d\u003e \u0027admin_required\u0027,"}],"source_content_type":"text/x-puppet","patch_set":23,"id":"fa32b979_63442649","line":955,"in_reply_to":"1af86dd1_095d44e9","updated":"2015-06-18 22:57:22.000000000","message":"Done","commit_id":"175dbc9b0ae124397a6af702f8bdbe4bab85ab6b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f3bb6b3ec958c8b5341ad4297769e704865a7319","unresolved":false,"context_lines":[{"line_number":946,"context_line":""},{"line_number":947,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user\u003c||\u003e"},{"line_number":948,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_tenant\u003c||\u003e"},{"line_number":949,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user_role\u003c||\u003e"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"    # make sure all keystone_domain resources wait for the service to be up"},{"line_number":952,"context_line":"    Service[$service_name] -\u003e Keystone_domain\u003c||\u003e"}],"source_content_type":"text/x-puppet","patch_set":29,"id":"fa32b979_2d5de146","line":949,"updated":"2015-06-18 01:49:18.000000000","message":"I don\u0027t think this is necessary since these resources autorequire keystone_domain","commit_id":"41a8b1407567c2d2ea6e229455bf3fb04a2535c4"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"9eeee9aff42e1624ec2dff028b6f65b86de4ba22","unresolved":false,"context_lines":[{"line_number":946,"context_line":""},{"line_number":947,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user\u003c||\u003e"},{"line_number":948,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_tenant\u003c||\u003e"},{"line_number":949,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user_role\u003c||\u003e"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"    # make sure all keystone_domain resources wait for the service to be up"},{"line_number":952,"context_line":"    Service[$service_name] -\u003e Keystone_domain\u003c||\u003e"}],"source_content_type":"text/x-puppet","patch_set":29,"id":"fa32b979_43456240","line":949,"in_reply_to":"fa32b979_2d5de146","updated":"2015-06-18 22:58:13.000000000","message":"Done","commit_id":"41a8b1407567c2d2ea6e229455bf3fb04a2535c4"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f3bb6b3ec958c8b5341ad4297769e704865a7319","unresolved":false,"context_lines":[{"line_number":949,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user_role\u003c||\u003e"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"    # make sure all keystone_domain resources wait for the service to be up"},{"line_number":952,"context_line":"    Service[$service_name] -\u003e Keystone_domain\u003c||\u003e"},{"line_number":953,"context_line":"  }"},{"line_number":954,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":29,"id":"fa32b979_90020409","line":952,"updated":"2015-06-18 01:49:18.000000000","message":"This should just be an autorequire in the keystone_domain type, like http://git.openstack.org/cgit/openstack/puppet-keystone/tree/lib/puppet/type/keystone_user.rb#n77\n\nThis is safe because the service resource is titled \u0027keystone\u0027, no matter what $service_name is http://git.openstack.org/cgit/openstack/puppet-keystone/tree/manifests/service.pp#n83","commit_id":"41a8b1407567c2d2ea6e229455bf3fb04a2535c4"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"9eeee9aff42e1624ec2dff028b6f65b86de4ba22","unresolved":false,"context_lines":[{"line_number":949,"context_line":"    Keystone_domain[$default_domain] -\u003e Keystone_user_role\u003c||\u003e"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"    # make sure all keystone_domain resources wait for the service to be up"},{"line_number":952,"context_line":"    Service[$service_name] -\u003e Keystone_domain\u003c||\u003e"},{"line_number":953,"context_line":"  }"},{"line_number":954,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":29,"id":"fa32b979_037afa87","line":952,"in_reply_to":"fa32b979_90020409","updated":"2015-06-18 22:58:13.000000000","message":"Done","commit_id":"41a8b1407567c2d2ea6e229455bf3fb04a2535c4"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"0ee1e2ace03b6e8e0cf5a48af2afade7051b35ad","unresolved":false,"context_lines":[{"line_number":941,"context_line":"      ensure     \u003d\u003e present,"},{"line_number":942,"context_line":"      enabled    \u003d\u003e true,"},{"line_number":943,"context_line":"      is_default \u003d\u003e true,"},{"line_number":944,"context_line":"      require    \u003d\u003e File[\u0027/etc/keystone/keystone.conf\u0027],"},{"line_number":945,"context_line":"    }"},{"line_number":946,"context_line":"  }"},{"line_number":947,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":36,"id":"ba3cc151_eed8c881","line":944,"updated":"2015-07-07 05:23:34.000000000","message":"it miss a notify here to make sure keystone restart *after* creating the default domain.","commit_id":"dd875e5dcf36c084a0f409f6562f5a786d039588"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"16fc2d593327db6130abd46ff5394bb5fef09135","unresolved":false,"context_lines":[{"line_number":942,"context_line":"      enabled    \u003d\u003e true,"},{"line_number":943,"context_line":"      is_default \u003d\u003e true,"},{"line_number":944,"context_line":"      require    \u003d\u003e File[\u0027/etc/keystone/keystone.conf\u0027],"},{"line_number":945,"context_line":"      notify     \u003d\u003e Service[$service_name],"},{"line_number":946,"context_line":"    }"},{"line_number":947,"context_line":"  }"},{"line_number":948,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":37,"id":"ba3cc151_09572603","line":945,"updated":"2015-07-07 05:34:17.000000000","message":"this is actually useless what I just did (the notify thing), because the service start before the keystone_domain resource anyway.\nWe need to find something else.","commit_id":"c17fbe1c5680989df43d95fb1afa05fc91c4ed42"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8268210c32d230e0a60e43ea43ceaee338785f7f","unresolved":false,"context_lines":[{"line_number":369,"context_line":"#   doing a user create operation must have a domain associated with it."},{"line_number":370,"context_line":"#   This is the domain which will be used if a domain is needed and not"},{"line_number":371,"context_line":"#   explicitly set in the request."},{"line_number":372,"context_line":"#   Defaults to undef (will use built-in Keystone default)"},{"line_number":373,"context_line":"#"},{"line_number":374,"context_line":"# \u003d\u003d Dependencies"},{"line_number":375,"context_line":"#  None"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_d073ec7e","line":372,"updated":"2015-07-08 00:13:22.000000000","message":"If I set this to anything, whether on a fresh run or if I\u0027m changing the value after an initial run, puppet is not happy. If changing the value, it reports that the passwords for all the users changed. In either case, the nova_admin_tenant_id_setter and all the neutron resources fail.","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":369,"context_line":"#   doing a user create operation must have a domain associated with it."},{"line_number":370,"context_line":"#   This is the domain which will be used if a domain is needed and not"},{"line_number":371,"context_line":"#   explicitly set in the request."},{"line_number":372,"context_line":"#   Defaults to undef (will use built-in Keystone default)"},{"line_number":373,"context_line":"#"},{"line_number":374,"context_line":"# \u003d\u003d Dependencies"},{"line_number":375,"context_line":"#  None"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_65057c78","line":372,"in_reply_to":"ba3cc151_d073ec7e","updated":"2015-07-08 04:57:36.000000000","message":"I believe this was due to a bug in keystone_user.password which will be fixed in the next commit of that provider","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"}],"manifests/roles/admin.pp":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8268210c32d230e0a60e43ea43ceaee338785f7f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"#"},{"line_number":56,"context_line":"# [*admin_user_domain*]"},{"line_number":57,"context_line":"#   Optional.  Domain of the admin user"},{"line_number":58,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":59,"context_line":"#"},{"line_number":60,"context_line":"# [*admin_tenant_domain*]"},{"line_number":61,"context_line":"#   Optional.  Domain of the admin tenant"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_70a1c0f7","line":58,"updated":"2015-07-08 00:13:22.000000000","message":"Technically the default is undef. I would prefer this say \u0027Defaults to undef\u0027 but note that undef will resolve to the default domain.","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":55,"context_line":"#"},{"line_number":56,"context_line":"# [*admin_user_domain*]"},{"line_number":57,"context_line":"#   Optional.  Domain of the admin user"},{"line_number":58,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":59,"context_line":"#"},{"line_number":60,"context_line":"# [*admin_tenant_domain*]"},{"line_number":61,"context_line":"#   Optional.  Domain of the admin tenant"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_b74657be","line":58,"in_reply_to":"ba3cc151_70a1c0f7","updated":"2015-07-08 04:57:36.000000000","message":"Done","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":57,"context_line":"#   Optional.  Domain of the admin user"},{"line_number":58,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":59,"context_line":"#"},{"line_number":60,"context_line":"# [*admin_tenant_domain*]"},{"line_number":61,"context_line":"#   Optional.  Domain of the admin tenant"},{"line_number":62,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":63,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_7713efb8","line":60,"updated":"2015-07-08 04:57:36.000000000","message":"here too","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#   Optional.  Domain of the admin tenant"},{"line_number":62,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":63,"context_line":"#"},{"line_number":64,"context_line":"# [*service_tenant_domain*]"},{"line_number":65,"context_line":"#   Optional.  Domain for $service_tenant"},{"line_number":66,"context_line":"#   Defaults to the default domain (class keystone $default_domain)"},{"line_number":67,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_9718f3d4","line":64,"updated":"2015-07-08 04:57:36.000000000","message":"here too","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8268210c32d230e0a60e43ea43ceaee338785f7f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  $configure_user         \u003d true,"},{"line_number":89,"context_line":"  $configure_user_role    \u003d true,"},{"line_number":90,"context_line":"  $admin_user_domain      \u003d undef,"},{"line_number":91,"context_line":"  $admin_tenant_domain    \u003d undef,"},{"line_number":92,"context_line":"  $service_tenant_domain  \u003d undef,"},{"line_number":93,"context_line":") {"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_f06630ec","line":91,"updated":"2015-07-08 00:13:22.000000000","message":"Should this be $admin_project_domain?","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  $configure_user         \u003d true,"},{"line_number":89,"context_line":"  $configure_user_role    \u003d true,"},{"line_number":90,"context_line":"  $admin_user_domain      \u003d undef,"},{"line_number":91,"context_line":"  $admin_tenant_domain    \u003d undef,"},{"line_number":92,"context_line":"  $service_tenant_domain  \u003d undef,"},{"line_number":93,"context_line":") {"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_3709e784","line":91,"in_reply_to":"ba3cc151_f06630ec","updated":"2015-07-08 04:57:36.000000000","message":"Done","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  $configure_user_role    \u003d true,"},{"line_number":90,"context_line":"  $admin_user_domain      \u003d undef,"},{"line_number":91,"context_line":"  $admin_tenant_domain    \u003d undef,"},{"line_number":92,"context_line":"  $service_tenant_domain  \u003d undef,"},{"line_number":93,"context_line":") {"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  if $service_tenant_domain {"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_570eeb8c","line":92,"updated":"2015-07-08 04:57:36.000000000","message":"here too","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8268210c32d230e0a60e43ea43ceaee338785f7f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      ensure  \u003d\u003e present,"},{"line_number":98,"context_line":"      enabled \u003d\u003e true,"},{"line_number":99,"context_line":"    }"},{"line_number":100,"context_line":"  }"},{"line_number":101,"context_line":"  keystone_tenant { $service_tenant:"},{"line_number":102,"context_line":"    ensure      \u003d\u003e present,"},{"line_number":103,"context_line":"    enabled     \u003d\u003e true,"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_106b94ba","line":100,"updated":"2015-07-08 00:13:22.000000000","message":"This creates the $service_tenant_domain but not the $admin_user_domain or $admin_tenant_domain?","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7327d4f58da9091c0009acda749bcbc66d0137ef","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      ensure  \u003d\u003e present,"},{"line_number":98,"context_line":"      enabled \u003d\u003e true,"},{"line_number":99,"context_line":"    }"},{"line_number":100,"context_line":"  }"},{"line_number":101,"context_line":"  keystone_tenant { $service_tenant:"},{"line_number":102,"context_line":"    ensure      \u003d\u003e present,"},{"line_number":103,"context_line":"    enabled     \u003d\u003e true,"}],"source_content_type":"text/x-puppet","patch_set":45,"id":"ba3cc151_b71df7bf","line":100,"in_reply_to":"ba3cc151_106b94ba","updated":"2015-07-08 04:57:36.000000000","message":"Done","commit_id":"d84806a3aec47e37dba1c24b46c62e87511b887a"}]}
