Bug 1067015 - Review Request: instack-undercloud - Install an OpenStack undercloud via python-instack
Review Request: instack-undercloud - Install an OpenStack undercloud via pyth...
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On:
Blocks: FE-NEEDSPONSOR
  Show dependency treegraph
 
Reported: 2014-02-19 09:10 EST by James Slagle
Modified: 2016-04-18 20:42 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
sdake: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description James Slagle 2014-02-19 09:10:22 EST
Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0.0.1-1.fc20.src.rpm
Description: instack-undercloud is a collection of installation tools to install an undercloud via python-instack. It contains scripts and elements to complete the
installation.

Fedora Account System Username: slagle

koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=6547303

This is one of my first package submissions for Fedora, and I need a sponsor. I have a few more package review requests that I'll be submitting for the other OpenStack TripleO related projects.
Comment 1 Steven Dake 2014-02-19 10:28:59 EST
James,

I'll sponsor you.

Please provide some links to other bugs where you have done package reviews in the past.
Comment 2 Steven Dake 2014-02-19 20:01:23 EST
James,
Elements are installed in the wrong place.

For an example check out:
https://github.com/sdake/fedora-reviews/blob/master/openstack-heat-templates/openstack-heat-templates.spec#L39

Header isn't aligned - possible mixing of spaces and tabs

If your going to use a git commit without a tarball, please mark it properly in the spec file.  For an example, see:
https://github.com/sdake/fedora-reviews/blob/master/openstack-heat-templates/openstack-heat-templates.spec#L7

Make sure to run the spec file, rpm file, and srpm file through rpmlint and fix any problems.

I'll provide a more thorough review once you submit a new package.
Comment 4 James Slagle 2014-02-24 16:41:41 EST
Forgot I needed to make a change to one of the scripts to account for the change in element location:

Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0.0.1-0.1.20140224.fc20.src.rpm
Comment 5 James Slagle 2014-02-26 14:55:07 EST
Respun:

Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0.0.1-0.1.20140226.fc20.src.rpm


Sorry, I'm not sure if this is bad form to keep respinning these builds while in review. The code itself is still under development to a degree, so we need new package builds as well, which is why I keep rebuilding them. If desired however, I can do that out of band from the review and provide a different link to the spec file that I'm not updating at the moment.
Comment 6 Steven Dake 2014-02-26 16:26:03 EST
James,

Respinning is fine as long as you indicate what changed in the specfile between respins.  This way I can track what was suggested to be changed vs what I should expect to be fixed :)

Regards
-steve
Comment 7 James Slagle 2014-03-12 12:57:01 EDT
Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0.0.1-0.1.20140226.fc20.src.rpm

The changes in the above links was to add 2 new scripts to instack-undercloud. I take it I would need to make similar changes here to prefix these with something before installing them into /usr/bin?

Let me know any feedback. Thanks!
Comment 9 James Slagle 2014-03-24 15:35:33 EDT
Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0.0.1-0.1.20140324git.fc20.src.rpm

I updated the build to be based on the latest from git, corrected the summary in the spec file, and removed the empty %build.
Comment 10 Steven Dake 2014-04-01 21:36:40 EDT
The version field is wrong for a git checkout.  It should be:

Version: 0

Review:
Package Review
==============

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


Issues:
=======
- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://fedoraproject.org/wiki/Packaging:Guidelines


===== 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. No licenses
     found. Please check the source files for licenses manually.
[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.
[0]: 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.
     Note: Documentation size is 20480 bytes in 4 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]: 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 %doc.
[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]: 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.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== 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).
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: 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]: 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.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint

Note I will run rpmlint manually after installing dependencies in a 
[x]: Spec file according to URL is the same as in SRPM.


Installation errors
-------------------
INFO: mock.py version 1.1.36 starting...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
Mock Version: 1.1.36
INFO: Mock Version: 1.1.36
Start: lock buildroot
INFO: installing package(s): /home/sdake/fedora-review/1067015-instack-undercloud/results/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch.rpm
ERROR: Command failed:
 # ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-20-x86_64/root/', '--releasever', '20', 'install', '/home/sdake/fedora-review/1067015-instack-undercloud/results/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch.rpm']
Error: Package: instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch (/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch)
           Requires: openstack-tripleo-image-elements
 You could try using --skip-broken to work around the problem
Error: Package: instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch (/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch)
           Requires: instack
Error: Package: instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch (/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch)
           Requires: openstack-tripleo
Error: Package: instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch (/instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch)
           Requires: openstack-tripleo-heat-templates
 You could try running: rpm -Va --nofiles --nodigest
