Bug 1406909

Summary: Review request: python-scciclient - Ironic plugin driver
Product: [Community] RDO Reporter: hokado
Component: Package ReviewAssignee: Javier Peña <jpena>
Status: CLOSED NEXTRELEASE QA Contact: hguemar
Severity: high Docs Contact:
Priority: unspecified    
Version: trunkCC: apevec, dtantsur, fj-lsoft-ofuku, hguemar, hokado, jpena, karlthered, ksanagi, tvignaud
Target Milestone: Milestone2Flags: jpena: rdo-review+
Target Release: trunk   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-31 21:28:37 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:
Bug Depends On:    
Bug Blocks: 1427510, 1442340    
Attachments:
Description Flags
spec file of python-scciclient-0.3.0-1.el7ost.src.rpm
none
srpm
none
spec file 2
none
spec file 2
none
srpm 2
none
spec v3
none
srpm v3
none
spec v4
none
srpm v4
none
spec v5
none
srpm v5 none

Description hokado 2016-12-21 19:50:06 UTC
Created attachment 1234474 [details]
spec file of python-scciclient-0.3.0-1.el7ost.src.rpm

python-scciclient is a library package required by the Ironic plugin
driver for Fujitsu's server management unit (iRMC).

This package has been already included in RH-OSP product since RH-OSP7.
However, this package isn't included in RHO yet.
In case of RH-OSP10:
  python-scciclient-0.3.0-1.el7ost.noarch.rpm
  python-scciclient-0.3.0-1.el7ost.src.rpm

Source code;
  https://github.com/openstack/python-scciclient

PyPI:
  https://pypi.python.org/pypi/python-scciclient


Fujitsu would like to upgrade the package on RH-OSP11, and we have 
already requested it with FEAT.

  Bug 1393260
  [FJ OSP11.0 FEAT]: Update the python-scciclient package for RHOSP11
  https://bugzilla.redhat.com/show_bug.cgi?id=1393260


I was recommended from Red Hat engineer that I should contribute the 
package to RDO before the upgrading. 
So could you review it and add python-scciclient-0.3.0-1 (current version) 
into RDO?


Hiroaki Okado

Comment 1 hokado 2017-01-11 22:17:02 UTC
Created attachment 1239634 [details]
srpm

Comment 2 hokado 2017-01-11 22:22:29 UTC
Hi,

Could you review them for including in RDO?
Do you have any comment?

Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=1234474
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=1239634
Description: Python ServerView Common Command Interface (SCCI) Client Library

rdoinfo review:
  https://review.rdoproject.org/r/#/c/4283/


Hiroaki Okado

Comment 3 Haïkel Guémar 2017-01-13 17:43:46 UTC
fedora-review needs spec and SRPM direct URLs for automated reviews.
Quick feedback:
- Drop Group tag, it's unused.
- Source0 URL is not working, use pypi.io instead of pypi.python.org
- Drop %clean and %defattr, they're not required anymore

Comment 4 hokado 2017-01-16 20:27:35 UTC
Created attachment 1241399 [details]
spec file 2

Comment 5 hokado 2017-01-16 20:39:13 UTC
Created attachment 1241402 [details]
spec file 2

Comment 6 hokado 2017-01-16 20:39:47 UTC
Created attachment 1241403 [details]
srpm 2

Comment 7 hokado 2017-01-16 20:42:13 UTC
Hi Haïkel, 

Thank you for your review and comments. 
I updated the file. Could you review it again?

Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=1241402
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=1241403
Description: Python ServerView Common Command Interface (SCCI) Client Library

Warm regards, 
Hiroaki Okado

Comment 8 hokado 2017-01-31 15:55:08 UTC
Hi Haïkel, 

Could you review it again?
Do you have any comment?

Comment 9 hokado 2017-02-24 15:01:59 UTC
Hi Haïkel, 

Could you review it again?

Comment 10 Koki Sanagi 2017-03-31 03:31:04 UTC
Hi Haikel,

Could you review comment 7 ?

Koki

Comment 11 Koki Sanagi 2017-04-19 19:43:31 UTC
Created attachment 1272709 [details]
spec v3

Comment 12 Koki Sanagi 2017-04-19 19:43:59 UTC
Created attachment 1272710 [details]
srpm v3

Comment 13 Koki Sanagi 2017-04-19 19:50:21 UTC
Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=1272709
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=1272710
Description: Python ServerView Common Command Interface (SCCI) Client Library

I revised the spec file for pike. Could you review this ?
Plus, I submitted patch for rdoinfo. would you also review it ?
https://review.rdoproject.org/r/#/c/4283/

Koki

Comment 14 Haïkel Guémar 2017-04-27 08:13:31 UTC
I'll put this review on my immediate todo.

Comment 15 Alan Pevec 2017-04-27 09:33:32 UTC
Looking at the git history of openstack/python-scciclient I wonder if stable branches are actually maintained? They are not branched from a tag and after branching they received only automatic global-requirements syncs.
python-scciclient is not listed in python-scciclient i.e. it's a "bigtent" project so I'd like to clarify what is its release and stable maintenance policy?

Comment 16 Haïkel Guémar 2017-04-27 12:43:01 UTC
Until, this is sorted, many points to fix:
* Source0 URL is not correct, please use pypi.io instead.
* No python3 subpackage.
* Missing oslo.serialization as Requires, oslo.utils as BR.

Comment 17 Koki Sanagi 2017-04-27 15:46:25 UTC
Hi Haikel,Alan,

