Bug 1284978 - packstack --allione fails on applying prescript.pp due to new hiera package
Summary: packstack --allione fails on applying prescript.pp due to new hiera package
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RDO
Classification: Community
Component: openstack-packstack
Version: Liberty
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: Juno
Assignee: Alan Pevec
QA Contact: yeylon@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-24 15:25 UTC by Alvaro Aleman
Modified: 2016-04-18 06:54 UTC (History)
11 users (show)

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:
Clone Of:
Environment:
Last Closed: 2015-11-27 20:04:09 UTC
Embargoed:


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


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 249300 0 None None None Never
Red Hat Bugzilla 1286826 0 unspecified CLOSED hiera 1.3.4 removed from repo beaks packstack install of kilo on CentOS 7 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 1289289 0 medium CLOSED Packstack Installation Fails Due to New Heira Packages in RHEL-OSP 7.2 2021-02-22 00:41:40 UTC

Internal Links: 1286826 1289289 1293896

Description Alvaro Aleman 2015-11-24 15:25:20 UTC
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 15:27:54 UTC
Created attachment 1098249 [details]
Full output

Also reproduced with --provision-demo=y

Comment 2 Javier Peña 2015-11-24 16:12:24 UTC
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 17:24:37 UTC
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 (Fedora) 2015-11-24 20:53:26 UTC
BTW EPEL is not required (and not tested in CI jobs) with RDO >= Kilo

Comment 5 David Moreau Simard 2015-11-24 23:39:06 UTC
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-25 02:30:40 UTC
CI is green on current, running a full batch of tests before promoting to current-passed-ci.

Comment 7 Alvaro Aleman 2015-11-25 10:20:55 UTC
@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 11:11:12 UTC
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 11:15:59 UTC
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 11:40:50 UTC
(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 12:17:23 UTC
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 12:20:16 UTC
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 16:12:09 UTC
Follow up fix:
* Wed Nov 25 2015 Javier Peña <jpena> - 2015.1-0.14.dev.dev1616.g5526c38
- Do not enable EPEL when installing RDO

Comment 15 Javier Peña 2015-11-27 16:55:30 UTC
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 16:56:43 UTC
(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 20:18:20 UTC
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.