Story #5890
closed[Epic] The ansible-pulp installer needs to handle multiple versions of Pulp
100%
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
Related issues
Updated by mdepaulo@redhat.com about 5 years ago
- Related to Task #5863: Generate and use a pulpcore constraints file in ansible-pulp added
Updated by mdepaulo@redhat.com about 5 years ago
- Subject changed from the ansible-pulp installer needs to handle multiple versions of Pulp to [Epic] The ansible-pulp installer needs to handle multiple versions of Pulp
Updated by mdepaulo@redhat.com about 5 years ago
- Description updated (diff)
- Sprint Candidate changed from No to Yes
Updated by mdepaulo@redhat.com almost 5 years ago
- Related to Task #6071: ansible-pulp CI should test the calling roles from dynamic "include_role" with the source dirs of the branch added
Updated by dkliban@redhat.com about 4 years ago
- Status changed from NEW to CLOSED - WONTFIX
Updated by mdepaulo@redhat.com over 3 years ago
- Related to Task #6900: Generate and use a pulpcore constraints file in the all-in-one pulp containers added