Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make some optional dependencies to hard dependencies #1040

Merged
merged 1 commit into from
May 5, 2016

Conversation

krimdomu
Copy link
Contributor

@krimdomu krimdomu commented May 5, 2016

This is a fix for #971 making some optional dependencies to hard dependencies.

This is also to minimize the confusions for users which get error message for missing perl modules.

@krimdomu krimdomu added this to the 1.4.1 milestone May 5, 2016
@krimdomu krimdomu added the in progress A topic that is currently being taken care of label May 5, 2016
@@ -33,7 +33,7 @@ use Rex -base;
require Exporter;
use base qw(Exporter);
use vars qw(@EXPORT);
XML::LibXML->require;
use XML::LibXML;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may conflict with #404.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is right, but we can't take care for these old distributions. CentOS 4 support ended 2012 (https://de.wikipedia.org/wiki/CentOS#Versionen) and RHEL 4 support ended 2015 (https://de.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Versionen)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What we can do is, that we provide a package where rex is bundled with perl, so that you can just run it on every glibc compatible linux system.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I'm especially fine with dropping support for unsupported distros. I just read that RHEL4 has extended support till 2017-03-31. Let's find some official info.

Copy link
Member

@ferki ferki May 5, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Official EOL of RHEL4 extended support is 2017-03-31. I'm fine with a Rex "policy" of only supporting up to normal production lifetime (i.e. excluding extended life-cycle).

On one part, I believe as a devops software project/community we should endorse best practices such as updates and upgrades done in a timely fashion regularly. On the other hand, taking on extended lifecycle support for RHEL5 would mean being stuck with lots of ballast till end of 2020. Which sounds scary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that we want to support until the end of extended lifecycle which is often only available with payment and so we also can't test on those distributions. Also (in regard of the mentioned ticket) CentOS 4 isn't really on the supported os list. On the other hand, people can also continue using an old version of rex (we don't delete the source and rpm/deb files from rex.linux-files.org) and so the people can also build a version on their own (or with support by us via irc) which can remove those dependencies they don't need.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly, agreed. Let's support till normal EOL 👍

@ferki
Copy link
Member

ferki commented May 5, 2016

In general, I like to idea of making as much dependencies hard instead of optional as possible in order to provide a more complete default user experience 👍 This would reduce support overhead as well, while we still can make some dependencies optional again in a bit nicer way (as standard Recommended/Suggested/etc. deps via CPAN).

Also, we might be able to remove some currently skipped modules in t/base.t. I guess at least

  • Rex::Group::Lookup::INI
  • Rex::Helper::INI
  • Rex::Group::Lookup::XML
  • Rex::TaskList::Parallel_ForkManager

On top of those, I propose making some more deps of Rex::Cloud::Amazon hard, as people seem to have difficulties regularly with the optional dependencies of that module.

@krimdomu
Copy link
Contributor Author

krimdomu commented May 5, 2016

Dependencies on R::C::Amazon are now also hard

@krimdomu krimdomu merged commit 5888bb1 into RexOps:development May 5, 2016
@krimdomu krimdomu removed the in progress A topic that is currently being taken care of label May 5, 2016
@krimdomu krimdomu modified the milestones: 1.5.0, 1.4.1 Jun 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants