RDO tickets are now tracked in Jira https://issues.redhat.com/projects/RDO/issues/
Bug 1193986 - Review Request: openstack-rally - Benchmark as a service for OpenStack
Summary: Review Request: openstack-rally - Benchmark as a service for OpenStack
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RDO
Classification: Community
Component: Package Review
Version: trunk
Hardware: All
OS: Linux
medium
medium
Target Milestone: GA
: trunk
Assignee: Haïkel Guémar
QA Contact: hguemar
URL:
Whiteboard:
Depends On: 1196366
Blocks: 1155128
TreeView+ depends on / blocked
 
Reported: 2015-02-18 17:00 UTC by Victoria Martinez de la Cruz
Modified: 2015-10-09 22:04 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-09-17 22:19:31 UTC
Embargoed:


Attachments (Terms of Use)

Description Victoria Martinez de la Cruz 2015-02-18 17:00:11 UTC
Spec URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally.spec
SRPM URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally-0.0.1-1.fc21.src.rpm
Description: Benchmark as a service for OpenStack
Fedora Account System Username: vkmc

Comment 1 Haïkel Guémar 2015-02-19 10:03:24 UTC
I'm taking care of the sponsorship process for Victoria.

@Victoria: when you'll have finished with your informal reviews (at least 2), please link them in this ticket. 
http://fedoraproject.org/PackageReviewStatus/NEW.html

Comment 2 Pranav Kant 2015-02-24 08:08:33 UTC
This is an unofficial review only.


Package Review
==============
 
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
 
Issues:
=======
- Package doesn't installs properly in my case.
- Package uses either %{buildroot} or $RPM_BUILD_ROOT
  Please be consistent with only one of them.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros
- Please use %license for your LICENSE file. This has changed rececntly.
  See: http://fedoraproject.org/wiki/Changes/Use_license_macro_in_RPMs_for_packages_in_Cloud_Image
- You are using too much asterisks in your description of the spec file.
  The description in your summary makes extensive use of asterisks. Please
  note that these are not translated to anything. So, IMHO, their use should
  be minimal in spec file.

===== MUST items =====
 
Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Licenses found:
     "Apache (v2.0)", "Unknown or generated", "*No copyright* Apache (v2.0)".
     21 files have unknown license.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[!]: Package consistently uses macros (instead of hard-coded directory names).
     I am not sure about this. But your spec file makes considerable use of
     hard-coded directory names. Though, I see no advantage of using macros in
     this case, so this might be ok.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[!]: Spec file is legible and written in American English.
     See Issues above.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %license.
     See Issues above.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
 
Python:
[?]: Binary eggs must be removed in %prep
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
 
===== SHOULD items =====
 
Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
     See Issues above. Wrapping words with asterisks (*) won't mark them for translation.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.
 
===== EXTRA items =====
 
Generic:
[!]: Rpmlint is run on all installed packages.
     Mock build failed in my case.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.
 
 
Installation errors
-------------------
INFO: mock.py version 1.2.6 starting (python version = 2.7.8)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled ccache
Mock Version: 1.2.6
INFO: Mock Version: 1.2.6
Finish: chroot init
INFO: installing package(s): /home/fedora/1193986-openstack-rally/results/openstack-rally-0.0.1-1.fc21.noarch.rpm
ERROR: Command failed. See logs for output.
 # /usr/bin/yum --installroot /var/lib/mock/fedora-21-x86_64/root/ --releasever 21 install /home/fedora/1193986-openstack-rally/results/openstack-rally-0.0.1-1.fc21.noarch.rpm --setopt=tsflags=nocontexts
 
 
Rpmlint
-------
Checking: openstack-rally-0.0.1-1.fc21.noarch.rpm
          openstack-rally-0.0.1-1.fc21.src.rpm