Rpmlint
-------
Checking: instack-undercloud-0.0.1-0.1.20140324git.fc20.noarch.rpm
          instack-undercloud-0.0.1-0.1.20140324git.fc20.src.rpm
instack-undercloud.noarch: W: no-manual-page-for-binary instack-test-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-virt-setup
instack-undercloud.noarch: W: no-manual-page-for-binary instack-prepare-for-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-build-images
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud-tuskarcli
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud-packages
instack-undercloud.src: W: no-%build-section
2 packages and 0 specfiles checked; 0 errors, 9 warnings.




Requires
--------
instack-undercloud (rpmlib, GLIBC filtered):
    /bin/bash
    /usr/bin/python
    instack
    openstack-tripleo
    openstack-tripleo-heat-templates
    openstack-tripleo-image-elements



Provides
--------
instack-undercloud:
    instack-undercloud



Source checksums
----------------
https://github.com/slagle/instack-undercloud/archive/6e161d534fcf607da31db767fef43edf4574f2a8.tar.gz :
  CHECKSUM(SHA256) this package     : a807a714bdbb5a4fc6ac2c6d234ae82cba29482f20478d0dfd2d25364c721d03
  CHECKSUM(SHA256) upstream package : a807a714bdbb5a4fc6ac2c6d234ae82cba29482f20478d0dfd2d25364c721d03
Comment 11 Steven Dake 2014-04-01 21:39:13 EDT
The dependency packages this software depends on are not built in koji.  This blocks the review since rpmlint cannot be run on non-existent packages.  I could build the packages from the reviewed packages that are not yet built in koji, but generally this is the job of the packager :)

Further pushing this into koji prior to the dependencies being present doesn't make sense.

I would also recommend changing the version field.

Otherwise the review looks good.  Let me know when the dependencies are in koji, and I'll provide rpmlint as required by the review process.

Regards
-steve
Comment 12 James Slagle 2014-04-02 08:28:37 EDT
Spec URL: https://raw.github.com/agroup/tripleo-rpm-spec-files/master/instack-undercloud/instack-undercloud.spec
SRPM URL: http://repos.fedorapeople.org/repos/openstack-m/openstack-m/fedora-20/SRPMS/instack-undercloud-0-0.1.20140324git.fc20.src.rpm

Fixed version to be 0.

The packages should be used with rawhide, as they're not for F20. All rawhide builds for the dependent packages do already exist in Koji.

I successfully ran fedora-review against instack-undercloud like so:
fedora-review -m fedora-rawhide-x86_64 -n instack-undercloud
Comment 13 Steven Dake 2014-04-02 12:34:37 EDT
Rpmlint
-------
Checking: instack-undercloud-0-0.1.20140324git.fc21.noarch.rpm
          instack-undercloud-0-0.1.20140324git.fc21.src.rpm
instack-undercloud.noarch: W: no-manual-page-for-binary instack-test-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-virt-setup
instack-undercloud.noarch: W: no-manual-page-for-binary instack-prepare-for-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-build-images
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud-tuskarcli
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud-packages
instack-undercloud.src: W: no-%build-section
2 packages and 0 specfiles checked; 0 errors, 9 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint instack-undercloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-test-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-virt-setup
instack-undercloud.noarch: W: no-manual-page-for-binary instack-prepare-for-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud
instack-undercloud.noarch: W: no-manual-page-for-binary instack-build-images
instack-undercloud.noarch: W: no-manual-page-for-binary instack-deploy-overcloud-tuskarcli
instack-undercloud.noarch: W: no-manual-page-for-binary instack-install-undercloud-packages
1 packages and 0 specfiles checked; 0 errors, 8 warnings.
# echo 'rpmlint-done:'

rpmlint warnings look good.
Comment 14 Steven Dake 2014-04-02 12:35:32 EDT
Comment #12 package APPROVED.
Comment 15 Steven Dake 2014-04-02 12:36:00 EDT
James,

Please submit an SCM request for inclusion in Fedora.
Comment 16 James Slagle 2014-04-02 13:30:27 EDT
New Package SCM Request
=======================
Package Name: instack-undercloud
Short Description: Installation tools to install an undercloud via instack
Owners: slagle
Branches: f20
InitialCC:
Comment 17 Gwyn Ciesla 2014-04-02 13:43:37 EDT
Git done (by process-git-requests).
Comment 19 Upstream Release Monitoring 2015-10-13 07:07:58 EDT
social's scratch build of openstack-puppet-modules?#db4e135626252ebf0b23b8a0e6e98ce0dcf2f9e6 for git://pkgs.fedoraproject.org/openstack-puppet-modules?#db4e135626252ebf0b23b8a0e6e98ce0dcf2f9e6 and rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=11426591

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