[Pulp-list] pulpcore 3.13.0 is Generally Available

Ben Stanley ben.stanley at gmail.com
Tue Jun 1 22:59:14 UTC 2021


The way I read [0], the new resolver is already enabled and the legacy 
resolver is already removed!

I think that the resolver will have a hard time detecting package 
inconsistencies prior to upgrade when the installer calls pip for all the 
pulp modules individually.

With rpm, you have a better experience by passing all the upgrade rpms in 
one transaction, to avoid dependency analysing intermediate states. I want 
to know if the final configuration is inconsistent before making any 
changes to my installation (which is the claimed behavior of the pulp 
installer...).

Ben.

On 2 June 2021 8:38:46 am Daniel Alley <dalley at redhat.com> wrote:
> It turns out that pulp-2to3-migration and pulp-ansible are not yet 
> compatible with pulpcore-3.13.0.
>
> Unfortunately there were some delays with the pulp_ansible release, but it 
> should be up tomorrow, and the pulp-2to3-migration release some time this 
> week.  Sincere apologies for the frustration.
>
> This brings up a good point though.  The reason this is a problem is that 
> Python has historically done a bad job of resolving dependencies and 
> avoiding updates that break packages.  They have recently done a lot of 
> work improving that [0] but until it's enabled by default we should be more 
> careful about our releasing, or adjust the instructions to avoid upgrade 
> issues.
>
> Maybe we can opt-in to the new resolver in the installer?  Probably 
> something to investigate.
>
> [0] https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html
>
> On Tue, Jun 1, 2021 at 3:12 AM Ben Stanley <ben.stanley at gmail.com> wrote:
> Hello Daniel,
> I attempted to upgrade my pulp installation using these instructions.
> I upgraded the pulp_installer as described.
> Note that I am behind a proxy server, and I have to edit the file
> ~/.ansible/collections/ansible_collections/pulp_installer/roles/pulp_common/tasks/repos.yml 
> to remove the rpm_key module (which doesn't work with my proxy) and replace 
> it with the raw module (which does work with my proxy). I have described 
> this previously on this mailing list.
> I have properly set my proxy environment variables (proxy, proxy_http, 
> proxy_https and no_proxy) before attempting this procedure.
> I ran the pulp_installer as:
> ansible-playbook pulp_install.yml -l honeybee
> <much output removed>
> TASK [pulp.pulp_installer.pulp_common : Install pulpcore via PyPI] 
> *************
> fatal: [honeybee]: FAILED! => {"changed": false, "cmd": 
> ["/usr/local/lib/pulp/bin/pip", "install", "pulpcore==3.13.0"], "msg": 
> "\n:stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, 
> redirect=None, status=None)) after connection broken by 'ProxyError('Cannot 
> connect to proxy.', OSError('Tunnel connection failed: 407 Proxy 
> Authentication Required',))': /simple/pulpcore/\nWARNING: Retrying 
> (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after 
> connection broken by 'ProxyError('Cannot connect to proxy.', 
> OSError('Tunnel connection failed: 407 Proxy Authentication Required',))': 
> /simple/pulpcore/\nWARNING: Retrying (Retry(total=2, connect=None, 
> read=None, redirect=None, status=None)) after connection broken by 
> 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 
> 407 Proxy Authentication Required',))': /simple/pulpcore/\nWARNING: 
> Retrying (Retry(total=1, connect=None, read=None, redirect=None, 
> status=None)) after connection broken by 'ProxyError('Cannot connect to 
> proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication 
> Required',))': /simple/pulpcore/\nWARNING: Retrying (Retry(total=0, 
> connect=None, read=None, redirect=None, status=None)) after connection 
> broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel 
> connection failed: 407 Proxy Authentication Required',))': 
> /simple/pulpcore/\nERROR: Could not find a version that satisfies the 
> requirement pulpcore==3.13.0 (from versions: none)\nERROR: No matching 
> distribution found for pulpcore==3.13.0\n"}
>
> It seems that the pulp_installer does not provide the proxy information to pip.
> When I run pip on the command line, it works.
>
> [root at honeybee pulp_installation]# /usr/local/lib/pulp/bin/pip install 
> pulpcore==3.13.0
> Collecting pulpcore==3.13.0
> ...
> Attempting uninstall: pulpcore
> Found existing installation: pulpcore 3.12.2
> Uninstalling pulpcore-3.12.2:
> Successfully uninstalled pulpcore-3.12.2
> ERROR: pip's dependency resolver does not currently take into account all 
> the packages that are installed. This behaviour is the source of the 
> following dependency conflicts.
> pulp-2to3-migration 0.11.0 requires pulpcore<3.13,>=3.6, but you have 
> pulpcore 3.13.0 which is incompatible.
> pulp-rpm 3.10.0 requires pulpcore<3.13,>=3.7, but you have pulpcore 3.13.0 
> which is incompatible.
> pulp-python 3.2.0 requires pulpcore<3.13,>=3.9, but you have pulpcore 
> 3.13.0 which is incompatible.
> pulp-deb 2.11.1 requires pulpcore<3.13,>=3.10, but you have pulpcore 3.13.0 
> which is incompatible.
> pulp-container 2.5.1 requires pulpcore<3.13,>=3.11, but you have pulpcore 
> 3.13.0 which is incompatible.
> pulp-ansible 0.7.2 requires pulpcore<3.13,>=3.10, but you have pulpcore 
> 3.13.0 which is incompatible.
> Successfully installed Django-2.2.23 aiodns-3.0.0 aiofiles-0.7.0 
> django-currentuser-0.5.3 django-guardian-2.4.0 drf-spectacular-0.16.0 
> pulpcore-3.13.0 pycares-4.0.0 rq-1.8.1
> WARNING: You are using pip version 21.1.1; however, version 21.1.2 is 
> available.
> You should consider upgrading via the '/usr/local/lib/pulp/bin/python3.6 -m 
> pip install --upgrade pip' command.
> [root at honeybee pulp_installation]#
> Then I have to run the installer again to deal with the other packages. 
> This errors out due to the same problem seen earlier. However, I can run 
> the pip command manually (using the command line shown in the installer 
> error message). It turns out that pulp-2to3-migration and pulp-ansible are 
> not yet compatible with pulpcore-3.13.0. I managed to upgrade pulp-rpm, 
> pulp-python, pulp-deb and pulp-container.
> Ben.
>
>
> On 27/5/21 10:48 pm, Daniel Alley wrote:
>>
>>
>>
>>
>>
>> Pulpcore 3.13.0 [0] and pulp_installer 3.13.0 [1] have been released.
>>
>> Details of the most important changes are available in our blog [2]. For a 
>> full list of changes, please check the changelog for pulpcore [3] and 
>> pulp_installer [4].
>>
>> # Installation and Upgrade
>>
>> Users should use the 3.13.0 release of pulp_installer [1] to install or 
>> upgrade their installations.
>> This version of the installer will check compatibility of all installed 
>> plugins with pulpcore 3.13. The installer will abort if any plugin is 
>> incompatible.
>>
>> The pulp_installer collection can be installed from Ansible Galaxy with the 
>> following command:
>>
>> ansible-galaxy collection  install --force pulp.pulp_installer
>>
>> The --force flag will upgrade the collection if you had a previous version 
>> installed.
>>
>> # Plugin API
>>
>> Plugin writers can see the API changes here [6].
>>
>> Due to the 1-cycle deprecation policy, the recommended strategy is to pin 
>> plugins to a 3.y and 3.y+1 version of pulpcore. So for a compatibility 
>> release with 3.13 use:  "pulpcore>=3.13,<3.15".
>> If your plugin is compatible with earlier pulpcore releases, use: 
>> "pulpcore>=3.y,<3.15", where y is the eldest pulpcore release your plugin 
>> is compatible with.
>>
>> [0] https://pypi.org/project/pulpcore/3.13.0/
>> [1] https://galaxy.ansible.com/pulp/pulp_installer
>> [2] https://pulpproject.org/2021/05/24/pulpcore-3.13-is-generally-available/
>>
>> [3] https://docs.pulpproject.org/pulpcore/changes.html#id1
>> [4] https://pulp-installer.readthedocs.io/en/latest/CHANGES/#3130-2021-05-26
>> [5] https://docs.pulpproject.org/pulpcore/changes.html#plugin-api
>>
>> _______________________________________________
>> Pulp-list mailing list
>> Pulp-list at redhat.com
>> https://listman.redhat.com/mailman/listinfo/pulp-list
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://listman.redhat.com/mailman/listinfo/pulp-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20210602/b16e64f6/attachment.htm>


More information about the Pulp-list mailing list