Bug 1130964
| Summary: | wget dependency is not described | |||
|---|---|---|---|---|
| Product: | [Fedora] Fedora EPEL | Reporter: | Yukinori Sagara <sagara177> | |
| Component: | heat-cfntools | Assignee: | Jeff Peeler <jpeeler> | |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
| Severity: | low | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | el6 | CC: | jpeeler, sdake, walters, zbitter | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | heat-cfntools-1.2.8-2.fc21 | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1131151 (view as bug list) | Environment: | ||
| Last Closed: | 2014-09-24 03:43:37 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1131151, 1136986, 1136987, 1138864, 1138865, 1140412, 1147088 | |||
|
Description
Yukinori Sagara
2014-08-18 09:52:48 UTC
I missed to write version. I verified it on heat-cfntools-1.2.6-2.el6.src.rpm. I guess curl also needs to be added as well. Is there anything else missing? I'll try and check soon. I didn't see curl in the sourcetree, but I did notice /usr/bin/gem is ran which means the requirements for rubygems package. I'm not sure how onerous its dep tree is. Regards -steve Thanks Steven and Jeff. I examined also. Please check it.
Require
* python-boto
* wget
* unzip
Require, but not need explicit Require description, because of basic tools
* coreutils
for su command.
* rpm
* yum
* python-setuptools
* gzip
* bzip2
* tar
* initscripts, chkconfig / systemd
* shadow-utils
for useradd, groupadd command.
Optional, I could not determine. Please judge.
* dpkg
heat_cfntools maybe supports multi-distribution, but most user of Red Hat instance doesn't use it.
* rubygems
rubygems depends on ruby package. and everyone does not require necessarily.
When you include this, ruby is introduced to all instances using heat.
Not for Red Hat
* apt
Not for Red Hat, and not packaged yet in EPEL.
> I didn't see curl in the sourcetree
me, too.
Thanks for looking further. This is the curl instance I was referring to: https://github.com/openstack/heat-cfntools/blob/4ece05a829845ccdbf1e78b030719614255bfc28/bin/cfn-signal#L101 I'm not going to include the init system given that the source covers both types on RPM based systems. However, other RPM distros may want to include zypper if it's not installed by default. Again, I don't think we'd have to worry about native package management tools being present, but Debian distros may want to depend on dpkg and apt-get. And lastly, support for installing gems is in the source. I think that rather than surprising somebody with yet more unmet dependencies (isn't that what this bug is about?), those who don't want ruby can force uninstall it if they need to trim their image. Does all this sound reasonable? heat-cfntools-1.2.6-3.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.6-3.fc20 heat-cfntools-1.2.6-3.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.6-3.el6 I'd actually be OK with leaving out the gems dependency... not all users are going to want to use it. If you're planning to use Ruby in your image you probably will install gems anyway, but if you're not you probably don't want Ruby itself to get pulled in. Do we know the effect on image size (if any) for e.g. the Fedora Cloud image? > Thanks for looking further. This is the curl instance I was referring to: > > https://github.com/openstack/heat-cfntools/blob/4ece05a829845ccdbf1e78b030719614255bfc28/bin/cfn-signal#L101 I have missed, sorry. That means, heat_cfntools currently depends on both wget and curl. It's not good. I will report OpenStack community. > I'm not going to include the init system given that the source covers both types on RPM based systems. > > However, other RPM distros may want to include zypper if it's not installed by default. > > Again, I don't think we'd have to worry about native package management tools being present, but Debian > distros may want to depend on dpkg and apt-get. I agree, too. > And lastly, support for installing gems is in the source. I think that rather than surprising somebody with yet more unmet dependencies (isn't that what this bug is about?), those who don't want ruby can force uninstall it if they need to trim their image. This is a little bit difficult. I think both of them (Jeff and Zane wrote) correct. I have 3 point of view. 1. EPEL packaging policy In other package, how treated this problem. Does it needs to contain all dependencies? I often find binary software has not linked library some extra feature. 2. Distribution policy I use RHEL/CentOS6 usually. ruby is not a mandatory package. I don't know recent Fedora. Is ruby used by system tools in recent distribution. 3. heat_cfntools specific problem heat_cfntools package install feature (rpm, yum, easy_install, gem, ..) used in early stages of instance setup. If rubygem is not installed, we need to write manually install command about ruby library packages in 'UserData' section. it's dirty to manage heat template. (or need to create custom image, which is ruby gem installed) > Do we know the effect on image size (if any) for e.g. the Fedora Cloud image?
My environment is CentOS6, so It may not be helpful for you.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
rubygems noarch 1.3.7-5.el6 base 207 k
Installing for dependencies:
compat-readline5 x86_64 5.2-17.1.el6 base 130 k
ruby x86_64 1.8.7.352-13.el6 updates 534 k
ruby-irb x86_64 1.8.7.352-13.el6 updates 314 k
ruby-libs x86_64 1.8.7.352-13.el6 updates 1.6 M
ruby-rdoc x86_64 1.8.7.352-13.el6 updates 377 k
Package heat-cfntools-1.2.6-3.el6: * should fix your issue, * was pushed to the Fedora EPEL 6 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing heat-cfntools-1.2.6-3.el6' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-2259/heat-cfntools-1.2.6-3.el6 then log in and leave karma (feedback). > That means, heat_cfntools currently depends on both wget and curl. It's not good. > I will report OpenStack community. I reported OpenStack community. https://bugs.launchpad.net/heat-cfntools/+bug/1359430 Zane here's what yum reports using the F20 cloud image: ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rubygems noarch 2.1.11-115.fc20 updates 224 k Installing for dependencies: ruby x86_64 2.0.0.353-16.fc20 updates 65 k ruby-irb noarch 2.0.0.353-16.fc20 updates 86 k ruby-libs x86_64 2.0.0.353-16.fc20 updates 2.8 M rubygem-bigdecimal x86_64 1.2.0-16.fc20 updates 77 k rubygem-io-console x86_64 0.4.2-16.fc20 updates 48 k rubygem-json x86_64 1.7.7-101.fc20 fedora 60 k rubygem-psych x86_64 2.0.0-16.fc20 updates 75 k rubygem-rdoc noarch 4.0.1-2.fc20 fedora 288 k rubypick noarch 1.1.1-1.fc20 updates 6.3 k Transaction Summary ================================================================================ Install 1 Package (+9 Dependent packages) Total download size: 3.7 M Installed size: 13 M I'm unsure if this is considered large or not. I still feel like it's up to the image maintainer to trim their image appropriately and we can even explicitly inform the fedora cloud sig to do so if needed, right? Otherwise, I need to rebuild and cancel the above updates. Since rubygems has a bunch of deps and is pretty large (13mb is pretty large) one option is to change the cfntools to install rubygems if the gem type is presented. It is unlikely the gem install will be requested, so this would only be slow in the case of rubygems. Regards -steve I asked for feedback on the cloud list: https://lists.fedoraproject.org/pipermail/cloud/2014-August/004176.html (In reply to Steven Dake from comment #14) > Since rubygems has a bunch of deps and is pretty large (13mb is pretty > large) one option is to change the cfntools to install rubygems if the gem > type is presented. It is unlikely the gem install will be requested, so > this would only be slow in the case of rubygems. I like this idea in principle... except that it would require distro-specific information to be included in the upstream code (not just which installer to use, but the package name). Probably the best way is to just require the user to specify the gems package in the yum/apt section whenever they're also specifying gems to install (unless, of course, they have already built an image that includes it). yum/apt packages are guaranteed to be installed before gems, so this should work now. The aws-cfn-bootstrap package supplied by Amazon (of which heat-cfntools is a clone) does *not* have an explicit Requires on rubygems, so there's no need to add it for compatibility, and in fact precedent for not having it. mattdm responded on IRC and is in favor of not including ruby, assuming that the failure conditions are not catastrophic. Also, he wasn't even a fan of including wget, so heat-cfntools will need to be changed to use curl instead, which Yukinori seems to be on top of. I'll go ahead and cancel the package updates I had and get everything sorted out. Waiting for this upstream review to be approved: https://review.openstack.org/#/c/116143/ heat-cfntools-1.2.6-4.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.6-4.fc20 heat-cfntools-1.2.6-4.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.6-4.el6 Package heat-cfntools-1.2.6-4.el6: * should fix your issue, * was pushed to the Fedora EPEL 6 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing heat-cfntools-1.2.6-4.el6' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-2373/heat-cfntools-1.2.6-4.el6 then log in and leave karma (feedback). heat-cfntools-1.2.6-4.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. heat-cfntools-1.2.6-4.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report. Can you push an update for F21 as well? heat-cfntools-1.2.8-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.8-1.fc21 See followup in bug 1161290 heat-cfntools-1.2.8-2.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/heat-cfntools-1.2.8-2.fc21 heat-cfntools-1.2.8-2.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |