Story #5366
closedAs an pulp_ansible developer, I have log Handler to log into CollectionImport.message with a standard logger
100%
Description
Problem¶
The CollectionImport.messages attribute will store many messages and has viewsets to show them to the user. The issue is that there isn't a way for a pulp_ansible developer to write into that data structure using a Python log Handler.
solution¶
Add a log Handler to pulp_ansible that developers can use to write logs into an instance of CollectionImport.messages.
Details Design¶
- add handler called 'collection_import' and have it use 'pulp_ansible.logutils.CollectionImportHandler' like https://github.com/ansible/galaxy/blob/devel/galaxy/settings/default.py#L387-L390
- add logger called 'pulp_ansible.app.tasks.collection.import_collection' like https://github.com/ansible/galaxy/blob/devel/galaxy/settings/default.py#L417-L421
- make pulp_ansible.logutils.CollectionImportHandler similar to this but without linting parts https://github.com/ansible/galaxy/blob/devel/galaxy/worker/logutils.py#L72-L82
- instantiate a new logger for 'pulp_ansible.app.tasks.collection.import_collection'
- add_log_record() method to CollectionImport model
Add CollectionImport log handler and Validation
Add add_log_message() facility to the CollectionImport model. This is called by the log handler which is auto-configured by pulp_ansible with this commit.
The logger is 'pulp_ansible.app.tasks.collection.import_collection'.
Add validation feature to CollectionImport where the
expected_namespace
,expected_name
, andexpected_version
are specified. When used the import will fail if the tarball does not contain the same values. These are optional parameters and only available in the Galaxy V3 API currently.https://pulp.plan.io/issues/5366 closes #5366
https://pulp.plan.io/issues/5422 closes #5422