Bug 1210692 - Old Horizon package dependencies are breaking instack-install-undercloud
Summary: Old Horizon package dependencies are breaking instack-install-undercloud
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RDO
Classification: Community
Component: openstack-horizon
Version: trunk
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: Kilo
Assignee: Alan Pevec
QA Contact: wes hayutin
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-10 11:33 UTC by Jaromir Coufal
Modified: 2015-05-30 00:42 UTC (History)
5 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2015-04-10 17:50:32 UTC


Attachments (Terms of Use)

Description Jaromir Coufal 2015-04-10 11:33:17 UTC
Description of problem:
Horizon package is pulled from Juno release (almost 6 months old) and it is breaking other dependencies. Instack fails to install undercloud due to this error.


Console output:
http://pastebin.test.redhat.com/275441


Error:
Error: Package: openstack-dashboard-2014.2.2-2.el7ost.noarch (rhelosp-6.0-puddle)
Requires: python-XStatic-Angular-Cookies
Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7.noarch (epel)
python-XStatic-Angular-Cookies = 1.2.1.1-2.el7
Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7ost.noarch (rhelosp-6.0-puddle)
python-XStatic-Angular-Cookies = 1.2.1.1-2.el7ost


Steps to Reproduce:
1. Provision machine with RHEL 7.1
2. Follow instack installation documentation
3. You will get error during instack-install-undercloud


Actual results:
instack-install-undercloud fails


Expected results:
instack-install-undercloud passes smoothly


Additional info:
Cleanest solution is to get Horizon finally packaged for Kilo. Workaround is to remove Dashboard from undercloud installation script completely.

Comment 1 James Slagle 2015-04-10 11:43:42 UTC
please capture the full yum error and attach it to the bug as pastebin's expire after a given period of time. The error that is shown isn't enough to go on.

Also please attach output from the following:

sudo yum install openstack-dashboard
sudo yum list --show-duplicates openstack-dashboard
sudo yum repolist

Comment 3 wes hayutin 2015-04-10 11:55:51 UTC
public link to spec
https://review.gerrithub.io/#/c/229897/

Comment 4 Matthias Runge 2015-04-10 12:17:11 UTC
Please provide full yum error, asrequested in #c1

All listed snippets do not mention full n-v-r.

