Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

keystone patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes exactly 4 non-keyword arguments...3 given"

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

keystone http patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes exactly 4 non-keyword arguments...3 given"

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

keystone http patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes exactly 4 non-keyword arguments...3 given"

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

Here's the keystone log entries:

2014-08-23 21:04:12.243 1265 ERROR keystone.common.wsgi [-] update_domain() takes exactly 4 non-keyword arguments (3 given)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 207, in __call__
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     result = method(context, **params)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 152, in inner
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi TypeError: update_domain() takes exactly 4 non-keyword arguments (3 given)

keystone http patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes exactly 4 non-keyword arguments...3 given"

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

Here's the keystone log entries:

2014-08-23 21:04:12.243 1265 ERROR keystone.common.wsgi [-] update_domain() takes exactly 4 non-keyword arguments (3 given)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 207, in __call__
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     result = method(context, **params)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 152, in inner
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi TypeError: update_domain() takes exactly 4 non-keyword arguments (3 given)

Edit:

After using debug logs and wireshark - turns out chunked encoding was the problem. Once I disabled it on my client the PATCH worked correctly.

keystone http patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes exactly 4 non-keyword arguments...3 given"

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

Here's the keystone log entries:

2014-08-23 21:04:12.243 1265 ERROR keystone.common.wsgi [-] update_domain() takes exactly 4 non-keyword arguments (3 given)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 207, in __call__
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     result = method(context, **params)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 152, in inner
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi TypeError: update_domain() takes exactly 4 non-keyword arguments (3 given)

Edit:

After using debug logs and wireshark - turns out chunked encoding was the problem. Once I disabled it on my client the PATCH worked correctly.

keystone Updating objects in Keystone using v3 API http patch error

Hello,

I've been trying update objects in keystone with the v3 API but keep receiving the same kind of message. For example, if i try to change the password of a user or if i try to change the description on a domain. It all boils down to "takes takes exactly 4 non-keyword arguments...3 given"given

I'm completely lost as to why this is failing as it's following the same patterns explained in this API doc: http://developer.openstack.org/api-ref-guides/bk-api-ref-identity-v3.pdf

Does anyone have any suggestions? Much appreciated!

Prove that the object does exist:

 INFO: 1 * Sending client request on thread main
1 > GET https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: password

INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 186
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"domain": {"enabled": true, "id": "f50f4689424d4a2ba6254924d0edb8d4", "links": {"self": "https://135.121.18.47:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4"}, "name": "wscDomain"}}

Update the description for the domain

INFO: 1 * Sending client request on thread main
1 > PATCH https://XXXX:35357/v3/domains/f50f4689424d4a2ba6254924d0edb8d4
1 > Content-Type: application/json
1 > X-Auth-Token: password
{
  "domain" : {
    "description" : "new description",
    "enabled" : true
  }
}

INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 126
2 < Content-Type: application/json
2 < Date: Sat, 23 Aug 2014 20:56:15 GMT
2 < Vary: X-Auth-Token
{"error": {"message": "update_domain() takes exactly 4 non-keyword arguments (3 given)", "code": 400, "title": "Bad Request"}}

Here's the keystone log entries:

2014-08-23 21:04:12.243 1265 ERROR keystone.common.wsgi [-] update_domain() takes exactly 4 non-keyword arguments (3 given)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 207, in __call__
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     result = method(context, **params)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 152, in inner
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-08-23 21:04:12.243 1265 TRACE keystone.common.wsgi TypeError: update_domain() takes exactly 4 non-keyword arguments (3 given)

Here's my current situation (dev enviroment - passwords/id aren't important):

Role called 'admin'
Domain called 'testDomain'
Project called 'projectTest'
User called 'admin' with password 'admin' created in the domain 'testDomain' and has been assigned role 'admin'

I'm trying to change project enabled from true to false. Here's all the output.

###################################################
 FETCHING TOKEN AS USER ADMIN, WITH THE SCOPE OF THE DOMAIN
