Majic Projects
Majic Ansible Roles
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png Majic Ansible Roles / Closed Task MAR-159 Only use requirements specification for Gunicorn deployment in wsgi_website role
Go to the next issue (open or closed)
Go to the next open issue
This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue basics
  • Type of issue
    Task
  • Category
    Not determined
  • Targetted for
    5.0.0
  • Status
    Closed
  • Progress
  • Priority
    Not determined
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    2 hours
  • Time spent
    2 hours
    Click here to see time logged against this issue
Issue details
  • Resolution
    RESOLVED
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description

Majic Ansible Roles supports deployment of WSGI applications via the wsgi_website role. Gunicorn is used for serving the WSGI requests.

Currently the version of Gunicorn that is installed is specified through one of the following means:

  • Via gunicorn_version and futures_version parameters.
  • Via wsgi_requirements parameter.

The former is simpler to configure, but also less reliable because not all of the packages can be pinned. Furthermore no automated upgrade checks are performed to detect if Gunicorn is outdated or not.

The latter is a bit more complicated to configure (a full list of packages with versions has to be provided), but is also much more flexible, allows for exact package pinning, and it also supports performing automated upgrade checks. It is also the generally accepted best way to install Python packages in production environments.

It would be helpful to drop the gunicorn_version and futures_version parameters, and instead rely exclusively on the wsgi_requirements parameter.

The following should be done:

  • Update the wsgi_website role.
    • Drop the gunicorn_version parameter.
    • Drop the futures_version parameter.
    • Introduce wsgi_requirements_in parameter for listing "input" specification for requirements (used in conjunction with pip-compile from pip-tools.
    • Set a default value for the wsgi_requirements.
    • Switch to using the wsgi_requirements parameter only.
  • Update role reference documentation.
  • Update usage instructions.
  • Update test site configuration.
  • Update release notes.
Todos (0 / 0)
There are no comments