Actions
Issue #4676
closedStory #4687: As a user, I can use either Python or Ruby bindings to interact with Pulp
Documentation for PATCH /pulp/api/v3/remotes/file/file/:ref doesn't match behavior
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
API Bindings, Documentation
Sprint:
Sprint 53
Quarter:
Description
When issuing a PATCH missing fields are triggering an Bad Request when the docs indicate they are not required.
Here's an example request:
request:
method: patch
uri: http://192.168.121.125/pulp/api/v3/remotes/file/file/9fbe786a-8a90-4a65-9127-8c7ca0cf536c/
body:
encoding: UTF-8
base64_string: |
eyJ2YWxpZGF0ZSI6dHJ1ZSwic3NsX3ZhbGlkYXRpb24iOnRydWUsIm5hbWUi
OiJvcmdfZGVmYXVsdF9sYWJlbC1NeV9GaWxlcyIsInVybCI6Imh0dHA6Ly90
ZXN0L3Rlc3QvL1BVTFBfTUFOSUZFU1QiLCJzc2xfY2xpZW50X2NlcnRpZmlj
YXRlIjpudWxsLCJzc2xfY2xpZW50X2tleSI6bnVsbCwic3NsX2NhX2NlcnRp
ZmljYXRlIjpudWxsfQ==
"{"validate":true,"ssl_validation":true,"name":"org_default_label-My_Files","url":"http://test/test//PULP_MANIFEST","ssl_client_certificate":null,"ssl_client_key":null,"ssl_ca_certificate":null}"
headers:
User-Agent:
- Swagger-Codegen/0.0.4/ruby
Content-Type:
- application/json
Accept:
- application/json
Authorization:
- Basic YWRtaW46cGFzc3dvcmQ=
Expect:
- ''
response:
status:
code: 400
message: Bad Request
headers:
Server:
- nginx/1.12.2
Date:
- Thu, 11 Apr 2019 14:01:03 GMT
Content-Type:
- application/json
Content-Length:
- '160'
Connection:
- keep-alive
Vary:
- Accept, Cookie
Allow:
- GET, PUT, PATCH, DELETE, HEAD, OPTIONS
X-Frame-Options:
- SAMEORIGIN
body:
encoding: UTF-8
base64_string: |
eyJzc2xfY2FfY2VydGlmaWNhdGUiOlsiVGhpcyBmaWVsZCBtYXkgbm90IGJl
IG51bGwuIl0sInNzbF9jbGllbnRfY2VydGlmaWNhdGUiOlsiVGhpcyBmaWVs
ZCBtYXkgbm90IGJlIG51bGwuIl0sInNzbF9jbGllbnRfa2V5IjpbIlRoaXMg
ZmllbGQgbWF5IG5vdCBiZSBudWxsLiJdfQ==
"{"ssl_ca_certificate":["This field may not be null."],"ssl_client_certificate":["This field may not be null."],"ssl_client_key":["This field may not be null."]}"
http_version:
recorded_at: Thu, 11 Apr 2019 14:58:53 GMT
Actions
Problem: ssl fields on remote are hard to use
Solution: switch all ssl fields to TextField
This patch switches the storage of SSL certs, keys, and CAs from filesystem to database. This patch also introduces a new serializer field that returns a SHA256 digest for GET operations.
Required PR: https://github.com/pulp/pulpcore-plugin/pull/91
fixes: #4506 https://pulp.plan.io/issues/4506
re: #4676 https://pulp.plan.io/issues/4676