)]}'
{"lib/puppet/provider/keystone_user/openstack.rb":[{"author":{"_account_id":7462,"name":"Ivan Chavero","email":"ichavero@redhat.com","username":"ichavero"},"change_message_id":"becfdd99249cd1b4a17c1ce0bc7fcdfbb0ab30b5","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  def self.get_api_version_for_cmd"},{"line_number":16,"context_line":"    [\"--os-identity-api-version\", \"3\"]"},{"line_number":17,"context_line":"  end"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  def initialize(value\u003d{})"},{"line_number":20,"context_line":"    super(value)"},{"line_number":21,"context_line":"    @property_flush \u003d {}"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"3acd31a7_a77d0de9","line":18,"updated":"2015-05-04 03:44:17.000000000","message":"this two methods repeat in this three files:\n\nlib/puppet/provider/keystone_tenant/openstack.rb\nlib/puppet/provider/keystone_user/openstack.rb\nlib/puppet/provider/keystone_user_role/openstack.rb\n\ni think they should be on a more general place. Maybe KeystoneV3Util?","commit_id":"de06e00215a020cfbde7906e1059c94d0cd6387c"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"69af2844938846cdea9821c691f081dc80ba61e5","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  def self.get_api_version_for_cmd"},{"line_number":16,"context_line":"    [\"--os-identity-api-version\", \"3\"]"},{"line_number":17,"context_line":"  end"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  def initialize(value\u003d{})"},{"line_number":20,"context_line":"    super(value)"},{"line_number":21,"context_line":"    @property_flush \u003d {}"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"3acd31a7_afedd4f0","line":18,"in_reply_to":"3acd31a7_a77d0de9","updated":"2015-05-04 16:50:43.000000000","message":"They are here because they override the setting in the superclass lib/puppet/provider/keystone.rb. By default, keystone.rb uses v2 - \"/v2.0/\" and and empty [] array for the api version. Subclasses that support v3 override the methods to provide the v3 arguments.\n\nI think once all of the keystone providers support v3, we can use v3 everywhere, and get rid of these methods.","commit_id":"de06e00215a020cfbde7906e1059c94d0cd6387c"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"37e7e956cc34a77221b38f5bd93f971ca1e9e2b6","unresolved":false,"context_lines":[{"line_number":99,"context_line":"      credentials.auth_url     \u003d self.class.get_endpoint"},{"line_number":100,"context_line":"      credentials.password     \u003d resource[:password]"},{"line_number":101,"context_line":"      credentials.project_name \u003d resource[:tenant]"},{"line_number":102,"context_line":"      credentials.user_id      \u003d id"},{"line_number":103,"context_line":"      token \u003d Puppet::Provider::Openstack.request(\u0027token\u0027, \u0027issue\u0027, [\u0027--format\u0027, \u0027value\u0027], credentials)"},{"line_number":104,"context_line":"      res \u003d resource[:password] unless token.empty?"},{"line_number":105,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":17,"id":"1af86dd1_dbd02ecc","line":102,"updated":"2015-06-12 06:43:47.000000000","message":"python-openstackclient openstack command doesn\u0027t accept --os-user_id yet.\nI has to be os-username.\n\nThis is why acceptance tests are failing, good catch beaker!\n\nReversing to username in coming patch set.","commit_id":"f2ca40fbaa5d3768dcce43d3e244707da28de4ac"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"d02cea676990ba71ae2d0118e5d178a21c38030a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"      credentials.auth_url     \u003d self.class.get_endpoint"},{"line_number":100,"context_line":"      credentials.password     \u003d resource[:password]"},{"line_number":101,"context_line":"      credentials.project_name \u003d resource[:tenant]"},{"line_number":102,"context_line":"      credentials.user_id      \u003d id"},{"line_number":103,"context_line":"      token \u003d Puppet::Provider::Openstack.request(\u0027token\u0027, \u0027issue\u0027, [\u0027--format\u0027, \u0027value\u0027], credentials)"},{"line_number":104,"context_line":"      res \u003d resource[:password] unless token.empty?"},{"line_number":105,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":17,"id":"1af86dd1_41f8bae5","line":102,"in_reply_to":"1af86dd1_dbd02ecc","updated":"2015-06-12 17:38:54.000000000","message":"\u003e python-openstackclient openstack command doesn\u0027t accept --os-user_id yet. I has to be os-username.\n\n\u003e This is why acceptance tests are failing, good catch beaker!\n\nHow did you come to the conclusion that the reason for the failure is that openstack doesn\u0027t accept OS_USER_ID?\n\nIf you look at both http://logs.openstack.org/76/174976/18/check/gate-puppet-keystone-puppet-beaker-rspec-dsvm-trusty/84d3d17/console.html and http://logs.openstack.org/76/174976/18/check/gate-puppet-keystone-puppet-beaker-rspec-dsvm-centos7/30df482/console.html the error message is this::\n\n    Could not evaluate: Execution of \u0027/usr/bin/openstack token issue --format\n    value\u0027 returned 1: ERROR: openstack Expecting to find domain in project -\n    the server could not comply with the request since it is either malformed or\n    otherwise incorrect. The client is assumed to be in error. (HTTP 400)\n\nI\u0027m not sure how you got from \"Expecting to find domain in project\" to \"--os-user-id not supported\".  To me it seems pretty clear - the domain for the project was not specified.","commit_id":"f2ca40fbaa5d3768dcce43d3e244707da28de4ac"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"f44778a404f2de27b9eb4349f109757779f81691","unresolved":false,"context_lines":[{"line_number":99,"context_line":"      credentials.auth_url     \u003d self.class.get_endpoint"},{"line_number":100,"context_line":"      credentials.password     \u003d resource[:password]"},{"line_number":101,"context_line":"      credentials.project_name \u003d resource[:tenant]"},{"line_number":102,"context_line":"      credentials.user_id      \u003d id"},{"line_number":103,"context_line":"      token \u003d Puppet::Provider::Openstack.request(\u0027token\u0027, \u0027issue\u0027, [\u0027--format\u0027, \u0027value\u0027], credentials)"},{"line_number":104,"context_line":"      res \u003d resource[:password] unless token.empty?"},{"line_number":105,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":17,"id":"1af86dd1_2db935ea","line":102,"in_reply_to":"1af86dd1_dbd02ecc","updated":"2015-06-12 16:15:28.000000000","message":"Really?::\n\n    $ openstack --version\n    1.0.1\n    $ openstack --help\n     ...\n      --os-user-id \u003cauth-user-id\u003e\n                      v3password: User ID (Env: OS_USER_ID)\n\nIf it\u0027s not working, then either beaker is using a version \u003c 1.0.1, or there is a bug in openstackclient.","commit_id":"f2ca40fbaa5d3768dcce43d3e244707da28de4ac"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ef3a34ebaf68fcc8121ca8022142363e61202f4d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    @property_hash[:domain] \u003d user_domain"},{"line_number":41,"context_line":"    if resource[:tenant]"},{"line_number":42,"context_line":"      # v3 removed the ability to add a user to a tenant with user create, so"},{"line_number":43,"context_line":"      # do it here"},{"line_number":44,"context_line":"      self.tenant \u003d resource[:tenant]"},{"line_number":45,"context_line":"    end"},{"line_number":46,"context_line":"    @property_hash[:ensure] \u003d :present"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_edd5b9e4","line":43,"updated":"2015-06-18 01:28:41.000000000","message":"Note for the future...we might want to deprecate the tenant property in the next few cycles, if it\u0027s not technically supported and it\u0027s causing this much extra code.","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7167533fe3cb63504e5fb8b557485d3a00e8639b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    @property_hash[:domain] \u003d user_domain"},{"line_number":41,"context_line":"    if resource[:tenant]"},{"line_number":42,"context_line":"      # v3 removed the ability to add a user to a tenant with user create, so"},{"line_number":43,"context_line":"      # do it here"},{"line_number":44,"context_line":"      self.tenant \u003d resource[:tenant]"},{"line_number":45,"context_line":"    end"},{"line_number":46,"context_line":"    @property_hash[:ensure] \u003d :present"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_081e996f","line":43,"in_reply_to":"fa32b979_edd5b9e4","updated":"2015-06-18 22:56:19.000000000","message":"Added TODO with explanation","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"}],"lib/puppet/type/keystone_user.rb":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"fb6433281de5acec20d8885d174ae01950082c2e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"  newparam(:ignore_default_tenant) do"},{"line_number":18,"context_line":"    # TODO: Deprecate the tenant parameter.  Keystone no longer supports"},{"line_number":19,"context_line":"    # tenant/project as a property of user entries and is deprecating it."},{"line_number":20,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":21,"context_line":"    defaultto(false)"},{"line_number":22,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":32,"id":"ba3cc151_1212bb62","line":19,"updated":"2015-07-07 23:20:36.000000000","message":"If there isn\u0027t one already, can we make a launchpad bug for this and add the # in these TODO comments?","commit_id":"aa0b874e8a48c4fedb22bc9a86c1f5af1c371ecc"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"5f86596b3c5306f5cbf13b99c3185d649c55acd3","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"  newparam(:ignore_default_tenant) do"},{"line_number":18,"context_line":"    # TODO: Deprecate the tenant parameter.  Keystone no longer supports"},{"line_number":19,"context_line":"    # tenant/project as a property of user entries and is deprecating it."},{"line_number":20,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":21,"context_line":"    defaultto(false)"},{"line_number":22,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":32,"id":"ba3cc151_57858bcc","line":19,"in_reply_to":"ba3cc151_1212bb62","updated":"2015-07-08 04:58:09.000000000","message":"Done","commit_id":"aa0b874e8a48c4fedb22bc9a86c1f5af1c371ecc"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"56b57d4c8730142f47ed5dfb6b293b3caa3cdb8b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":19,"context_line":"    # and is deprecating it."},{"line_number":20,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":21,"context_line":"    Puppet.warning(\u0027The ignore_default_tenant parameter use has been deprecated\u0027)"},{"line_number":22,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":23,"context_line":"    defaultto(false)"},{"line_number":24,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_d9951e32","line":21,"updated":"2015-07-08 23:33:31.000000000","message":"The code looks fine, but I don\u0027t know if this is sufficient to officially deprecate a parameter.","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"2b44a7bf34faf3748f49ff28138cf4661a2192f2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":19,"context_line":"    # and is deprecating it."},{"line_number":20,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":21,"context_line":"    Puppet.warning(\u0027The ignore_default_tenant parameter use has been deprecated\u0027)"},{"line_number":22,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":23,"context_line":"    defaultto(false)"},{"line_number":24,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_e2562229","line":21,"in_reply_to":"ba3cc151_b4db7f7b","updated":"2015-07-09 03:19:11.000000000","message":"\u003e  removing it would make it entirely (and officially) deprecated.\nDeprecated means warning the user that it will go away, not taking it away completely.\n\nI don\u0027t have strong feelings about how to handle this but I suggest we remove the warning for now so as not to block on it.","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"14dc26d0a5d0cf5574fb8d150119770e55c05bfe","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":19,"context_line":"    # and is deprecating it."},{"line_number":20,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":21,"context_line":"    Puppet.warning(\u0027The ignore_default_tenant parameter use has been deprecated\u0027)"},{"line_number":22,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":23,"context_line":"    defaultto(false)"},{"line_number":24,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_b4db7f7b","line":21,"in_reply_to":"ba3cc151_d9951e32","updated":"2015-07-08 23:42:43.000000000","message":"There aren\u0027t many examples of custom provider/type deprecation.\nMeanwhile removing it would make it entirely (and officially) deprecated.\nBut I believe it\u0027s common practice to warn the users for some time (a couple of releases)","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"a06898d48ca20f324282ea1dee025d672cc018d4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":19,"context_line":"    # and is deprecating it."},{"line_number":20,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":21,"context_line":"    Puppet.warning(\u0027The ignore_default_tenant parameter use has been deprecated\u0027)"},{"line_number":22,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":23,"context_line":"    defaultto(false)"},{"line_number":24,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_6fa3da00","line":21,"in_reply_to":"ba3cc151_e2562229","updated":"2015-07-09 04:04:39.000000000","message":"For the record:\n\nThe issue was discussed on IRC #puppet-openstack, \nThe warning to indicate the user the involved parameters to be removed in future. This would act as a deprecation period before the feature is removed.","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"56b57d4c8730142f47ed5dfb6b293b3caa3cdb8b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":58,"context_line":"    # and is deprecating it."},{"line_number":59,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":60,"context_line":"    Puppet.warning(\u0027The tenant parameter use has been deprecated\u0027)"},{"line_number":61,"context_line":"    newvalues(/\\S+/)"},{"line_number":62,"context_line":"  end"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_b9a13a96","line":60,"updated":"2015-07-08 23:33:31.000000000","message":"The code looks fine, but I don\u0027t know if this is sufficient to officially deprecate a parameter.","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"14dc26d0a5d0cf5574fb8d150119770e55c05bfe","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # Keystone no longer supports tenant/project as a property of user entries"},{"line_number":58,"context_line":"    # and is deprecating it."},{"line_number":59,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":60,"context_line":"    Puppet.warning(\u0027The tenant parameter use has been deprecated\u0027)"},{"line_number":61,"context_line":"    newvalues(/\\S+/)"},{"line_number":62,"context_line":"  end"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":35,"id":"ba3cc151_34ef6f1f","line":60,"in_reply_to":"ba3cc151_b9a13a96","updated":"2015-07-08 23:42:43.000000000","message":"There aren\u0027t many examples of custom provider/type deprecation.\nMeanwhile removing it would make it entirely (and officially) deprecated.\nBut I believe it\u0027s common practice to warn the users for some time (a couple of releases)","commit_id":"83c6b1ababdced53540261fcc8cc3ccafe7c5190"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"df491c21924ec0bcbe886cba3be1b1e3e0ffcdd5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"  newparam(:ignore_default_tenant) do"},{"line_number":18,"context_line":"    # DEPRECATED - To be removed in next release (Liberty)"},{"line_number":19,"context_line":"    # https://bugs.launchpad.net/puppet-keystone/+bug/1472437"},{"line_number":20,"context_line":"    Puppet.warning(\u0027The ignore_default_tenant parameter is deprecated and will be removed in the future.\u0027)"},{"line_number":21,"context_line":"    newvalues(/(t|T)rue/, /(f|F)alse/, true, false)"},{"line_number":22,"context_line":"    defaultto(false)"},{"line_number":23,"context_line":"    munge do |value|"}],"source_content_type":"text/x-ruby","patch_set":36,"id":"ba3cc151_6bd40ee8","line":20,"updated":"2015-07-09 15:13:08.000000000","message":"As Mathieu suggested, this should also tell the user what they should do instead (use keystone_user_role to assign the tenant)","commit_id":"a571d3570135dfff24d45ef0036f6364ae957459"}],"spec/unit/provider/keystone_user/openstack_spec.rb":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ef3a34ebaf68fcc8121ca8022142363e61202f4d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\talias request_orig request"},{"line_number":13,"context_line":"\tdef checkcreds(creds)"},{"line_number":14,"context_line":"\t  true"},{"line_number":15,"context_line":"\tend"},{"line_number":16,"context_line":"  end"},{"line_number":17,"context_line":"  def self.request(service, action, properties, credentials\u003dnil)"},{"line_number":18,"context_line":"\tcheckcreds(credentials ? credentials.to_env : {})"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_edecd9bc","line":15,"updated":"2015-06-18 01:28:41.000000000","message":"Could we just mock the credentials class instead of monkeypatching the openstack class?","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7167533fe3cb63504e5fb8b557485d3a00e8639b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\talias request_orig request"},{"line_number":13,"context_line":"\tdef checkcreds(creds)"},{"line_number":14,"context_line":"\t  true"},{"line_number":15,"context_line":"\tend"},{"line_number":16,"context_line":"  end"},{"line_number":17,"context_line":"  def self.request(service, action, properties, credentials\u003dnil)"},{"line_number":18,"context_line":"\tcheckcreds(credentials ? credentials.to_env : {})"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_28059d12","line":15,"in_reply_to":"fa32b979_edecd9bc","updated":"2015-06-18 22:56:19.000000000","message":"Yes.  Nice!  Much cleaner.","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ef3a34ebaf68fcc8121ca8022142363e61202f4d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  end"},{"line_number":17,"context_line":"  def self.request(service, action, properties, credentials\u003dnil)"},{"line_number":18,"context_line":"\tcheckcreds(credentials ? credentials.to_env : {})"},{"line_number":19,"context_line":"\trequest_orig(service, action, properties, credentials)"},{"line_number":20,"context_line":"  end"},{"line_number":21,"context_line":"end"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_ad0a5188","line":19,"updated":"2015-06-18 01:28:41.000000000","message":"Please use spaces not tabs","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"7167533fe3cb63504e5fb8b557485d3a00e8639b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  end"},{"line_number":17,"context_line":"  def self.request(service, action, properties, credentials\u003dnil)"},{"line_number":18,"context_line":"\tcheckcreds(credentials ? credentials.to_env : {})"},{"line_number":19,"context_line":"\trequest_orig(service, action, properties, credentials)"},{"line_number":20,"context_line":"  end"},{"line_number":21,"context_line":"end"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":24,"id":"fa32b979_03051a0f","line":19,"in_reply_to":"fa32b979_ad0a5188","updated":"2015-06-18 22:56:19.000000000","message":"Done","commit_id":"a575acc6afe745a59e13be5c8c66a2e4eb2efa64"}]}