Comment 5 wes hayutin 2015-04-10 12:34:14 UTC
Error from rdo kilo packstack

Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Error: Package: openstack-dashboard-2014.2.2-1.el7.noarch (openstack-juno)
           Requires: python-XStatic-Angular-Cookies
           Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7.noarch (epel)
               python-XStatic-Angular-Cookies = 1.2.1.1-2.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest[0m
[1;31mError: /Stage[main]/Horizon/Package[horizon]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-dashboard' returned 1: Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements
Error: Package: openstack-dashboard-2014.2.2-1.el7.noarch (openstack-juno)
           Requires: python-XStatic-Angular-Cookies
           Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7.noarch (epel)
               python-XStatic-Angular-Cookies = 1.2.1.1-2.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest[0m

Comment 6 Matthias Runge 2015-04-10 12:39:52 UTC
ok, you're installing a Juno openstack-dashboard version, which requires
python-XStatic-Angular-Cookies

And I would assume, you'll have python-XStatic-Angular-1.3.7.0-3
and not (like for Juno) python-XStatic-Angular-1.2.1.1

That's expected to break as openstack-dashboard in Juno requires the older Angular version.

Comment 7 wes hayutin 2015-04-10 12:40:38 UTC
Error from rdo kilo rdo-manager 

00:37:35.870 Error: Package: openstack-dashboard-2014.2.2-2.el7ost.noarch (rhelosp-6.0-puddle)
00:37:35.870            Requires: python-XStatic-Angular-Cookies
00:37:35.870            Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7.noarch (epel)
00:37:35.870                python-XStatic-Angular-Cookies = 1.2.1.1-2.el7
00:37:35.870            Available: python-XStatic-Angular-Cookies-1.2.1.1-2.el7ost.noarch (rhelosp-6.0-puddle)
00:37:35.870                python-XStatic-Angular-Cookies = 1.2.1.1-2.el7ost
00:37:35.870  You could try using --skip-broken to work around the problem
00:37:35.870  You could try running: rpm -Va --nofiles --nodigest
00:37:35.870 Error: /Stage[main]/Horizon/Package[horizon]/ensure: change from absent to present failed: Execution of '/bin/yum -d 0 -e 0 -y install openstack-dashboard' returned 1: Package python-XStatic-Angular-Cookies is obsoleted by python-XStatic-Angular, but obsoleting package does not provide for requirements

Comment 8 Matthias Runge 2015-04-10 12:45:57 UTC
please provide rpm -q python-XStatic-Angular.

When installing Juno (as you're doing), please make sure, it's not newer than python-XStatic-Angular-1.2.1.1

Comment 9 wes hayutin 2015-04-10 12:55:14 UTC
python-XStatic-Angular-1.2.1.1-1.el7.noarch from rdo kilo.

FYI.. the rdo-kilo release pulls in juno. take a look at the rdo-release repo created by rdo-release-kilo rpm.

Comment 10 Matthias Runge 2015-04-10 13:11:06 UTC
Whatever you have there
http://pkgs.fedoraproject.org/cgit/python-XStatic-Angular.git/tree/python-XStatic-Angular.spec?h=epel7

does not list an obsoletes.

Comment 11 jliberma@redhat.com 2015-04-10 15:04:15 UTC
Jaromir, can you share workaround steps for removing dashboard from undercloud install scripts?

Comment 12 Jaromir Coufal 2015-04-10 15:09:03 UTC
Hey, I am sorry but unfortunately I don't have a workaround for it. Currently I am being blocked with this issue too (trying to work on different stuff at the moment).

Comment 13 Matthias Runge 2015-04-10 15:18:24 UTC
Uhm, the question is more, where does 
"""
python-XStatic-Angular-1.2.1.1-1.el7.noarch from rdo kilo. 
"""

really come from. It doesn't fit to the spec I found in http://pkgs.fedoraproject.org/cgit/python-XStatic-Angular.git/tree/python-XStatic-Angular.spec?h=epel7

Comment 14 Alan Pevec 2015-04-10 15:21:17 UTC
(In reply to Matthias Runge from comment #10)
> Whatever you have there
> http://pkgs.fedoraproject.org/cgit/python-XStatic-Angular.git/tree/python-
> XStatic-Angular.spec?h=epel7
> 
> does not list an obsoletes.

But this one does:
http://pkgs.fedoraproject.org/cgit/python-XStatic-Angular.git/tree/python-XStatic-Angular.spec#n21

What's the point of that Obsoletes without Provides?

Comment 15 Alan Pevec 2015-04-10 15:31:09 UTC
> python-XStatic-Angular-1.2.1.1-1.el7.noarch from rdo kilo. 
> really come from. It doesn't fit to the spec I found in
> http://pkgs.fedoraproject.org/cgit/python-XStatic-Angular.git/tree/python-
> XStatic-Angular.spec?h=epel7

rdo-release-kilo.rpm installs both RDO Juno and RDO Kilo repos, so that only updated and new dependencies need to be uploaded to RDO Kilo which is still bootstrapping.
Obviously, this smart plan breaks on Horizon which doesn't have Kilo build in Delorean yet, working on that in https://review.gerrithub.io/229897

In the meantime, as workaround I'll upload Kilo2 from Rawhide to RDO Kilo.

Comment 16 Alan Pevec 2015-04-10 17:01:02 UTC
> In the meantime, as workaround I'll upload Kilo2 from Rawhide to RDO Kilo.
For some reason openstack-dashboard from rdo-juno is preferred, WTF??
Installing:
 openstack-dashboard                 2014.2.2-1.fc22    rdo-juno
 python-django-openstack-auth        1.1.7-1.fc22       rdo-juno
 python-XStatic-jquery-ui            1.10.4.1-1.fc20    updates
 python-keystoneclient               1:0.11.1-1.fc22    rdo-juno
 python-oslo-config                  2:1.4.0-1.fc22     rdo-juno
 python-ceilometerclient             1.0.12-1.fc22      rdo-juno
 python-cinderclient                 1.1.1-1.fc22       rdo-juno
 python-glanceclient                 1:0.15.0-1.fc22    rdo-juno
 python-heatclient                   0.2.12-2.fc21      rdo-juno
 python-neutronclient                2.3.9-1.fc22       rdo-juno
 python-novaclient                   1:2.20.0-1.fc22    rdo-juno
 python-swiftclient                  2.3.1-2.fc22       rdo-juno
 python-XStatic-Bootstrap-Datepicker 1.3.1.0-1.fc22     rdo-juno
 python-XStatic-Bootstrap-SCSS       3.2.0.0-1.fc22     rdo-juno
 python-django-horizon               2015.1-0.1.b2.fc23 rdo-kilo-stage
 python-futures                      2.1.6-1.fc20       updates
 python-oslo-utils                   1.0.0-1.fc22       rdo-juno
 python-oslo-i18n                    1.0.0-1.fc22       rdo-juno

Comment 17 Alan Pevec 2015-04-10 17:25:08 UTC
So there were missing deps and dnf was helpful to silently skip them and install next lower resolvable NVR... -ETOOMUCHMAGIC

Comment 18 Alan Pevec 2015-04-10 17:50:32 UTC
yum install openstack-dashboard works now with rdo-juno rdo-kilo and delorean repos enabled

Installing:
 openstack-dashboard                     2015.1-0.1.b2.el7.centos    openstack-kilo
Installing for dependencies:
 PyYAML                                  3.10-11.el7                 base
 apr                                     1.4.8-3.el7                 base
 apr-util                                1.5.2-6.el7                 base
 centos-logos                            70.0.6-2.el7.centos         updates
 fontawesome-fonts                       4.1.0-2.el7                 epel
 fontawesome-fonts-web                   4.1.0-2.el7                 epel
 fontpackages-filesystem                 1.44-8.el7                  base
 httpd                                   2.4.6-31.el7.centos         base
 httpd-tools                             2.4.6-31.el7.centos         base
 libyaml                                 0.1.4-11.el7_0              base
 logrotate                               3.8.6-4.el7                 base
 mailcap                                 2.1.41-2.el7                base
 mod_wsgi                                3.4-12.el7_0                base
 pyOpenSSL                               0.13.1-3.el7                base
 pyparsing                               2.0.1-3.el7.centos          openstack-juno
 python-XStatic                          1.0.1-1.el7                 epel
 python-XStatic-Angular                  1:1.3.7.0-3.el7.centos      openstack-kilo
 python-XStatic-Angular-Bootstrap        0.11.0.2-1.el7              epel
 python-XStatic-Angular-Mock             1.2.1.1-2.el7               epel
 python-XStatic-Bootstrap-Datepicker     1.3.1.0-1.el7.centos        openstack-juno
 python-XStatic-Bootstrap-SCSS           3.2.0.0-1.el7.centos        openstack-juno
 python-XStatic-D3                       3.1.6.2-2.el7               epel
 python-XStatic-Font-Awesome             4.1.0.0-3.el7               epel
 python-XStatic-Hogan                    2.0.0.2-2.el7               epel
 python-XStatic-JQuery-Migrate           1.2.1.1-2.el7               epel
 python-XStatic-JQuery-TableSorter       2.14.5.1-2.el7              epel
 python-XStatic-JQuery-quicksearch       2.0.3.1-2.el7               epel
 python-XStatic-JSEncrypt                2.0.0.2-2.el7               epel
 python-XStatic-Jasmine                  1.3.1.1-2.el7               epel
 python-XStatic-QUnit                    1.14.0.2-2.el7              epel
 python-XStatic-Rickshaw                 1.5.0.0-3.el7               epel
 python-XStatic-Spin                     1.2.5.2-2.el7               epel
 python-XStatic-jQuery                   1.10.2.1-1.el7.centos       openstack-juno
 python-XStatic-jquery-ui                1.10.4.1-1.el7              epel
 python-XStatic-smart-table              1.4.5.3-1.el7               epel
 python-XStatic-termjs                   0.0.4.2-1.el7               epel
 python-babel                            1.3-6.el7.centos            openstack-juno
 python-backports                        1.0-8.el7                   base
 python-backports-ssl_match_hostname     3.4.0.2-4.el7               base
 python-ceilometerclient                 1.0.13-post25.el7.centos    delorean
 python-chardet                          2.0.1-7.el7                 base
 python-cinderclient                     1.1.1-1.el7.centos          openstack-juno
 python-cliff                            1.10.0-2.el7.centos         openstack-kilo
 python-cmd2                             0.6.7-5.el7.centos          openstack-juno
 python-django                           1.6.11-1.el7                epel
 python-django-appconf                   0.6-1.el7                   epel
 python-django-bash-completion           1.6.11-1.el7                epel
 python-django-compressor                1.4-1.el7.centos            openstack-kilo
 python-django-horizon                   2015.1-0.1.b2.el7.centos    openstack-kilo
 python-django-openstack-auth            1.1.7-1.el7.centos          openstack-juno
 python-django-pyscss                    1.1.0-fa4e73fe.el7.centos   delorean
 python-eventlet                         0.17.1-1.el7.centos         openstack-kilo
 python-extras                           0.0.3-2.el7                 epel
 python-fixtures                         0.3.14-3.el7                epel
 python-futures                          2.1.6-1.el7                 epel
 python-glanceclient                     1:0.17.0-post17.el7.centos  delorean
 python-greenlet                         0.4.2-3.el7                 extras
 python-heatclient                       0.4.0-post3.el7.centos      delorean
 python-httplib2                         0.7.7-3.el7                 epel
 python-iso8601                          0.1.10-1.el7                epel
 python-jsonpatch                        1.2-3.el7.centos            extras
 python-jsonpointer                      1.0-2.el7.centos            extras
 python-jsonschema                       2.3.0-1.el7                 epel
 python-keyring                          5.0-1.el7                   epel
 python-keystoneclient                   1:1.3.0-post23.el7.centos   delorean
 python-lockfile                         1:0.9.1-4.el7               epel
 python-mimeparse                        0.1.4-1.el7                 epel
 python-netaddr                          0.7.12-1.el7.centos         openstack-juno
 python-netifaces                        0.10.4-999.el7.centos       delorean
 python-neutronclient                    2.4.0-0.99.20150409.2324git.delorean
 python-novaclient                       1:2.23.0-post12.el7.centos  delorean
 python-oslo-concurrency                 1.8.0-post5.el7.centos      delorean
 python-oslo-config                      2:1.9.3-post13.el7.centos   delorean
 python-oslo-i18n                        1.5.0-post3.el7.centos      delorean
 python-oslo-serialization               1.4.0-post4.el7.centos      delorean
 python-oslo-utils                       1.4.0-post13.el7.centos     delorean
 python-pbr                              0.10.8-1.el7                openstack-kilo
 python-pint                             0.6-2.el7                   epel
 python-pip                              1.5.6-5.el7                 epel
 python-posix_ipc                        0.9.8-1.el7                 epel
 python-prettytable                      0.7.2-2.el7.centos          extras
 python-requests                         2.3.0-3.el7.centos          openstack-juno
 python-retrying                         1.3.3-999.el7.centos        delorean
 python-saharaclient                     0.8.0-post16.el7.centos     delorean
 python-scss                             1.2.1-1.el7.centos          openstack-juno
 python-setuptools                       14.3-1.el7.centos           openstack-kilo
 python-simplejson                       3.3.3-1.el7                 epel
 python-six                              1.9.0-1.el7.centos          openstack-kilo
 python-stevedore                        1.3.0-1.el7.centos          openstack-kilo
 python-swiftclient                      2.4.0-post2.el7.centos      delorean
 python-testtools                        1.1.0-1.el7                 epel
 python-troveclient                      1.0.9-post3.el7.centos      delorean
 python-urllib3                          1.8.2-4.el7.centos          openstack-juno
 python-versiontools                     1.9.1-4.el7                 epel
 python-warlock                          1.0.1-1.el7                 epel
 python-webob                            1.2.3-6.el7                 base
 pytz                                    2012d-5.el7                 base
 web-assets-filesystem                   5-1.el7                     epel

Comment 19 Matthias Runge 2015-04-10 19:01:47 UTC
awesome, thank you Alan!

Comment 20 Alan Pevec 2015-05-29 12:15:38 UTC
There's an issue with Provides: python-XStatic-Angular-Cookies
in python-XStatic-Angular-1.3.7.0-4 because xstatic.pkg.angular_cookies is actually not included, and building Horizon 2014.2.3 in f22 fails:
 https://kojipkgs.fedoraproject.org/work/tasks/9225/9859225/build.log

Matthias, IIRC we said f22 will get Horizon Kilo, but we would need to update all OpenStack clients in f22 first, is that right?

But where should I build Juno for Fedora, in Copr or do you have other suggestion which would enable builds Fedora Koji?

Comment 21 Matthias Runge 2015-05-29 13:21:13 UTC
OH, I would expect horizon build failures in f22 for several reasons. (django-1.8 rather than 1.6, python-XStatic-Angular too new, no python-XStatic-Angular-Cookies.

I would try to build it in f21. Unfortunately, you can not install horizon in juno version on f22 at all.

Comment 22 Alan Pevec 2015-05-30 00:42:05 UTC
No joy with Horizon Juno in f21 buildroot:

Error: No Package found for python-django-openstack-auth >= 1.1.7
Error: No Package found for python-django-pyscss >= 1.0.5

So Copr it is :(


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