<div dir="ltr">Yes it's here:  <a href="https://github.com/fao89/pdc">https://github.com/fao89/pdc</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 3, 2021 at 12:11 PM Daniel Alley <<a href="mailto:dalley@redhat.com">dalley@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">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 <span style="font-family:sans-serif">individually.</span></div></blockquote><div><br></div><div>Yup, you're definitely right about that...</div><div><br></div><div>We do actually have a tool for checking the compatibility of all of the plugins (it was one of fao89's hobby projects) but haven't integrated it into the upgrade workflow.  Maybe we should, to avoid issues like this.  Although - not having missing releases, would be preferable.</div><div><br></div><div>The ansible plugin is released, the migration plugin is not (yet) but I'll let you know once it is.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 1, 2021 at 6:59 PM Ben Stanley <<a href="mailto:ben.stanley@gmail.com" target="_blank">ben.stanley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

<div>
<div dir="auto">
<div dir="auto">The way I read [0], the new resolver is already enabled and the legacy resolver is already removed!</div><div dir="auto"><br></div><div dir="auto">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 <span style="font-family:sans-serif">individually.</span></div><div dir="auto"><br></div><div dir="auto">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...).</div><div dir="auto"><br></div><div dir="auto">Ben. </div><div dir="auto"><br></div>
<div id="gmail-m_4885113976543437478gmail-m_-3770306341536141958aqm-original" style="color:black">