Let me ask a quick question.
I assume the pypi.io address would be like this.

https://pypi.io/packages/source/s/scciclient/scciclient-0.3.1.tar.gz

But it doesn't work. Then I use tarballs.openstack.org.
Does it need any procedure or simply is it wrong URL ?

Alan, give me a few days about stable branch policy. I'll ask the maintainer.

Koki

Comment 18 Haïkel Guémar 2017-05-01 17:46:29 UTC
You can use tarballs.openstack.org, actually, it's better for openstack software.

Comment 19 Koki Sanagi 2017-05-01 22:03:44 UTC
Alan,

I got a response from our engineer.
python-scciclient is not big project, so it does not have frequent updates.
But it is always maintained because this library is releated with our Server
Product.
Regarding branch, they decided to branch it from relatively new commit wchich
is tagged with version since stable/pike.
I hope this makes sense to you.

Koki

Comment 20 Koki Sanagi 2017-05-01 22:04:17 UTC
Created attachment 1275481 [details]
spec v4

Comment 21 Koki Sanagi 2017-05-01 22:04:41 UTC
Created attachment 1275482 [details]
srpm v4

Comment 22 Koki Sanagi 2017-05-01 22:06:38 UTC
Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=1275481
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=1275482
Description: Python ServerView Common Command Interface (SCCI) Client Library

I keep source0 as tarballs.opensack.org.
I added python3 subpackage.(It is coupled with if macro along with other distgits)
I added oslo.serializaion and oslo.utils.

Comment 23 Koki Sanagi 2017-05-06 21:28:37 UTC
Created attachment 1276798 [details]
spec v5

Comment 24 Koki Sanagi 2017-05-06 21:29:16 UTC
Created attachment 1276799 [details]
srpm v5

Comment 25 Koki Sanagi 2017-05-06 21:31:32 UTC
Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=1276798
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=1276799
Description: Python ServerView Common Command Interface (SCCI) Client Library

I modified it to work with_python3 properly.

Comment 26 Koki Sanagi 2017-05-18 15:59:10 UTC
Hi Alan,

Could you review it ?
We need to finish this task by 6/5(Pike2).

Comment 27 Alan Pevec 2017-05-25 00:30:53 UTC
$ licensecheck ./python-scciclient 
./python-scciclient/.coveragerc: *No copyright* UNKNOWN
./python-scciclient/.gitreview: *No copyright* UNKNOWN
./python-scciclient/.mailmap: *No copyright* UNKNOWN
./python-scciclient/.testr.conf: *No copyright* UNKNOWN
./python-scciclient/CONTRIBUTING.rst: *No copyright* UNKNOWN
./python-scciclient/HACKING.rst: *No copyright* UNKNOWN
./python-scciclient/LICENSE: *No copyright* Apache (v2.0)
./python-scciclient/MANIFEST.in: *No copyright* UNKNOWN
./python-scciclient/README.rst: *No copyright* UNKNOWN
./python-scciclient/babel.cfg: *No copyright* UNKNOWN
./python-scciclient/openstack-common.conf: *No copyright* UNKNOWN
./python-scciclient/requirements.txt: *No copyright* UNKNOWN
./python-scciclient/setup.cfg: *No copyright* Apache
./python-scciclient/setup.py: Apache (v2.0) GENERATED FILE
./python-scciclient/test-requirements.txt: *No copyright* UNKNOWN
./python-scciclient/tox.ini: *No copyright* UNKNOWN

License is ASL 2.0, we can proceed with rdoinfo review and project creation
(step 2 in https://www.rdoproject.org/documentation/rdo-packaging/#how-to-add-a-new-package-to-rdo-trunk )

Comment 28 Koki Sanagi 2017-05-25 16:53:10 UTC
Hi Alan,

Thank you for the review.
I submitted the initial import.

https://review.rdoproject.org/r/#/c/6826/

Koki

Comment 30 Javier Peña 2017-05-31 10:35:32 UTC
Two notes on the fedora-review output:

- The URL in Source0 note is expected, since the SRPM was generated by DLRN.
- The same goes for the %global in the spec, it was added by DLRN.

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)", "*No copyright* Apache", "Unknown or
     generated", "*No copyright* Apache (v2.0)". 29 files have unknown
     license. Detailed output of licensecheck in /tmp/python-
     scciclient/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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 2 files.
[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]: 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.
[-]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: 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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[-]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define upstream_version
     0.4.1.dev21
[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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: SourceX is a working URL.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: python2-scciclient-0.4.1-0.20170530170008.77cfae4.el7.centos.noarch.rpm
          python-scciclient-0.4.1-0.20170530170008.77cfae4.el7.centos.src.rpm
python2-scciclient.noarch: E: no-changelogname-tag
python-scciclient.src: E: no-changelogname-tag
python-scciclient.src: W: invalid-url Source0: python-scciclient-0.4.1.dev21-0.20170530170008.77cfae4.tar.gz
2 packages and 0 specfiles checked; 2 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
python2-scciclient.noarch: E: no-changelogname-tag
1 packages and 0 specfiles checked; 1 errors, 0 warnings.



Requires
--------
python2-scciclient (rpmlib, GLIBC filtered):
    python(abi)
    python-babel
    python-oslo-serialization
    python-pbr
    python-requests
    python-six



Provides
--------
python2-scciclient:
    python-scciclient
    python2-scciclient



Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -n python-scciclient -m dlrn -r
Buildroot used: dlrn-centos7-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

The package is APPROVED.