)]}'
{"lib/puppet/provider/keystone.rb":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"60d99150890b1a0f3d0b271a62dfe4dbfbd57bef","unresolved":false,"context_lines":[{"line_number":112,"context_line":"#      roles_id \u003c\u003c row[:role] if row[:user] \u003d\u003d user_id"},{"line_number":113,"context_line":"#    end"},{"line_number":114,"context_line":"#    roles_id"},{"line_number":115,"context_line":"#  end"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  def self.user_id_from_name_and_domain_name(name, domain_name)"},{"line_number":118,"context_line":"    @users_name ||\u003d {}"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"5a18252c_c8ead673","line":115,"updated":"2016-04-14 15:26:42.000000000","message":"do we need this block?","commit_id":"64100bb284dbfb72f4af14eae9665ca042f0239a"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"487ff9ee82b68070ba3f0555ebbbe0401d988fef","unresolved":false,"context_lines":[{"line_number":112,"context_line":"#      roles_id \u003c\u003c row[:role] if row[:user] \u003d\u003d user_id"},{"line_number":113,"context_line":"#    end"},{"line_number":114,"context_line":"#    roles_id"},{"line_number":115,"context_line":"#  end"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  def self.user_id_from_name_and_domain_name(name, domain_name)"},{"line_number":118,"context_line":"    @users_name ||\u003d {}"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"3a1531f4_d4b4dcd2","line":115,"in_reply_to":"5a18252c_c8ead673","updated":"2016-04-15 09:31:39.000000000","message":"Done in https://review.openstack.org/306313","commit_id":"64100bb284dbfb72f4af14eae9665ca042f0239a"}],"lib/puppet/provider/keystone_user/openstack.rb":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"b8dd4ca2007e17b9eaa0de44a4a283fd9e46a59f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  def exists?"},{"line_number":79,"context_line":"    return true if @property_hash[:ensure] \u003d\u003d :present"},{"line_number":80,"context_line":"    domain_name \u003d self.class.domain_id_from_name(resource[:domain])"},{"line_number":81,"context_line":"    self.class.request_without_retry do"},{"line_number":82,"context_line":"      @property_hash \u003d"},{"line_number":83,"context_line":"        self.class.fetch_user(resource[:name], domain_name)"},{"line_number":84,"context_line":"      @property_hash ||\u003d {}"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"5a18252c_a25bbb53","line":81,"updated":"2016-04-12 15:26:18.000000000","message":"Fuel fails here because request_without_retry is undefined.  2016-04-11 19:00:28 +0000 /Stage[main]/Keystone::Roles::Admin/Keystone_user[admin] (err): Could not evaluate: undefined method `request_without_retry\u0027 for Puppet::Type::Keystone_user::ProviderOpenstack:Cla\nss","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"269cf2109056374a7a9a71e7da109607c682a337","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  def exists?"},{"line_number":79,"context_line":"    return true if @property_hash[:ensure] \u003d\u003d :present"},{"line_number":80,"context_line":"    domain_name \u003d self.class.domain_id_from_name(resource[:domain])"},{"line_number":81,"context_line":"    self.class.request_without_retry do"},{"line_number":82,"context_line":"      @property_hash \u003d"},{"line_number":83,"context_line":"        self.class.fetch_user(resource[:name], domain_name)"},{"line_number":84,"context_line":"      @property_hash ||\u003d {}"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"5a18252c_c714b345","line":81,"in_reply_to":"5a18252c_a25bbb53","updated":"2016-04-13 22:30:25.000000000","message":"yup all fixed with the upstream patch","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"60d99150890b1a0f3d0b271a62dfe4dbfbd57bef","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    if default_domain_changed"},{"line_number":174,"context_line":"      warning(default_domain_deprecation_message)"},{"line_number":175,"context_line":"    end"},{"line_number":176,"context_line":"    self.do_not_manage \u003d true"},{"line_number":177,"context_line":"    users \u003d request(\u0027user\u0027, \u0027list\u0027, [\u0027--long\u0027])"},{"line_number":178,"context_line":"    list \u003d users.collect do |user|"},{"line_number":179,"context_line":"      domain_name \u003d domain_name_from_id(user[:domain])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"5a18252c_e8b35298","side":"PARENT","line":176,"updated":"2016-04-14 15:26:42.000000000","message":"why we can\u0027t use this stuff in exists? method?","commit_id":"96ba3fa800a14a7bdfd9b86c77dd69c28b16c67a"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9c3d5715499b3005eb763eb470ba3e03ccc05ea6","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    if default_domain_changed"},{"line_number":174,"context_line":"      warning(default_domain_deprecation_message)"},{"line_number":175,"context_line":"    end"},{"line_number":176,"context_line":"    self.do_not_manage \u003d true"},{"line_number":177,"context_line":"    users \u003d request(\u0027user\u0027, \u0027list\u0027, [\u0027--long\u0027])"},{"line_number":178,"context_line":"    list \u003d users.collect do |user|"},{"line_number":179,"context_line":"      domain_name \u003d domain_name_from_id(user[:domain])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"1a122d0e_f048f98c","side":"PARENT","line":176,"in_reply_to":"3a1531f4_74fce83e","updated":"2016-04-21 15:16:51.000000000","message":"ok, thanks.","commit_id":"96ba3fa800a14a7bdfd9b86c77dd69c28b16c67a"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"487ff9ee82b68070ba3f0555ebbbe0401d988fef","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    if default_domain_changed"},{"line_number":174,"context_line":"      warning(default_domain_deprecation_message)"},{"line_number":175,"context_line":"    end"},{"line_number":176,"context_line":"    self.do_not_manage \u003d true"},{"line_number":177,"context_line":"    users \u003d request(\u0027user\u0027, \u0027list\u0027, [\u0027--long\u0027])"},{"line_number":178,"context_line":"    list \u003d users.collect do |user|"},{"line_number":179,"context_line":"      domain_name \u003d domain_name_from_id(user[:domain])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"3a1531f4_74fce83e","side":"PARENT","line":176,"in_reply_to":"5a18252c_e8b35298","updated":"2016-04-15 09:31:39.000000000","message":"It looks to me that self.do_no_manage was handling errors like connection problem to the keystone API.  In exists, such a problem would be interpreted as a non-existing user.\n \nNote, that it was more likely to happen before because it was done at the prefetch stage which happen earlier.  So I think that do_not_manage, is not required here.  \n\nIf it is, we would have to change the way openstack catch errors to be able to filter between \"connection problem\" and \"user is missing\" from the API consumer (ie, in provider).","commit_id":"96ba3fa800a14a7bdfd9b86c77dd69c28b16c67a"}],"releasenotes/notes/support_multi_domain-bd04f18aa7913eaa.yaml":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"269cf2109056374a7a9a71e7da109607c682a337","unresolved":false,"context_lines":[{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - The prefetch and associated instances class function removal"},{"line_number":11,"context_line":"    could impact users that somehow use the command `puppet resource"},{"line_number":12,"context_line":"    keystone_user` or `puppet resource keystone_user_role` in "},{"line_number":13,"context_line":"    production.  Those commands won\u0027t work anymore.  Directly use"},{"line_number":14,"context_line":"    the associated `openstack` commands to get the same effect."},{"line_number":15,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a18252c_4700a301","line":12,"range":{"start_line":12,"start_character":61,"end_line":12,"end_character":62},"updated":"2016-04-13 22:30:25.000000000","message":"pesky trailing space","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"b666e3c8c0fc9b81ffb33473e3adeed57dc0f6e7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - The prefetch and associated instances class function removal"},{"line_number":11,"context_line":"    could impact users that somehow use the command `puppet resource"},{"line_number":12,"context_line":"    keystone_user` or `puppet resource keystone_user_role` in "},{"line_number":13,"context_line":"    production.  Those commands won\u0027t work anymore.  Directly use"},{"line_number":14,"context_line":"    the associated `openstack` commands to get the same effect."},{"line_number":15,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a18252c_733912a4","line":12,"range":{"start_line":12,"start_character":61,"end_line":12,"end_character":62},"in_reply_to":"5a18252c_4700a301","updated":"2016-04-14 09:38:42.000000000","message":"Done","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"269cf2109056374a7a9a71e7da109607c682a337","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    the associated `openstack` commands to get the same effect."},{"line_number":15,"context_line":"fixes:"},{"line_number":16,"context_line":"  - Fixes `bug 1554555"},{"line_number":17,"context_line":"    \u003chttps://bugs.launchpad.net/puppet-keystone/+bug/1554555\u003e`__ so "},{"line_number":18,"context_line":"    openstack cli provider needs to pass domain in v3 calls"},{"line_number":19,"context_line":"  - Fixes `bug 1485508"},{"line_number":20,"context_line":"    \u003chttps://bugs.launchpad.net/puppet-keystone/+bug/1485508\u003e`__ so"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a18252c_870abb1f","line":17,"range":{"start_line":17,"start_character":67,"end_line":17,"end_character":68},"updated":"2016-04-13 22:30:25.000000000","message":"ditto","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"b666e3c8c0fc9b81ffb33473e3adeed57dc0f6e7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    the associated `openstack` commands to get the same effect."},{"line_number":15,"context_line":"fixes:"},{"line_number":16,"context_line":"  - Fixes `bug 1554555"},{"line_number":17,"context_line":"    \u003chttps://bugs.launchpad.net/puppet-keystone/+bug/1554555\u003e`__ so "},{"line_number":18,"context_line":"    openstack cli provider needs to pass domain in v3 calls"},{"line_number":19,"context_line":"  - Fixes `bug 1485508"},{"line_number":20,"context_line":"    \u003chttps://bugs.launchpad.net/puppet-keystone/+bug/1485508\u003e`__ so"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a18252c_d34aa625","line":17,"range":{"start_line":17,"start_character":67,"end_line":17,"end_character":68},"in_reply_to":"5a18252c_870abb1f","updated":"2016-04-14 09:38:42.000000000","message":"Done","commit_id":"c4864901474525079e3550eb9e927bc5c59adc1f"}],"spec/unit/provider/keystone_user/openstack_spec.rb":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"60d99150890b1a0f3d0b271a62dfe4dbfbd57bef","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    end"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    describe \u0027#exists\u0027 do"},{"line_number":69,"context_line":"      context \u0027when user does not exist\u0027 do"},{"line_number":70,"context_line":"        it \u0027should detect it\u0027 do"},{"line_number":71,"context_line":"          described_class.expects(:openstack)"},{"line_number":72,"context_line":"            .with(\u0027domain\u0027, \u0027list\u0027, \u0027--quiet\u0027, \u0027--format\u0027, \u0027csv\u0027, [])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"5a18252c_28270acb","line":69,"updated":"2016-04-14 15:26:42.000000000","message":"what\u0027s about tests for non-default domain?","commit_id":"64100bb284dbfb72f4af14eae9665ca042f0239a"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9c3d5715499b3005eb763eb470ba3e03ccc05ea6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    end"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    describe \u0027#exists\u0027 do"},{"line_number":69,"context_line":"      context \u0027when user does not exist\u0027 do"},{"line_number":70,"context_line":"        it \u0027should detect it\u0027 do"},{"line_number":71,"context_line":"          described_class.expects(:openstack)"},{"line_number":72,"context_line":"            .with(\u0027domain\u0027, \u0027list\u0027, \u0027--quiet\u0027, \u0027--format\u0027, \u0027csv\u0027, [])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"1a122d0e_10165555","line":69,"in_reply_to":"3a1531f4_b74cc277","updated":"2016-04-21 15:16:51.000000000","message":"\u003e Hum, I\u0027m not sure I get this one, could you tell me more about what you have in mind ?\n\nNever mind, i misread this test :)","commit_id":"64100bb284dbfb72f4af14eae9665ca042f0239a"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"487ff9ee82b68070ba3f0555ebbbe0401d988fef","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    end"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    describe \u0027#exists\u0027 do"},{"line_number":69,"context_line":"      context \u0027when user does not exist\u0027 do"},{"line_number":70,"context_line":"        it \u0027should detect it\u0027 do"},{"line_number":71,"context_line":"          described_class.expects(:openstack)"},{"line_number":72,"context_line":"            .with(\u0027domain\u0027, \u0027list\u0027, \u0027--quiet\u0027, \u0027--format\u0027, \u0027csv\u0027, [])"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"3a1531f4_b74cc277","line":69,"in_reply_to":"5a18252c_28270acb","updated":"2016-04-15 09:31:39.000000000","message":"Hum, I\u0027m not sure I get this one, could you tell me more about what you have in mind ?\n\nBut, as I was giving another look at this code, the test is wrong I think.  The user show command should raise a exception, not returns \u0027\u0027.\n\nAddressed in https://review.openstack.org/306313","commit_id":"64100bb284dbfb72f4af14eae9665ca042f0239a"}]}
