Bug 1284978 - packstack --allione fails on applying prescript.pp due to new hiera package
packstack --allione fails on applying prescript.pp due to new hiera package
Status: CLOSED CURRENTRELEASE
Product: RDO
Classification: Community
Component: openstack-packstack (Show other bugs)
Liberty
Unspecified Unspecified
high Severity high
: ---
: Juno
Assigned To: Alan Pevec
yeylon@redhat.com
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-24 10:25 EST by Alvaro Aleman
Modified: 2016-04-18 02:54 EDT (History)
11 users (show)

See Also:
Fixed In Version: openstack-packstack-7.0.0-0.7.dev1661.gaf13b7e.el7 openstack-packstack-2015.1-0.14.dev1616.g5526c38.el7 openstack-packstack-2014.2-0.27.dev1480.g752c46d.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-27 15:04:09 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Full output (10.12 KB, text/plain)
2015-11-24 10:27 EST, David Moreau Simard
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 249300 None None None Never

  None (edit)
Description Alvaro Aleman 2015-11-24 10:25:20 EST
Description of problem:


Version-Release number of selected component (if applicable):
openstack-packstack.noarch      2015.2-0.1.dev1654.gcbbf46e.el7 @openstack-liberty

How reproducible:
1ßß%

Steps to Reproduce:

sudo yum update -y
sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
sudo yum install -y openstack-packstack
packstack --allinone

Actual results:

ERROR : Error appeared during Puppet run: 192.168.121.187_prescript.pp
Error: Evaluation Error: Error while evaluating a Function Call, Could not find data item CONFIG_USE_SUBNETS in any Hiera data file and no default supplied at /var/tmp/packstack/7c0f1f44cd854c0c965dd30fe2659094/manifests/192.168.121.187_prescript.pp:2:22 on node controller.localhost


Expected results:

A working openstack
Comment 1 David Moreau Simard 2015-11-24 10:27 EST
Created attachment 1098249 [details]
Full output

Also reproduced with --provision-demo=y
Comment 2 Javier Peña 2015-11-24 11:12:24 EST
Thanks for reporting this. After some tests, it looks like this issue is caused by a newer version of hiera available in EPEL (3.0.1 vs 1.3.4 that was commonly used with Packstack).

The hiera.yaml provided by this new version includes the following hierachy:

:hierarchy:
  - "nodes/%{::trusted.certname}"
  - common

That means hiera will look for a file called common.yaml, as opposed to defaults.yaml that was used with 1.3.4. Since hiera cannot find the file, the first reference to a variable fails.

As a workaround until the proper fix is merged, we can blacklist the EPEL hiera package by adding the following to /etc/yum.repos.d/epel.repo:


[epel]
...
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
exclude=hiera*
Comment 3 Javier Peña 2015-11-24 12:24:37 EST
Commit https://review.openstack.org/249300 with a fix is now merged. Also backported to Kilo (https://review.openstack.org/249301) and Juno (https://review.openstack.org/249303).
Comment 4 Alan Pevec 2015-11-24 15:53:26 EST
BTW EPEL is not required (and not tested in CI jobs) with RDO >= Kilo
Comment 5 David Moreau Simard 2015-11-24 18:39:06 EST
Confirmed that the version in delorean fixes this bug.
Note that yum-plugin-priorities was required because the openstack-packstack package is both in delorean and delorean-deps. The semver from delorean-deps was older but was considered more up-to-date due to a higher semver ?

Haikel explained this as:
For RPM, release "0.4.dev1661.gaf13b7e.el7" (in liberty testing) >
"dev1673.gdc3e416.el7" (in delorean) hence RPM thinking the one in
liberty testing is newer than the one in delorean.
Comment 6 David Moreau Simard 2015-11-24 21:30:40 EST
CI is green on current, running a full batch of tests before promoting to current-passed-ci.
Comment 7 Alvaro Aleman 2015-11-25 05:20:55 EST
@Alan Pevec:

If you execute the "Summary for impatient" on the RDO page (https://www.rdoproject.org/install/quickstart/), EPEL gets pulled in on CentOS 7 (tested with vagrant centos/7 box).

Idk exactly at what step and currently I don't got the time to test that out, but if your CI jobs don't test EPEL, you should definitely not have RDO do that by default.
Comment 8 Alan Pevec 2015-11-25 06:11:12 EST
Quickstart instructuons do not enable EPEL repo explicitly, I'll have a look at where EPEL gets enabled. What was exactly your base vagrant centos/7 image?

Re. comment 5 - delorean repo requires yum priorities instead of relying on upstream generated Version-Release. Fix could be to make Delorean and/or PBR generate Fedora compliant pre-release NVR but that's fragile.

I'll rebuild packstack RPM for RDO Juno/Kilo/Liberty repos to include patches from comment 3.
Comment 9 Javier Peña 2015-11-25 06:15:59 EST
Packstack enables EPEL automatically when a package called rdo-release is installed. This was needed before (maybe < or <= Kilo?) and it has never been removed since.

Since EPEL is not a requirement anymore (even for RHEL?), we can remove that code now.
Comment 10 Alan Pevec 2015-11-25 06:40:50 EST
(In reply to Javier Peña from comment #9)
> Packstack enables EPEL automatically when a package called rdo-release is
> installed. This was needed before (maybe < or <= Kilo?) and it has never
> been removed since.

That should be removed for >= Kilo but OTOH users could have EPEL enabled for other reasons, so we need to make it work with EPEL either enable or disabled.
Comment 11 Alan Pevec 2015-11-25 07:17:23 EST
openstack-packstack-7.0.0-0.5.dev1661.gaf13b7e.el7 is now in RDO Liberty testing repo buildlogs.centos.org/centos/7/cloud/x86_64/openstack-liberty/
Comment 12 Alan Pevec 2015-11-25 07:20:16 EST
openstack-packstack-2015.1-0.13.dev1616.g5526c38.el7 is now in RDO Kilo testing repo http://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-kilo/
Comment 13 Alan Pevec 2015-11-27 11:12:09 EST
Follow up fix:
* Wed Nov 25 2015 Javier Peña <jpena@redhat.com> - 2015.1-0.14.dev.dev1616.g5526c38
- Do not enable EPEL when installing RDO
Comment 15 Javier Peña 2015-11-27 11:55:30 EST
I have tested openstack-packstack-7.0.0-0.7 from the liberty-testing repo, and I can confirm it works fine in an allinone install.
Comment 16 Alvaro Aleman 2015-11-27 11:56:43 EST
(In reply to Tristan Cacqueray from comment #14)
> I confirm the error and but the workaround to exclude=hiera* from epel
> doesn't worked well for me. [...]

It does work, but has to be done on all nodes not just the one you execute packstack from.
Comment 18 Tristan Cacqueray 2015-11-27 15:18:20 EST
Alvaro, it used to failed on allinone single node when epel was already installed and hiera was downgraded to hiera-1.3.4-1.el7.noarch (CentOS 7). It's like the exclude was not enough to prevent this bug. Anyways, I can't reproduce this anymore since the fixing packages is now in the main repository.

All good now, thanks!

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