Bug 1623093

Summary: Gnocchi 4.3 append '+nnone' when built inside a container
Product: Red Hat OpenStack Reporter: Filip Hubík <fhubik>
Component: gnocchiAssignee: Mehdi ABAAKOUK <mabaakou>
Status: CLOSED ERRATA QA Contact: Sasha Smolyak <ssmolyak>
Severity: high Docs Contact:
Priority: high    
Version: 14.0 (Rocky)CC: apevec, jjoyce, jschluet, lhh, mabaakou, mmagr, srevivo
Target Milestone: betaKeywords: Automation, AutomationBlocker, Triaged
Target Release: 14.0 (Rocky)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gnocchi-4.3.2-0.20180904144348.29b924e.el7ost Doc Type: No Doc Update
Doc Text:
-
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-11 11:51:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
/var/tmp/packstack/20180828-083245-bJxUSH/openstack-setup.log none

Description Filip Hubík 2018-08-28 13:04:31 UTC
Created attachment 1479250 [details]
/var/tmp/packstack/20180828-083245-bJxUSH/openstack-setup.log

Description of problem:

OSP14 deployment using packstack fails with error:

...
Preparing Aodh entries                               [ DONE ]
Preparing Puppet manifests                           [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 172.16.1.21_controller.pp

172.16.1.21_controller.pp:                        [ ERROR ]
Applying Puppet manifests                         [ ERROR ]

ERROR : Error appeared during Puppet run: 172.16.1.21_controller.pp
Notice: /Stage[main]/Gnocchi::Db::Sync/Exec[gnocchi-db-sync]/returns: ValueError: ("Expected ',' or end-of-list in", 'gnocchi==4.3.1.dev2+nnone', 'at', '+nnone')
You will find full trace in log /var/tmp/packstack/20180828-083245-bJxUSH/manifests/172.16.1.21_controller.pp.log
Please check log file /var/tmp/packstack/20180828-083245-bJxUSH/openstack-setup.log for more information
Additional information:
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * Warning: NetworkManager is active on 172.16.1.21. OpenStack networking currently does not work on systems that have the Network Manager service enabled.
 * File /root/keystonerc_admin has been created on OpenStack client host 172.16.1.21. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://172.16.1.21/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * Note temporary directory /var/tmp/packstack/4a217ba090904d3dbe1f46bace50cf35 on host 172.16.1.21 was not deleted for debugging purposes.

MSG:

non-zero return code


Also, from detailed log:

aio $ tail -n 300 /var/tmp/packstack/20180828-083245-bJxUSH/openstack-setup.log

...
======== END OF STDOUT ========
2018-08-28 08:53:16::DEBUG::sequences::52::root:: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 50, in run
    self.function(config, messages)
  File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 214, in apply_puppet_manifest
    wait_for_puppet(currently_running, messages)
  File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 128, in wait_for_puppet
    validate_logfile(log)
  File "/usr/lib/python2.7/site-packages/packstack/modules/puppet.py", line 107, in validate_logfile
    raise PuppetError(message)
PuppetError: Error appeared during Puppet run: 172.16.1.21_controller.pp
Notice: /Stage[main]/Gnocchi::Db::Sync/Exec[gnocchi-db-sync]/returns: ValueError: ("Expected ',' or end-of-list in", 'gnocchi==4.3.1.dev2+nnone', 'at', '+nnone')
You will find full trace in log /var/tmp/packstack/20180828-083245-bJxUSH/manifests/172.16.1.21_controller.pp.log

2018-08-28 08:53:16::ERROR::run_setup::1059::root:: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 1054, in main
    _main(options, confFile, logFile)
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 678, in _main
    runSequences()
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 645, in runSequences
    controller.runAllSequences()
  File "/usr/lib/python2.7/site-packages/packstack/installer/setup_controller.py", line 81, in runAllSequences
    sequence.run(config=self.CONF, messages=self.MESSAGES)
  File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 109, in run
    step.run(config=config, messages=messages)
  File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 50, in run
    self.function(config, messages)
  File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 214, in apply_puppet_manifest
    wait_for_puppet(currently_running, messages)
  File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 128, in wait_for_puppet
    validate_logfile(log)
  File "/usr/lib/python2.7/site-packages/packstack/modules/puppet.py", line 107, in validate_logfile
    raise PuppetError(message)
PuppetError: Error appeared during Puppet run: 172.16.1.21_controller.pp
Notice: /Stage[main]/Gnocchi::Db::Sync/Exec[gnocchi-db-sync]/returns: ValueError: ("Expected ',' or end-of-list in", 'gnocchi==4.3.1.dev2+nnone', 'at', '+nnone')
You will find full trace in log /var/tmp/packstack/20180828-083245-bJxUSH/manifests/172.16.1.21_controller.pp.log
...

Version-Release number of selected component (if applicable):
OSP14, packstack deployment, all in one, puddle 2018-08-28.2

How reproducible:
always

Steps to Reproduce:
1. Deploy OSP14 using InfraRed packstack plugin
2. Packstack stage fails

Additional info:
aio $ rpm -qa | grep packstack
openstack-packstack-13.0.0-0.20180802002056.73e0b07.el7ost.noarch
openstack-packstack-puppet-13.0.0-0.20180802002056.73e0b07.el7ost.noarch

Comment 3 Mehdi ABAAKOUK 2018-08-28 13:36:16 UTC
It's break because the Gnocchi package version contains "+nnone" 

Need to figure out why.

Comment 4 Mehdi ABAAKOUK 2018-08-28 13:39:11 UTC
Version number looks wrong in spec file.

%global dlrn_nvr gnocchi-4.3.1.dev2+nnone-0.20180808112157.711e51f
%global dlrn 1
%define upstream_version 4.3.1.dev2+nnone

I will look why dlrn generate this '+nnone'

Comment 5 Mehdi ABAAKOUK 2018-08-28 14:40:13 UTC
Looks like +nnone is generated by Gnocchi setup.py script but only in DLRN context.

DLRN have two of hacks to remove this +..., we could add one more.
Or better we can fix Gnocchi to never create the +XXXX part.

I will do the second solution.

Comment 6 Mehdi ABAAKOUK 2018-08-31 11:36:09 UTC
Last RDO DLRN build is fixed: 

https://trunk.rdoproject.org/centos7-rocky/76/8f/768fc724f00eb63e84db1e9ec7f95aec226f2f9a_e82c2227/rpmbuild.log

%global dlrn_nvr gnocchi-4.3.2.dev2-0.20180831100336.768fc72
%define upstream_version 4.3.2.dev2

Next RDO import will have the fixed spec

Comment 10 Filip Hubík 2018-09-12 12:20:42 UTC
I can not confirm this issue being fixed using gnocchi-4.3.2-0.20180831131143.768fc72.el7ost - I got several dependency errors running command (part of packstack deployment, puddle 2018-08-28.2):

$ gnocchi-upgrade --config-file /etc/gnocchi/gnocchi.conf

1) Traceback (most recent call last):
  File "/bin/gnocchi-upgrade", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pyparsing>=2.2.0

With python2-pyparsing-2.2.0-3.el7ost.noarch.rpm I get:

2)
Traceback (most recent call last):
  File "/bin/gnocchi-upgrade", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=30.3

$ rpm -qa | grep setuptools
python-setuptools-0.9.8-7.el7.noarch

Which is workaroundable with forced installation of pip and the newer setuptools into root system.                        

But with newer gnocchi packages from family of 4.3.2-0.20180904144348.29b924e packstack deployment passes without the issue described here,
with exception that python2-pyparsing-2.2.0-3.el7ost needs to be also pre-installed. Moving the fixed in version to gnocchi-4.3.2-0.20180904144348.29b924e then.

Newer puddle 2018-09-06.1 doesn't suffer from this issue and has never version included.

Comment 13 errata-xmlrpc 2019-01-11 11:51:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:0045