###################################################

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST https://x.x.x.x:35357/v3/auth/tokens
1 > Content-Type: application/json
{
  "auth" : {
    "identity" : {
      "methods" : [ "password" ],
      "password" : {
        "user" : {
          "name" : "admin",
          "domain" : {
            "id" : "f50f4689424d4a2ba6254924d0edb8d4"
          },
          "password" : "admin"
        }
      }
    },
    "scope" : {
      "domain" : {
        "id" : "f50f4689424d4a2ba6254924d0edb8d4"
      }
    }
  }
}

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 2 * Client response received on thread main
2 < 201
2 < Connection: keep-alive
2 < Content-Length: 445
2 < Content-Type: application/json
2 < Date: Mon, 25 Aug 2014 15:51:30 GMT
2 < Vary: X-Auth-Token
2 < X-Subject-Token: MIIDegYJKoZIhvcNAQcCoIIDazCCA2cCAQExCTAHBgUrDgMCGjCCAdAGCSqGSIb3DQEHAaCCAcEEggG9eyJ0b2tlbiI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAibWV0aG9kcyI6IFsicGFzc3dvcmQiXSwgInJvbGVzIjogW3siaWQiOiAiZGY3NjYxZDRiNGVjNGQ4NmFkMWZiMzFhZmE3YzcxMmEiLCAibmFtZSI6ICJhZG1pbiJ9XSwgImV4cGlyZXNfYXQiOiAiMjAxNC0wOC0yNVQxNjo1MToyOS45ODU3ODhaIiwgImNhdGFsb2ciOiBbXSwgImV4dHJhcyI6IHt9LCAidXNlciI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAiaWQiOiAiMjQ0NmMzZDA4NDYzNDc4ZjlkNGE5OGUzMWQyZTJiMTkiLCAibmFtZSI6ICJhZG1pbiJ9LCAiaXNzdWVkX2F0IjogIjIwMTQtMDgtMjVUMTU6NTE6MjkuOTg1ODMwWiJ9fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQBCUsanyzFhQrbSjtp1H7Hlx-4wtNMvD4P27Za-kV5QtSxGsI4+t0q2ykxNZXYco9SYQcQTanyiR2TNhhb4WzsksyBcNoYqQj-Tc-0c735byMiIs5JPWtWTAQYS8S822FiKI-Go8J-6PsYS8nxODxdmYfWSRZTRtPP1HJeUJMbup4TeIgo9OSsT0Abaz8SusUCYPhVzn1m7Ww79bBBV+vBckMuDPlA9Yx-HdM5sEEOjpo4iLpiA9EOSzPifqHpNSHBtxZ4xEzYz8EMz+jQ4m-hI+ZIt1jIhcg4rRdoW6YfT8gehPtFLOV--lw8-boF8eeKMmoqLQBp22dZyxl-Xdlwf
{
    "token": {
        "domain": {
            "id": "f50f4689424d4a2ba6254924d0edb8d4",
            "name": "testDomain"
        },
        "methods": [
            "password"
        ],
        "roles": [
            {
                "id": "df7661d4b4ec4d86ad1fb31afa7c712a",
                "name": "admin"
            }
        ],
        "expires_at": "2014-08-25T16:51:29.985788Z",
        "catalog": [],
        "extras": {},
        "user": {
            "domain": {
                "id": "f50f4689424d4a2ba6254924d0edb8d4",
                "name": "testDomain"
            },
            "id": "2446c3d08463478f9d4a98e31d2e2b19",
            "name": "admin"
        },
        "issued_at": "2014-08-25T15:51:29.985830Z"
    }
}

###################################################
 FETCHING PROJECT CALLED PROJECTTEST
 ###################################################

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET https://x.x.x.x:35357/v3/projects?name=projectTest&domain_id=f50f4689424d4a2ba6254924d0edb8d4
1 > X-Auth-Token: MIIDegYJKoZIhvcNAQcCoIIDazCCA2cCAQExCTAHBgUrDgMCGjCCAdAGCSqGSIb3DQEHAaCCAcEEggG9eyJ0b2tlbiI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAibWV0aG9kcyI6IFsicGFzc3dvcmQiXSwgInJvbGVzIjogW3siaWQiOiAiZGY3NjYxZDRiNGVjNGQ4NmFkMWZiMzFhZmE3YzcxMmEiLCAibmFtZSI6ICJhZG1pbiJ9XSwgImV4cGlyZXNfYXQiOiAiMjAxNC0wOC0yNVQxNjo1MToyOS45ODU3ODhaIiwgImNhdGFsb2ciOiBbXSwgImV4dHJhcyI6IHt9LCAidXNlciI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAiaWQiOiAiMjQ0NmMzZDA4NDYzNDc4ZjlkNGE5OGUzMWQyZTJiMTkiLCAibmFtZSI6ICJhZG1pbiJ9LCAiaXNzdWVkX2F0IjogIjIwMTQtMDgtMjVUMTU6NTE6MjkuOTg1ODMwWiJ9fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQBCUsanyzFhQrbSjtp1H7Hlx-4wtNMvD4P27Za-kV5QtSxGsI4+t0q2ykxNZXYco9SYQcQTanyiR2TNhhb4WzsksyBcNoYqQj-Tc-0c735byMiIs5JPWtWTAQYS8S822FiKI-Go8J-6PsYS8nxODxdmYfWSRZTRtPP1HJeUJMbup4TeIgo9OSsT0Abaz8SusUCYPhVzn1m7Ww79bBBV+vBckMuDPlA9Yx-HdM5sEEOjpo4iLpiA9EOSzPifqHpNSHBtxZ4xEzYz8EMz+jQ4m-hI+ZIt1jIhcg4rRdoW6YfT8gehPtFLOV--lw8-boF8eeKMmoqLQBp22dZyxl-Xdlwf

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 2 * Client response received on thread main
2 < 200
2 < Connection: keep-alive
2 < Content-Length: 355
2 < Content-Type: application/json
2 < Date: Mon, 25 Aug 2014 15:51:30 GMT
2 < Vary: X-Auth-Token
{
    "links": {
        "self": "https://x.x.x.x:35357/v3/projects",
        "previous": null,
        "next": null
    },
    "projects": [
        {
            "description": "",
            "links": {
                "self": "https://x.x.x.x:35357/v3/projects/a261943d94f143a7b65c03a62cf81db1"
            },
            "enabled": true,
            "id": "a261943d94f143a7b65c03a62cf81db1",
            "domain_id": "f50f4689424d4a2ba6254924d0edb8d4",
            "name": "projectTest"
        }
    ]
}

