Project

Profile

Help

Story #5890

closed

[Epic] The ansible-pulp installer needs to handle multiple versions of Pulp

Added by mdepaulo@redhat.com almost 5 years ago. Updated over 3 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
Platform Release:
Groomed:
No
Sprint Candidate:
Yes
Tags:
Sprint:
Quarter:

Description

This is an overall Epic for the following needs for our ansible installer:
1. Performing upgrades of Pulp (e.g., 3.0 -> 3.1)
2. Performing updates of Pulp (e.g., 3.0.0 -> 3.0.1)
3. Providing a way for users to obtain the version, or branch, of Pulp they want. Whether this is branches of the installer, or variables within the installer.
4. Handling the case where a user may run an outdated installer to install the current version of Pulp, and thus either the install failing or pulp failing at runtime because of it.
5. Allowing users to not update or upgrade Pulp with the installer; so that it is safe for them to re-run it without modifying the state of a correctly configured system. (idempotency / managing drift). This applies to pulpcore, but should apply to plugins as well.

Some pip limitations (without a third party cool like pip-compile) that were pointed out:
1. pip will let you upgrade a dependency (pulpcore), without checking whether it will break dependent packages (plugins.)
2. Indirect deps conflicts are not handled. (For example, if pulpcore depends on libjuicer>=1.0<2.0, and pulp_oranges depends on libjuicer=>1.0, libjuicer 2.0 might get installed and break pulpcore.)

I would like to propose a design for this overall Epic (in terms of variables for ansible-pulp, releases on ansible galaxy) based on what pip (the ansible pip module) can do, etc. I would like to put that proposed design on the ML before starting work on the Epic, although the micro-update support would be 1st.

The design RFC:
https://github.com/pulp/pulp_installer/pull/203


Sub-issues 18 (1 open17 closed)

Story #5618: As a user, I can download & run a version of the ansible installer that a specific version of Pulp 3NEW

Actions
Task #6072: Make ansible-pulp's versions correspond to a specific version of pulpcoreCLOSED - CURRENTRELEASEmdepaulo@redhat.com

Actions
Task #6073: Adapt pulp_installer CI for pulp_installer branches CLOSED - COMPLETEmdepaulo@redhat.com

Actions
Task #6535: Separate the pulp_installer CI jobs: release vs sourceCLOSED - CURRENTRELEASEmdepaulo@redhat.com

Actions
Task #6547: pulp_installer: Add variables for molecule prepare.yml to clone the branchesCLOSED - CURRENTRELEASErochacbruno

Actions
Task #6548: pulp_installer CI: prereq roles to use variables for what branches they test againstCLOSED - WONTFIXmdepaulo@redhat.com

Actions
Task #6549: pulp_installer CI: prereq roles to clone the desired branch / release of pulp_installerCLOSED - WONTFIX

Actions
Task #6550: pulp_installer CI: Modify tag jobs to only run release testsCLOSED - CURRENTRELEASE

Actions
Task #6551: pulp_installer: Implement support for PyPI pre-releasesCLOSED - WONTFIX

Actions
Task #6552: pulp_installer CI: Create docs or scripts to help maintain which branches & tests get usedCLOSED - WONTFIX

Actions
Task #6553: Add "Required PR" support for pulp_installer to prereq rolesCLOSED - CURRENTRELEASE

Actions
Task #6557: Add "Required PR" support for pulpcore & plugins to pulp_installerCLOSED - WONTFIX

Actions
RPM Support - Task #6108: Start doing versioned releases of pulp_rpm_prerequisites on Ansible GalaxyCLOSED - COMPLETEmdepaulo@redhat.com

Actions
RPM Support - Task #6109: Document downloading the pulp_rpm_prerequisites exact version in pulp_rpm docsCLOSED - COMPLETEmdepaulo@redhat.com

Actions
Story #5884: As a user, I can use the installer to upgrade my PulpCLOSED - CURRENTRELEASE

Actions
Story #5891: As a user, I can use ansible-pulp to perform a micro update to Pulp 3CLOSED - CURRENTRELEASEmdepaulo@redhat.com

Actions
Task #5892: ansible-pulp CI needs to test micro updates to Pulp 3CLOSED - COMPLETEmdepaulo@redhat.com

Actions
Issue #6189: ansible-pulp should not upgrade pulpcore if any plugins can't work with the newer versionCLOSED - CURRENTRELEASEdkliban@redhat.comActions

Related issues

Related to Pulp - Task #5863: Generate and use a pulpcore constraints file in ansible-pulpCLOSED - CURRENTRELEASEmdepaulo@redhat.com

Actions
Related to Pulp - Task #6071: ansible-pulp CI should test the calling roles from dynamic "include_role" with the source dirs of the branchCLOSED - COMPLETE

Actions
Related to Pulp - Task #6900: Generate and use a pulpcore constraints file in the all-in-one pulp containersCLOSED - DUPLICATE

Actions

Also available in: Atom PDF