mgr/dasboard : Injest certificate mgmt API into services API#66465
mgr/dasboard : Injest certificate mgmt API into services API#66465
Conversation
a4f112c to
4a69c55
Compare
d279321 to
61e284b
Compare
61e284b to
4055149
Compare
Pegonzal
left a comment
There was a problem hiding this comment.
Hey @abhidesai6 I just went over your PR a first time, I'll try to double check it (since it's a big PR) in case I missed anything important. But overall looks good to me, pretty good job.
I've left some code suggestions and some things I believe that should be changed, please let me know what you think.
Also, I see we are completly flattening the provided information, this is what I get when listing:
{
"cert_name": "cephadm-signed_agent_cert",
"scope": "HOST",
"signed_by": "cephadm",
"status": "valid",
"days_to_expiration": 1803,
"expiry_date": null,
"issuer": null,
"common_name": "192.168.100.100",
"target": "ceph-node-00",
"subject": {
"commonName": "192.168.100.100"
},
"key_type": null,
"key_size": null
}
I see common_name and commonName under subject do we want to keep both?
0f1aee7 to
111b69c
Compare
|
jenkins test make check |
|
jenkins test make check arm64 |
1 similar comment
|
jenkins test make check arm64 |
nizamial09
left a comment
There was a problem hiding this comment.
@abhidesai6 : here is a first impression review. tbh this is not a full review since I couldn't go through the entire code in the services/certificate.py since it was quite big. For future references, if you think a code will grow bigger, it'd be better if you could split the PR into different PRs so that it'd make it easier for reviewers to give proper review and make it look less scarier :P
| def process_certificates_for_list(cert_ls_data: Dict[str, Any] | ||
| ) -> List[Dict[str, Any]]: | ||
| """ | ||
| Process certificate list data and return formatted certificate entries. | ||
|
|
||
| :param cert_ls_data: Certificate list data from cert_ls | ||
| :return: List of certificate entry dictionaries | ||
| """ |
There was a problem hiding this comment.
just to understand the functionality of this function better, can you paste the before and after of the cert_ls result?
There was a problem hiding this comment.
Added Before and after of cert_ls_result to docString
:cert_ls_input:
input: {
'rgw_ssl_cert': {
'scope': 'service',
'certificates': {
'rgw.nashik': {
'subject': {
'organizationName': 'ceph',
'commonName': '192.168.100.100:8443'
},
'validity': {'remaining_days': -42}
}
}
}
}
output: [{
'cert_name': 'rgw_ssl_cert',
'scope': 'SERVICE',
'signed_by': 'user',
'status': 'expired',
'days_to_expiration': -42,
'expiry_date': None,
'issuer': None,
'common_name': '192.168.100.100:8443',
'target': 'rgw.nashik'
}]
"""
434c15e to
f7e1c21
Compare
f50ba69 to
47b21a5
Compare
6054f90 to
51bcbcc
Compare
Pegonzal
left a comment
There was a problem hiding this comment.
Hey @abhidesai6 pretty good job with this, I left a bunch of comments most are nitpicks and some are things that I believe could be improved, however the most relevant one would be around the methods used to select the services like I asked in the _select_service_certificate.
Would like to understand this better before giving the approval, I'll check this back tomorrow, and thanks again for the great work!
51bcbcc to
0ab8876
Compare
fixes : https://tracker.ceph.com/issues/74039 Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com> Assisted-by: Cursor
0ab8876 to
42a6d66
Compare
Pegonzal
left a comment
There was a problem hiding this comment.
LGTM, thanks for all the effort here @abhidesai6 , good job.
Not enough bandwith to revisit, dm'ed to confirm is ok to proceed
fixes : https://tracker.ceph.com/issues/74039
Signed-off-by: Abhishek Desai abhishek.desai1@ibm.com
UTC :
Screencast.From.2025-12-11.13-45-42.mp4
Screencast.From.2025-12-11.13-48-55.mp4
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job DefinitionYou must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.