###################################################
 MODIFYING THE PROJECT
 ###################################################

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > PATCH https://x.x.x.x:35357/v3/projects/a261943d94f143a7b65c03a62cf81db1
1 > Content-Type: application/json
1 > X-Auth-Token: MIIDegYJKoZIhvcNAQcCoIIDazCCA2cCAQExCTAHBgUrDgMCGjCCAdAGCSqGSIb3DQEHAaCCAcEEggG9eyJ0b2tlbiI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAibWV0aG9kcyI6IFsicGFzc3dvcmQiXSwgInJvbGVzIjogW3siaWQiOiAiZGY3NjYxZDRiNGVjNGQ4NmFkMWZiMzFhZmE3YzcxMmEiLCAibmFtZSI6ICJhZG1pbiJ9XSwgImV4cGlyZXNfYXQiOiAiMjAxNC0wOC0yNVQxNjo1MToyOS45ODU3ODhaIiwgImNhdGFsb2ciOiBbXSwgImV4dHJhcyI6IHt9LCAidXNlciI6IHsiZG9tYWluIjogeyJpZCI6ICJmNTBmNDY4OTQyNGQ0YTJiYTYyNTQ5MjRkMGVkYjhkNCIsICJuYW1lIjogIndzY0RvbWFpbiJ9LCAiaWQiOiAiMjQ0NmMzZDA4NDYzNDc4ZjlkNGE5OGUzMWQyZTJiMTkiLCAibmFtZSI6ICJhZG1pbiJ9LCAiaXNzdWVkX2F0IjogIjIwMTQtMDgtMjVUMTU6NTE6MjkuOTg1ODMwWiJ9fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQBCUsanyzFhQrbSjtp1H7Hlx-4wtNMvD4P27Za-kV5QtSxGsI4+t0q2ykxNZXYco9SYQcQTanyiR2TNhhb4WzsksyBcNoYqQj-Tc-0c735byMiIs5JPWtWTAQYS8S822FiKI-Go8J-6PsYS8nxODxdmYfWSRZTRtPP1HJeUJMbup4TeIgo9OSsT0Abaz8SusUCYPhVzn1m7Ww79bBBV+vBckMuDPlA9Yx-HdM5sEEOjpo4iLpiA9EOSzPifqHpNSHBtxZ4xEzYz8EMz+jQ4m-hI+ZIt1jIhcg4rRdoW6YfT8gehPtFLOV--lw8-boF8eeKMmoqLQBp22dZyxl-Xdlwf
{
  "project" : {
    "enabled" : false
  }
}

Aug 25, 2014 11:51:59 AM org.glassfish.jersey.filter.LoggingFilter log
INFO: 2 * Client response received on thread main
2 < 400
2 < Connection: keep-alive
2 < Content-Length: 127
2 < Content-Type: application/json
2 < Date: Mon, 25 Aug 2014 15:51:30 GMT
2 < Vary: X-Auth-Token
{
    "error": {
        "message": "update_project() takes exactly 4 non-keyword arguments (3 given)",
        "code": 400,
        "title": "Bad Request"
    }
}

UPDATE

Added the following to line 153 inside controller.py, so it now looks like this:

        LOG.warning('testing!')
        LOG.warning(self)
        LOG.warning(args)
        LOG.warning(kwargs)
        return f(self, context, *args, **kwargs)      

2014-08-25 19:15:03.319 6032 WARNING keystone.common.controller [-] RBAC: Bypassing authorization
2014-08-25 19:15:03.319 6032 WARNING keystone.common.controller [-] testing!
2014-08-25 19:15:03.319 6032 WARNING keystone.common.controller [-] <keystone.assignment.controllers.ProjectV3 object at 0x2e14350>
2014-08-25 19:15:03.319 6032 WARNING keystone.common.controller [-] ()
2014-08-25 19:15:03.319 6032 WARNING keystone.common.controller [-] {'project_id': u'2fc54bc95a884aae98c94cb848ff315d'}
2014-08-25 19:15:03.320 6032 ERROR keystone.common.wsgi [-] update_project() takes exactly 4 non-keyword arguments (3 given)
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 207, in __call__
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi     result = method(context, **params)
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 157, in inner
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-08-25 19:15:03.320 6032 TRACE keystone.common.wsgi TypeError: update_project() takes exactly 4 non-keyword arguments (3 given)