<div>
<div style="color:black">
<p style="color:black;font-size:10pt;font-family:sans-serif;margin:8pt 0px">On 2 June 2021 8:38:46 am Daniel Alley <<a href="mailto:dalley@redhat.com" target="_blank">dalley@redhat.com</a>> wrote:</p>
<blockquote type="cite" class="gmail_quote" style="margin:0px 0px 0px 0.75ex;border-left:1px solid rgb(128,128,128);padding-left:0.75ex">
<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">It turns out that
      pulp-2to3-migration and pulp-ansible are not yet compatible with
      pulpcore-3.13.0.</blockquote><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>Maybe we can opt-in to the new resolver in the installer?  Probably something to investigate.<br></div><div><br></div><div>[0] <a href="https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html" target="_blank">https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 1, 2021 at 3:12 AM Ben Stanley <<a href="mailto:ben.stanley@gmail.com" target="_blank">ben.stanley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hello Daniel,</p>
    <p>I attempted to upgrade my pulp installation using these
      instructions.</p>
    <p>I upgraded the pulp_installer as described.</p>
    <p>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.</p>
    <p>I have properly set my proxy environment variables (proxy,
      proxy_http, proxy_https and no_proxy) before attempting this
      procedure.<br>
    </p>
    <p>I ran the pulp_installer as:</p>
    <p>ansible-playbook pulp_install.yml -l honeybee</p>
    <p><much output removed></p>
    <p>TASK [pulp.pulp_installer.pulp_common : Install pulpcore via
      PyPI] *************<br>
      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"}<br>
      <br>
    </p>
    <p>It seems that the pulp_installer does not provide the proxy
      information to pip.</p>
    <p>When I run pip on the command line, it works.</p>
    <p> </p>
    <p style="margin-bottom:0cm;line-height:100%">
      <span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">[root@honeybee
          pulp_installation]# <b>/usr/local/lib/pulp/bin/pip install
            pulpcore==3.13.0</b></span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">Collecting
          pulpcore==3.13.0</span></span></p>
    <p><span style="font-size:8pt"><span style="font-family:Liberation Mono,monospace">...</span></span></p>
    <p><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">Attempting
          uninstall: pulpcore</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"> <span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">Found
          existing installation: pulpcore 3.12.2</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"> <span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">Uninstalling
          pulpcore-3.12.2:</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"> <span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">Successfully
          uninstalled pulpcore-3.12.2</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">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.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-2to3-migration
          0.11.0 requires pulpcore<3.13,>=3.6, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-rpm
          3.10.0 requires pulpcore<3.13,>=3.7, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-python
          3.2.0 requires pulpcore<3.13,>=3.9, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-deb
          2.11.1 requires pulpcore<3.13,>=3.10, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-container
          2.5.1 requires pulpcore<3.13,>=3.11, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">pulp-ansible
          0.7.2 requires pulpcore<3.13,>=3.10, but you have
          pulpcore
          3.13.0 which is incompatible.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">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</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">WARNING:
          You are using pip version 21.1.1; however, version 21.1.2 is
          available.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">You
          should consider upgrading via the
          '/usr/local/lib/pulp/bin/python3.6
          -m pip install --upgrade pip' command.</span></span></p>
    <p style="margin-bottom:0cm;line-height:100%"><span style="font-family:Liberation Mono,monospace"><span style="font-size:8pt">[root@honeybee
          pulp_installation]#</span></span></p>
    <p>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.</p>
    <p>Ben.<br>
    </p>
    <p><br>
    </p>
    <p>
      </p>
    <div>On 27/5/21 10:48 pm, Daniel Alley
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>
          <table cellpadding="0">
            <tbody>
              <tr>
                <td colspan="3">
                  <table cellpadding="0">
                    <tbody>
                      <tr>
                        <td>
                          <div id="gmail-m_4885113976543437478gmail-m_-3770306341536141958gmail-m_-5183480541738422786gmail-m_3978699898732226707gmail-:29x"><img src="https://mail.google.com/mail/u/0/images/cleardot.gif" alt=""></div>
                        </td>
                      </tr>
                    </tbody>
                  </table>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <div>
          <div id="gmail-m_4885113976543437478gmail-m_-3770306341536141958gmail-m_-5183480541738422786gmail-m_3978699898732226707gmail-:3eq">
            <div id="gmail-m_4885113976543437478gmail-m_-3770306341536141958gmail-m_-5183480541738422786gmail-m_3978699898732226707gmail-:3ep">
              <div dir="ltr">Pulpcore 3.13.0 [0] and pulp_installer
                3.13.0 [1] have been released.<br>
                <br>
                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].<br>
                <br>
                # Installation and Upgrade<br>
                <br>
                Users should use the 3.13.0 release of pulp_installer
                [1] to install or upgrade their installations. <br>
                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.<br>
                <br>
                The pulp_installer collection can be installed from
                Ansible Galaxy with the following command:<br>
                <br>
                    ansible-galaxy collection  install --force
                pulp.pulp_installer<br>
                <br>
                The --force flag will upgrade the collection if you had
                a previous version installed.<br>
                <br>
                # Plugin API<br>
                <br>
                Plugin writers can see the API changes here [6].<br>
                <br>
                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".<br>
                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.<br>
                <br>
                [0] <a href="https://pypi.org/project/pulpcore/3.13.0/" target="_blank">https://pypi.org/project/pulpcore/3.13.0/</a><br>
                [1] <a href="https://galaxy.ansible.com/pulp/pulp_installer" target="_blank">https://galaxy.ansible.com/pulp/pulp_installer</a><br>
                [2] <a href="https://pulpproject.org/2021/05/24/pulpcore-3.13-is-generally-available/" target="_blank">https://pulpproject.org/2021/05/24/pulpcore-3.13-is-generally-available/</a><br>
                <div>[3] <a href="https://docs.pulpproject.org/pulpcore/changes.html#id1" target="_blank">https://docs.pulpproject.org/pulpcore/changes.html#id1</a><br>
                  [4] <a href="https://pulp-installer.readthedocs.io/en/latest/CHANGES/#3130-2021-05-26" target="_blank">https://pulp-installer.readthedocs.io/en/latest/CHANGES/#3130-2021-05-26</a><br>
                  [5] <a href="https://docs.pulpproject.org/pulpcore/changes.html#plugin-api" target="_blank">https://docs.pulpproject.org/pulpcore/changes.html#plugin-api</a></div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
Pulp-list mailing list
<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-list" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-list</a></pre>
    </blockquote>
  </div>

_______________________________________________<br>
Pulp-list mailing list<br>
<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a><br>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-list</a></blockquote></div>
</blockquote>
</div>
</div>


</div><div dir="auto"><br></div>
</div></div>

</blockquote></div>
_______________________________________________<br>
Pulp-list mailing list<br>
<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a><br>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-list</a></blockquote></div>