Project

Profile

Help

Issue #3981

Switch Pulp3 settings to Dynaconf

Added by bmbouter about 1 year ago. Updated 6 months ago.

Status:
MODIFIED
Priority:
Normal
Category:
-
Sprint/Milestone:
Start date:
Due date:
Severity:
2. Medium
Version:
Platform Release:
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
Yes
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 43

Description

Problem

The .yaml format for the settings file is creating several challenges:

Proposal:

Have Pulp use the Dynaconf Django: plugin.https://dynaconf.readthedocs.io/en/latest/guides/django.html#settings-files Users would still specify DJANGO_SETTINGS_MODULE=pulpcore.app.settings but dynaconf would be overlaying settings from a dynaconf config file or from environment variables.

This would give us environment variable support and allow some installs to run without any config file at all.

Also the docs need updating so users know they can use dynaconf to configure Pulp with and to refer to their docs.


Subtasks

Issue #3618: database configuration docs are confusingMODIFIEDdkliban@redhat.comActions
Issue #3879: Cannot opt out of settings defaults due to merging of settingsMODIFIEDdkliban@redhat.comActions
Story #3943: As a user, I can configure Pulp using environment variablesMODIFIEDdkliban@redhat.com

Actions
Issue #3980: Redis only works on localhostMODIFIEDdkliban@redhat.comActions

Associated revisions

Revision e1fcdda1 View on GitHub
Added by Bruno Rocha about 1 year ago

Problem: Pulp can't be configured using environment variables

Solution: use dynaconf to manage all of Pulp configuration settings

This patch also adds pulpcore.rqconfig module that is dynamically generated from the Django settings
generated by dynaconf. The rq workers use this module for their configuration.

The default location of the config file is now at `/etc/pulp/settings.py`. Pulp can operate without by relying
on environment variables.

closes: #3981
https://pulp.plan.io/issues/3981

closes: #3879
https://pulp.plan.io/issues/3879

closes: #3980
https://pulp.plan.io/issues/3980

closes #3618
https://pulp.plan.io/issues/3618

closes: #3943
https://pulp.plan.io/issues/3943

Revision e1fcdda1 View on GitHub
Added by Bruno Rocha about 1 year ago

Problem: Pulp can't be configured using environment variables

Solution: use dynaconf to manage all of Pulp configuration settings

This patch also adds pulpcore.rqconfig module that is dynamically generated from the Django settings
generated by dynaconf. The rq workers use this module for their configuration.

The default location of the config file is now at `/etc/pulp/settings.py`. Pulp can operate without by relying
on environment variables.

closes: #3981
https://pulp.plan.io/issues/3981

closes: #3879
https://pulp.plan.io/issues/3879

closes: #3980
https://pulp.plan.io/issues/3980

closes #3618
https://pulp.plan.io/issues/3618

closes: #3943
https://pulp.plan.io/issues/3943

Revision e1fcdda1 View on GitHub
Added by Bruno Rocha about 1 year ago

Problem: Pulp can't be configured using environment variables

Solution: use dynaconf to manage all of Pulp configuration settings

This patch also adds pulpcore.rqconfig module that is dynamically generated from the Django settings
generated by dynaconf. The rq workers use this module for their configuration.

The default location of the config file is now at `/etc/pulp/settings.py`. Pulp can operate without by relying
on environment variables.

closes: #3981
https://pulp.plan.io/issues/3981

closes: #3879
https://pulp.plan.io/issues/3879

closes: #3980
https://pulp.plan.io/issues/3980

closes #3618
https://pulp.plan.io/issues/3618

closes: #3943
https://pulp.plan.io/issues/3943

History

#1 Updated by bmbouter about 1 year ago

  • Subject changed from Switch Pulp3 settings to Python to Switch Pulp3 settings to Dynaconf
  • Description updated (diff)

Thanks to @brunorocha for suggesting we use this!

#2 Updated by bmbouter about 1 year ago

  • Description updated (diff)

#3 Updated by bmbouter about 1 year ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to bmbouter

#4 Updated by bmbouter about 1 year ago

  • Sprint set to Sprint 42

Adding to sprint as part of rpm sync work.

#5 Updated by bmbouter about 1 year ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (bmbouter)
  • Sprint deleted (Sprint 42)

accidentally moved the wrong issue.

#6 Updated by CodeHeeler about 1 year ago

  • Triaged changed from No to Yes

#7 Updated by daviddavis about 1 year ago

  • Groomed changed from No to Yes
  • Sprint Candidate changed from No to Yes

#8 Updated by vdusek about 1 year ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to vdusek

#9 Updated by amacdona@redhat.com about 1 year ago

  • Sprint set to Sprint 43

#10 Updated by vdusek about 1 year ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (vdusek)

#11 Updated by dkliban@redhat.com about 1 year ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to dkliban@redhat.com

#12 Updated by dkliban@redhat.com about 1 year ago

  • Status changed from ASSIGNED to POST

#13 Updated by Anonymous about 1 year ago

  • Status changed from POST to MODIFIED

#14 Updated by daviddavis 6 months ago

  • Sprint/Milestone set to 3.0

#15 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3)

Please register to edit this issue

Also available in: Atom PDF