Uploaded image for project: 'IT: Release Engineering'
  1. IT: Release Engineering
  2. RELENG-4022

lftools fail in Jenkins jobs

Issue XMLXMLWordPrintable

      Jenkins jobs using lftools to create VMs are failing because of pyparsing dependency.
      There is an error message warning dependency incompatibility:

      17:30:29 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.
      17:30:29 httplib2 0.20.1 requires pyparsing<3,>=2.4.2, but you have pyparsing 3.0.1 which is incompatible.

      And lftools command fails because of missing attribute:

      17:30:33 + lftools openstack --os-cloud vex stack create sandbox-openflowplugin-csit-3node-clustering-only-silicon-1 csit-2-instance-type.yaml /w/workspace/openflowplugin-csit-3node-clustering-only-silicon/stack-parameters.yaml
      17:30:33 Traceback (most recent call last):
      17:30:33 File "/home/jenkins/.local/bin/lftools", line 5, in <module>
      17:30:33 from lftools.cli import main
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/lftools/cli/_init_.py", line 28, in <module>
      17:30:33 from lftools.cli.lfidapi import lfidapi
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/lftools/cli/lfidapi.py", line 16, in <module>
      17:30:33 from lftools.lfidapi import (
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/lftools/lfidapi.py", line 22, in <module>
      17:30:33 from lftools.oauth2_helper import oauth_helper
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/lftools/oauth2_helper.py", line 14, in <module>
      17:30:33 import httplib2
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/httplib2/_init_.py", line 52, in <module>
      17:30:33 from . import auth
      17:30:33 File "/home/jenkins/.local/lib/python3.6/site-packages/httplib2/auth.py", line 20, in <module>
      17:30:33 auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens)
      17:30:33 AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'
      17:30:33 Build step 'Execute shell' marked build as failure

      Adding following line to 'jjb/global-jjb/shell/python-tools-install.sh' under 'PINNED INDIRECT DEPENDENCIES' resolved issue for the Jenkins jobs in the sandbox:

      pyparsing<3.0.0 # httplib2 0.20.1 requires pyparsing<3,>=2.4.2

      But not sure this is the correct fix.

              askb Anil Belur
              askb Anil Belur
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: