Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-6405

Pip package provider runs every time when updating setuptools

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: PUP 3.8.7, PUP 4.10.1
    • Fix Version/s: PUP 5.1.0
    • Component/s: Types and Providers
    • Labels:
      None
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      The Pip package provider's ensure=latest is now done with pip, so it can be done with custom PyPI repositories.
    • QA Risk Assessment:
      Manual

      Description

      Similar to PUP-6120, I see a problem with 'setuptools' (which also doesn't show up in pip output). The current workaround seems kind of cumbersome. While this is with 3.8.7, I imagine the setuptools problem might be reproducible in newer puppet.

      How common is pip < 1.2.2? Seems like "pip freeze --all" would also work, but appears to also not be implemented in 1.0.x.

      Maybe pip could just update itself first (or require a minimum version), then use 'pip list' or 'pip freeze --all' for determining versions of everything else? Or determine pip version first, then add the '--all' flag in cases where it's supported? Then at least it would "see" pip and setuptools if the version of pip is recent enough.

      This is with older Puppet (3.8) without the fix for 6120, but same

      Debug: Executing '/bin/pip freeze'
      Debug: Executing '/bin/pip install -q --upgrade setuptools'
      Notice: /Stage[main]/Role::Dp/Package[setuptools]/ensure: created
      

        package { 'pip':
                    ensure   => latest,
                    install_options => '--upgrade',
                    provider => 'pip' } ->
        package { 'setuptools':
                    ensure   => latest,
                    install_options => '--upgrade',
                    provider => 'pip' } ->
      

      # pip --version
      pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
      # pip freeze | grep ^setuptools
      # pip freeze --all | grep ^setuptools
      setuptools==23.0.0
      # pip list | grep ^setuptools
      setuptools (23.0.0)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                will47 William Yardley
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support