Path to Puppet modules hardcoded in fuel-library9.0 RPM specs

Bug #1508572 reported by Oleg S. Gelbukh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Oleg S. Gelbukh
Mitaka
Won't Fix
Medium
Oleg S. Gelbukh
Newton
Invalid
Medium
Oleg S. Gelbukh

Bug Description

Package fuel-library8.0 stores Puppet modules to hardcoded path:

  /etc/puppet/<openstack_version>

where openstack_version is a string of the following format:

  <openstack_release_version>-<fuel_release_version>

where openstack_release_version used to be a version number of integrated release of OpenStack (e.g. 2015.1.0), and fuel_release_version is a version number of Fuel release (e.g. 7.0).

However, subpackage fuel-openstack-metadata of package fuel-nailgun provides a file /etc/fuel_openstack_version which contains the very same string. This string is used by Nailgun to construct a path to modules provided by fuel-library8.0 package:

https://github.com/openstack/fuel-web/blob/master/specs/fuel-nailgun.spec#L162

Thus, fuel-library8.0 spec must specify fuel-openstack-metadata package as a dependency and fetch the value of openstack_version parameter from /etc/fuel_openstack_version file.

Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :

The way RPM building works is all these paths are predefined before installation. You shouldn't just query the current version of fuel-openstack-metadata to figure out where to install it. That's why EL6 and EL7 packages have predefined paths to python sitelib for python 2.6 and python 2.7. It's got to be hardcoded in advance when you build the package because that's how it's supposed to be done.

Lastly, any bug not impacting deployment should never be marked high. It affects our statistics.

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Oleg S. Gelbukh (gelbuhos)
status: Triaged → In Progress
Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote :

Matthew, could you please review related fix: https://review.openstack.org/#/c/237217/ ?

In the latest version, I don't install it into variable path, but use fuel-openstack-metadata in %post to copy installed modules to the standard location expected by Nailgun, i.e. to /etc/puppet/${openstack_version}/ dir. This seems to be more aligned with RPM building practices.

Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/8.0.x
Dmitry Pyzhov (dpyzhov)
tags: added: area-library
tags: added: regression-8.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/252556

Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote : Re: Path to Puppet modules hardcoded in fuel-library8.0 RPM specs

For the seamless merge of patches related to this change without introducing new ISO to Fuel CI, I suggest to submit and merge CRs in the following order:

1. Change rules of comparing the OpenStack release version in fuel-ostf to support non-numeric release version ('liberty'): https://review.openstack.org/#/c/251260/
2. Change RPM spec in fuel-library to fetch openstack_version from fuel-openstack-metadata package to dynamically construct the path to Puppet modules. Also copy Puppet modules to /etc/puppet/2015.1.0-8.0/ directory temporary, for backwards compat with the current version of fuel-web. It allows this change to pass Fuel CI check and gate: https://review.openstack.org/#/c/237217/
3. Change openstack_version value in openstack.yaml in fuel-web repo to 'liberty-8.0'. Change display name of release to 'Liberty', update functional tests. This change should pass Fuel CI gate after the previous CR (#2) merged: https://review.openstack.org/#/c/238846/5
4. Delete code that copies Puppet modules to /etc/puppet/2015.1.0-8.0/ dir from fuel-library RPM spec, since it's no longer needed to pass Fuel CI: https://review.openstack.org/#/c/252556/

Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 8.0 → 9.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-library (master)

Change abandoned by Oleg Gelbukh (<email address hidden>) on branch: master
Review: https://review.openstack.org/252556

summary: - Path to Puppet modules hardcoded in fuel-library8.0 RPM specs
+ Path to Puppet modules hardcoded in fuel-library9.0 RPM specs
tags: added: keep-in-9.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Fuel DevOps Robot (<email address hidden>) on branch: master
Review: https://review.openstack.org/237217
Reason: This review is > 4 weeks without comment and currently blocked by a core reviewer with a -2. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and contacting the reviewer with the -2 on this review to ensure you address their concerns.

Changed in fuel:
status: In Progress → Incomplete
Revision history for this message
Maciej Relewicz (rlu) wrote :

Due to inactivity, bug was closed. Feel free to reopen the bug by providing the requested information and set the bug status back to ''New''.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.