openstack-rally.noarch: W: non-conffile-in-etc /etc/bash_completion.d/rally.bash_completion
openstack-rally.noarch: W: no-manual-page-for-binary rally-manage
openstack-rally.noarch: W: no-manual-page-for-binary rally
openstack-rally.noarch: W: no-manual-page-for-binary rally-api
openstack-rally.noarch: W: dangerous-command-in-%post chmod
2 packages and 0 specfiles checked; 0 errors, 5 warnings.
 
 
 
 
Requires
--------
openstack-rally (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/python2
    python(abi)
    python-babel
    python-decorator
    python-fixtures
    python-iso8601
    python-jinja2
    python-jsonschema
    python-netaddr
    python-openstack-ceilometerclient
    python-openstack-cinderclient
    python-openstack-designateclient
    python-openstack-glanceclient
    python-openstack-heatclient
    python-openstack-ironicclient
    python-openstack-keystoneclient
    python-openstack-neutronclient
    python-openstack-novaclient
    python-openstack-saharaclient
    python-openstack-troveclient
    python-openstack-zaqarclient
    python-oslo-config
    python-oslo-db
    python-oslo-i18n
    python-oslo-serialization
    python-oslo-utils
    python-paramiko
    python-pecan
    python-prettytable
    python-psycopg2
    python-pyyaml
    python-requests
    python-six
    python-sphinx
    python-sqlalchemy
    python-subunit
    python-wsme
 
 
 
Provides
--------
openstack-rally:
    openstack-rally
 
Looks OK.
 
Source checksums
----------------
http://tarballs.openstack.org/rally/rally-0.0.1.tar.gz :
  CHECKSUM(SHA256) this package     : a5eec9c78121d64c320e73036f353c2609e532698f35e1d54f4b0f1624d19e43
  CHECKSUM(SHA256) upstream package : a5eec9c78121d64c320e73036f353c2609e532698f35e1d54f4b0f1624d19e43

Comment 3 Victoria Martinez de la Cruz 2015-02-25 16:28:43 UTC
(In reply to Pranav Kant from comment #2)
> This is an unofficial review only.
> 
> 
> Package Review
> ==============
>  
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
>  
> Issues:
> =======
> - Package doesn't installs properly in my case.
> - Package uses either %{buildroot} or $RPM_BUILD_ROOT
>   Please be consistent with only one of them.
>   See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros
> - Please use %license for your LICENSE file. This has changed rececntly.
>   See:
> http://fedoraproject.org/wiki/Changes/
> Use_license_macro_in_RPMs_for_packages_in_Cloud_Image
> - You are using too much asterisks in your description of the spec file.
>   The description in your summary makes extensive use of asterisks. Please
>   note that these are not translated to anything. So, IMHO, their use should
>   be minimal in spec file.
> 
> ===== MUST items =====
>  
> Generic:
> [x]: Package is licensed with an open-source compatible license and meets
>      other legal requirements as defined in the legal section of Packaging
>      Guidelines.
> [x]: License field in the package spec file matches the actual license.
>      Note: Licenses found:
>      "Apache (v2.0)", "Unknown or generated", "*No copyright* Apache (v2.0)".
>      21 files have unknown license.
> [x]: Package contains no bundled libraries without FPC exception.
> [x]: Changelog in prescribed format.
> [x]: Sources contain only permissible code or content.
> [-]: Package contains desktop file if it is a GUI application.
> [-]: Development files must be in a -devel package
> [x]: Package uses nothing in %doc for runtime.
> [!]: Package consistently uses macros (instead of hard-coded directory
> names).
>      I am not sure about this. But your spec file makes considerable use of
>      hard-coded directory names. Though, I see no advantage of using macros
> in
>      this case, so this might be ok.
> [x]: Package is named according to the Package Naming Guidelines.
> [x]: Package does not generate any conflict.
> [x]: Package obeys FHS, except libexecdir and /usr/target.
> [x]: If the package is a rename of another package, proper Obsoletes and
>      Provides are present.
> [x]: Requires correct, justified where necessary.
> [!]: Spec file is legible and written in American English.
>      See Issues above.
> [-]: Package contains systemd file(s) if in need.
> [x]: Package is not known to require an ExcludeArch tag.
> [-]: Large documentation must go in a -doc subpackage. Large could be size
>      (~1MB) or number of files.
> [x]: Packages must not store files under /srv, /opt or /usr/local
> [x]: Package complies to the Packaging Guidelines
> [x]: Package successfully compiles and builds into binary rpms on at least
> one
>      supported primary architecture.
> [x]: Rpmlint is run on all rpms the build produces.
>      Note: There are rpmlint messages (see attachment).
> [x]: If (and only if) the source package includes the text of the license(s)
>      in its own file, then that file, containing the text of the license(s)
>      for the package is included in %license.
>      See Issues above.
> [x]: Package requires other packages for directories it uses.
> [x]: Package must own all directories that it creates.
> [x]: Package does not own files or directories owned by other packages.
> [x]: All build dependencies are listed in BuildRequires, except for any that
>      are listed in the exceptions section of Packaging Guidelines.
> [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
>      beginning of %install.
> [x]: Macros in Summary, %description expandable at SRPM build time.
> [x]: Package does not contain duplicates in %files.
> [x]: Permissions on files are set properly.
> [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
>      work.
> [x]: Package is named using only allowed ASCII characters.
> [x]: Package do not use a name that already exist
> [x]: Package is not relocatable.
> [x]: Sources used to build the package match the upstream source, as provided
>      in the spec URL.
> [x]: Spec file name must match the spec package %{name}, in the format
>      %{name}.spec.
> [x]: File names are valid UTF-8.
>  
> Python:
> [?]: Binary eggs must be removed in %prep
> [x]: Python eggs must not download any dependencies during the build process.
> [x]: A package which is used by another package via an egg interface should
>      provide egg info.
> [x]: Package meets the Packaging Guidelines::Python
> [x]: Package contains BR: python2-devel or python3-devel
>  
> ===== SHOULD items =====
>  
> Generic:
> [-]: If the source package does not include license text(s) as a separate
> file
>      from upstream, the packager SHOULD query upstream to include it.
> [x]: Final provides and requires are sane (see attachments).
> [x]: Package functions as described.
> [x]: Latest version is packaged.
> [x]: Package does not include license text files separate from upstream.
> [!]: Description and summary sections in the package spec file contains
>      translations for supported Non-English languages, if available.
>      See Issues above. Wrapping words with asterisks (*) won't mark them for
> translation.
> [x]: Package should compile and build into binary rpms on all supported
>      architectures.
> [?]: %check is present and all tests pass.
> [x]: Packages should try to preserve timestamps of original installed files.
> [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
> [x]: Sources can be downloaded from URI in Source: tag
> [x]: Reviewer should test that the package builds in mock.
> [x]: Buildroot is not present
> [x]: Package has no %clean section with rm -rf %{buildroot} (or
>      $RPM_BUILD_ROOT)
> [x]: Dist tag is present (not strictly required in GL).
> [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
> [x]: SourceX is a working URL.
> [x]: Spec use %global instead of %define unless justified.
>  
> ===== EXTRA items =====
>  
> Generic:
> [!]: Rpmlint is run on all installed packages.
>      Mock build failed in my case.
> [x]: Large data in /usr/share should live in a noarch subpackage if package
> is
>      arched.
> [x]: Spec file according to URL is the same as in SRPM.
>  
>  
> Installation errors
> -------------------
> INFO: mock.py version 1.2.6 starting (python version = 2.7.8)...
> Start: init plugins
> INFO: selinux enabled
> Finish: init plugins
> Start: run
> Start: chroot init
> INFO: calling preinit hooks
> INFO: enabled root cache
> INFO: enabled yum cache
> Start: cleaning yum metadata
> Finish: cleaning yum metadata
> INFO: enabled ccache
> Mock Version: 1.2.6
> INFO: Mock Version: 1.2.6
> Finish: chroot init
> INFO: installing package(s):
> /home/fedora/1193986-openstack-rally/results/openstack-rally-0.0.1-1.fc21.
> noarch.rpm
> ERROR: Command failed. See logs for output.
>  # /usr/bin/yum --installroot /var/lib/mock/fedora-21-x86_64/root/
> --releasever 21 install
> /home/fedora/1193986-openstack-rally/results/openstack-rally-0.0.1-1.fc21.
> noarch.rpm --setopt=tsflags=nocontexts
>  
>  
> Rpmlint
> -------
> Checking: openstack-rally-0.0.1-1.fc21.noarch.rpm
>           openstack-rally-0.0.1-1.fc21.src.rpm
> openstack-rally.noarch: W: non-conffile-in-etc
> /etc/bash_completion.d/rally.bash_completion
> openstack-rally.noarch: W: no-manual-page-for-binary rally-manage
> openstack-rally.noarch: W: no-manual-page-for-binary rally
> openstack-rally.noarch: W: no-manual-page-for-binary rally-api
> openstack-rally.noarch: W: dangerous-command-in-%post chmod
> 2 packages and 0 specfiles checked; 0 errors, 5 warnings.
>  
>  
>  
>  
> Requires
> --------
> openstack-rally (rpmlib, GLIBC filtered):
>     /bin/sh
>     /usr/bin/python2
>     python(abi)
>     python-babel
>     python-decorator
>     python-fixtures
>     python-iso8601
>     python-jinja2
>     python-jsonschema
>     python-netaddr
>     python-openstack-ceilometerclient
>     python-openstack-cinderclient
>     python-openstack-designateclient
>     python-openstack-glanceclient
>     python-openstack-heatclient
>     python-openstack-ironicclient
>     python-openstack-keystoneclient
>     python-openstack-neutronclient
>     python-openstack-novaclient
>     python-openstack-saharaclient
>     python-openstack-troveclient
>     python-openstack-zaqarclient
>     python-oslo-config
>     python-oslo-db
>     python-oslo-i18n
>     python-oslo-serialization
>     python-oslo-utils
>     python-paramiko
>     python-pecan
>     python-prettytable
>     python-psycopg2
>     python-pyyaml
>     python-requests
>     python-six
>     python-sphinx
>     python-sqlalchemy
>     python-subunit
>     python-wsme
>  
>  
>  
> Provides
> --------
> openstack-rally:
>     openstack-rally
>  
> Looks OK.
>  
> Source checksums
> ----------------
> http://tarballs.openstack.org/rally/rally-0.0.1.tar.gz :
>   CHECKSUM(SHA256) this package     :
> a5eec9c78121d64c320e73036f353c2609e532698f35e1d54f4b0f1624d19e43
>   CHECKSUM(SHA256) upstream package :
> a5eec9c78121d64c320e73036f353c2609e532698f35e1d54f4b0f1624d19e43

Thanks for the review! I fixed the issues you pointed out. Running mock -r fedora-rawhide-x86_64 openstack-rally-0.0.1-1.fc21.src.rpm and mock -r fedora-21-x86_64 openstack-rally-0.0.1-1.fc21.src.rpm successfully. How did you run mock?

Comment 4 Victoria Martinez de la Cruz 2015-02-25 16:31:03 UTC
(In reply to Haïkel Guémar from comment #1)
> I'm taking care of the sponsorship process for Victoria.
> 
> @Victoria: when you'll have finished with your informal reviews (at least
> 2), please link them in this ticket. 
> http://fedoraproject.org/PackageReviewStatus/NEW.html

Thanks Haïkel!

https://bugzilla.redhat.com/show_bug.cgi?id=1195835
https://bugzilla.redhat.com/show_bug.cgi?id=1195573

Comment 5 Pranav Kant 2015-02-25 16:31:03 UTC
I didn't run mock separately. It was done under fedora-review tool

Comment 6 Victoria Martinez de la Cruz 2015-02-25 20:01:31 UTC
(In reply to Pranav Kant from comment #5)
> I didn't run mock separately. It was done under fedora-review tool

You are right... apparently there are some missing requirements. Precisely, python-designateclient. I'll take a look, thanks!

Comment 7 Alan Pevec (Fedora) 2015-05-13 07:52:47 UTC
python-designateclient is now in Rawhide, is there anything else missing?

Comment 8 Victoria Martinez de la Cruz 2015-05-13 07:59:28 UTC
No, I'll submit the build for openstack-rally soon.

Comment 9 Victoria Martinez de la Cruz 2015-05-13 13:27:24 UTC
Spec URL: https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally.spec
SRPM URL: https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally-0.0.1-1.fc21.src.rpm
Description: Benchmark as a service for OpenStack
Fedora Account System Username: vkmc

Comment 10 Steve Linabery 2015-09-11 13:52:06 UTC
(In reply to Victoria Martinez de la Cruz from comment #9)
> Spec URL:
> https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally.spec
> SRPM URL:
> https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally-0.0.1-1.
> fc21.src.rpm
> Description: Benchmark as a service for OpenStack
> Fedora Account System Username: vkmc

Any objection to updating this to use 0.0.4, latest rally release?

I published a 0.0.4 tarball here https://slinabery.fedorapeople.org/rally-0.0.4.tar.gz in the hopes of getting this into delorean asap.

Comment 11 Steve Linabery 2015-09-11 14:19:41 UTC
(In reply to Steve Linabery from comment #10)
> (In reply to Victoria Martinez de la Cruz from comment #9)
> > Spec URL:
> > https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally.spec
> > SRPM URL:
> > https://vkmc.fedorapeople.org/openstack_rally-0.0.1/openstack-rally-0.0.1-1.
> > fc21.src.rpm
> > Description: Benchmark as a service for OpenStack
> > Fedora Account System Username: vkmc
> 
> Any objection to updating this to use 0.0.4, latest rally release?
> 
> I published a 0.0.4 tarball here
> https://slinabery.fedorapeople.org/rally-0.0.4.tar.gz in the hopes of
> getting this into delorean asap.

sorry, for clarity: I meant 'RDO' not 'delorean'.

Comment 12 Steve Linabery 2015-09-11 15:16:38 UTC
I see there's no reason to create a separate tarball; the Source0 tarball already has the PKG-INFO (when you grab it from github from the 0.0.4 tag, that's missing).

I edited the spec and successfully built it with mock. In case this helps here it is:
https://slinabery.fedorapeople.org/openstack-rally.spec

Comment 13 Victoria Martinez de la Cruz 2015-09-11 19:29:10 UTC
Thanks Steve!

I could build the SRPM using your SPEC. Works as expected!

SPEC: https://vkmc.fedorapeople.org/openstack_rally-0.0.4/openstack-rally.spec
SRPM: https://vkmc.fedorapeople.org/openstack_rally-0.0.4/openstack-rally-0.0.4-1.fc22.src.rpm

Comment 14 Haïkel Guémar 2015-09-11 19:46:43 UTC
Missing Requires:
* bash-completion (you install a file in directory owned by this package)
* python-boto

Missing min versions (known as necessary):
* python-six
* python-requires
* python-oslo-* preferably
Others are not necessary, and most of these deps works fine even if slightly older than specified in requirements,txt

rdopkg reqcheck could help you :)
https://www.rdoproject.org/packaging/rdopkg/rdopkg-adv-requirements.7.html

* Source0: use preferably pypi

* Avoid %{version} in %files to reduce gap with delorean packages


needinfo me when it's ready.

Comment 15 Jens Lody 2015-09-11 21:24:38 UTC
(In reply to Haïkel Guémar from comment #14)
> Missing Requires:
> * bash-completion (you install a file in directory owned by this package)

bash-completion is an example, where this is not needed, see the following snippet from https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Ownership

<snip>
Another example:

bash-completion owns the /etc/bash_completion.d directory and uses the files placed there to configure itself.
git places files into /etc/bash_completion.d
bzr places files into /etc/bash_completion.d

Solution: Both the git and bzr packages should own the /etc/bash_completion.d directory as bash-completion is optional functionality and the installation of git or bzr should not force the installation of bash-completion. 
</snip>

Comment 16 Steve Linabery 2015-09-14 17:22:01 UTC
I updated my versions of the spec and srpm to help this effort along:
https://slinabery.fedorapeople.org/openstack-rally.spec
https://slinabery.fedorapeople.org/openstack-rally-0.0.4-1.fc20.src.rpm

Haikel, I think you meant python-requests. Correct me if I'm wrong.

Victoria, I think these are the changes recommended in #14, if you agree please update the canonical spec/srpm for this review. Thanks!

Comment 17 Haïkel Guémar 2015-09-14 18:10:27 UTC
@Jens You're right about it, forgot about this guideline :)

@Steve: yes, I must have been tired when I typed, Before you import the package, I request you to do these changes:
* dropping the requirements on bash-completion as explained in #15
* sed -i 's/pyyaml/PyYAML/g' on spec as there's no pyyaml package and rally installs/runs fine after this change.
* move %{_prefix}%{_sysconfdir}/bash_completion.d/rally.bash_completion to %{_sysconfdir}/bash_completion.d/rally.bash_completion

These are the last mile before approval :)

Comment 18 Steve Linabery 2015-09-16 18:21:29 UTC
(In reply to Haïkel Guémar from comment #17)
> @Jens You're right about it, forgot about this guideline :)
> 
> @Steve: yes, I must have been tired when I typed, Before you import the
> package, I request you to do these changes:
> * dropping the requirements on bash-completion as explained in #15
> * sed -i 's/pyyaml/PyYAML/g' on spec as there's no pyyaml package and rally
> installs/runs fine after this change.
> * move %{_prefix}%{_sysconfdir}/bash_completion.d/rally.bash_completion to
> %{_sysconfdir}/bash_completion.d/rally.bash_completion
> 
> These are the last mile before approval :)

that %{_prefix}%{_sysconfdir}/bash_completion.d/rally.bash_completion is in there because that's where setup.py drops that file. from build log:

copying etc/rally.bash_completion -> /builddir/build/BUILDROOT/openstack-rally-0.0.4-1.fc24.x86_64/usr/etc/bash_completion.d

/me shrugs.

I can add a build step to move it to the suggested location. Please advise.

In the interim I made the other two changes here:
https://slinabery.fedorapeople.org/openstack-rally.spec
https://slinabery.fedorapeople.org/openstack-rally-0.0.4-1.fc20.src.rpm

Comment 19 Steve Linabery 2015-09-16 18:49:12 UTC
I'm inclined to leave that rally.bash_completion file in /usr/etc/bash_completion.d

rpmlint complains about it a little when I put it in /etc/bash_completion.d, I think possibly because it has a setbang line:
openstack-rally.noarch: W: non-conffile-in-etc /etc/bash_completion.d/rally.bash_completion

Comment 20 Steve Linabery 2015-09-16 19:37:36 UTC
Updated to move the file to /etc/bash_completion.d

Please see updated spec/srpm:
https://slinabery.fedorapeople.org/openstack-rally.spec
https://slinabery.fedorapeople.org/openstack-rally-0.0.4-1.fc20.src.rpm

Comment 21 Alan Pevec 2015-09-16 20:32:59 UTC
> rpmlint complains about it a little when I put it in /etc/bash_completion.d,
> I think possibly because it has a setbang line:
> openstack-rally.noarch: W: non-conffile-in-etc
> /etc/bash_completion.d/rally.bash_completion

It's b/c it's not %config in %file but we'll just ignore that rpmlint warning.

Comment 22 Victoria Martinez de la Cruz 2015-09-16 20:45:52 UTC
Updated the canonical spec/srpm for this review

Spec URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally.spec
SRPM URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally-0.0.4-1.fc22.src.rpm

Comment 23 hguemar 2015-09-17 14:10:17 UTC
Please add the following requires that are missing: python-oslo-i18n and python-oslog-log.

I tested with delorean repo, and rally ran fine. we just need to update some clients in rawhide.

Next step is publishing revised spec + srpm, and it should done.

Comment 24 Victoria Martinez de la Cruz 2015-09-17 15:46:44 UTC
Added python-oslo-log require. python-oslo-i18n was already in the spec.

Spec URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally.spec
SRPM URL: http://vmartinezdelacruz.com/rpms/openstack-rally/openstack-rally-0.0.4-1.fc22.src.rpm

Comment 25 hguemar 2015-09-17 22:19:31 UTC
Thanks Victoria, this is approved :)

As we're still refining the process, I'll take care of importing this package.

Comment 26 Rohan Kanade 2015-09-18 06:20:08 UTC
How often is this package rebased with upstream? I have added a patch so rally will be able to run Tempest (cmd: "rally verify start") without requiring virtual environment.

This patch is essential for running rally verify command without pip.

patch: https://review.openstack.org/#/c/220414/

Comment 27 Victoria Martinez de la Cruz 2015-09-18 19:25:49 UTC
@Rohan Rally is branchless, so probably we won't be rebasing it frequently. Although, if you consider that the patch is critical then we should add it.

Comment 28 hguemar 2015-09-18 20:55:46 UTC
(Posting formal review report)

I hereby approve this package since it complies with RDO packaging guidelines,

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Unknown or generated". 6 files have unknown
     license. Detailed output of licensecheck in /home/haikel/1193986
     -openstack-rally/licensecheck.txt
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build
     process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: openstack-rally-0.0.4-1.fc24.noarch.rpm
          openstack-rally-0.0.4-1.fc24.src.rpm
openstack-rally.noarch: W: spelling-error Summary(en_US) Benchmarking -> Bench marking, Bench-marking, Benchmark
openstack-rally.noarch: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
openstack-rally.noarch: W: no-documentation
openstack-rally.noarch: W: non-conffile-in-etc /etc/bash_completion.d/rally.bash_completion
openstack-rally.noarch: W: no-manual-page-for-binary rally-manage
openstack-rally.noarch: W: no-manual-page-for-binary rally
openstack-rally.noarch: W: dangerous-command-in-%post chmod
openstack-rally.src: W: spelling-error Summary(en_US) Benchmarking -> Bench marking, Bench-marking, Benchmark
openstack-rally.src: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
2 packages and 0 specfiles checked; 0 errors, 9 warnings.




Rpmlint (installed packages)
----------------------------
openstack-rally.noarch: W: no-documentation
openstack-rally.noarch: W: non-conffile-in-etc /etc/bash_completion.d/rally.bash_completion
openstack-rally.noarch: W: no-manual-page-for-binary rally-manage
openstack-rally.noarch: W: no-manual-page-for-binary rally
openstack-rally.noarch: W: dangerous-command-in-%post chmod
1 packages and 0 specfiles checked; 0 errors, 5 warnings.



Requires
--------
openstack-rally (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/python2
    PyYAML
    python(abi)
    python-babel
    python-boto
    python-ceilometerclient
    python-cinderclient
    python-decorator
    python-designateclient
    python-fixtures
    python-glanceclient
    python-heatclient
    python-ironicclient
    python-iso8601
    python-jinja2
    python-jsonschema
    python-keystoneclient
    python-netaddr
    python-neutronclient
    python-novaclient
    python-oslo-config
    python-oslo-db
    python-oslo-i18n
    python-oslo-serialization
    python-oslo-utils
    python-paramiko
    python-pecan
    python-prettytable
    python-psycopg2
    python-requests
    python-saharaclient
    python-six
    python-sphinx
    python-sqlalchemy
    python-subunit
    python-troveclient
    python-wsme
    python-zaqarclient



Provides
--------
openstack-rally:
    openstack-rally



Source checksums
----------------
https://pypi.python.org/packages/source/r/rally/rally-0.0.4.tar.gz :
  CHECKSUM(SHA256) this package     : 24302f9cfbd7dc2fea9a1ec84fafcc34cd061dbd21a34c0e403a953b99792d43
  CHECKSUM(SHA256) upstream package : 24302f9cfbd7dc2fea9a1ec84fafcc34cd061dbd21a34c0e403a953b99792d43


Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04
Command line :/usr/bin/fedora-review -b 1193986 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 29 hguemar 2015-09-18 20:59:04 UTC
@Rohan : this will be added in delorean, so every commit in upstream master branch will be built into packages. So Delorean package of Rally will be what you want to use.

We do not ship patches in RDO stable packages unless there's a good reason (it needs a ticket and been reviewed by the packaging team).

Comment 30 Rohan Kanade 2015-09-21 06:03:42 UTC
@Victoria, Please help me get this patch in RDO "openstack-rally" package. The patch is very essential as explained in comment 26.

patch: https://review.openstack.org/#/c/220414/

Comment 31 Rohan Kanade 2015-10-05 11:37:04 UTC
Victoria,

Any updates on comment 30?


Note You need to log in before you can comment on or make changes to this bug.