Jira (PUP-9176) puppet module install should list unsatisfiable dependencies if installation fails

22 views
Skip to first unread message

Charlie Sharpsteen (JIRA)

unread,
Sep 25, 2018, 2:21:06 PM9/25/18
to puppe...@googlegroups.com
Charlie Sharpsteen updated an issue
 
Puppet / Improvement PUP-9176
puppet module install should list unsatisfiable dependencies if installation fails
Change By: Charlie Sharpsteen
Summary: Puppet puppet module tool install should list unsatisfiable dependencies if a specific module version is requested installation fails
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Jacob Helwig (JIRA)

unread,
Sep 25, 2018, 2:22:07 PM9/25/18
to puppe...@googlegroups.com
Jacob Helwig commented on Improvement PUP-9176
 
Re: puppet module install should list unsatisfiable dependencies if installation fails

Note for future developers: Most of the work for this will probably going to be in the walk method of SemanticPuppet::Dependency to get it to expose which dependency it was working on resolving when it couldn't find a suitable candidate and gave up. Once that's done, Puppet can be updated to sue the new version of SemanticPuppet & display the newly exposed information.

Charlie Sharpsteen (JIRA)

unread,
Sep 25, 2018, 2:29:05 PM9/25/18
to puppe...@googlegroups.com
Charlie Sharpsteen updated an issue
Change By: Charlie Sharpsteen
When {{puppet module}} install fails to find a module version for which dependencies can be satisfied, the operation fails with an error message. The message does not include any information about which dependency could not be satisfied which leaves no starting point for debugging and resolving the issue.

h2. Reproduction Case

  - Install Puppet 6 on CentOS 7:

{code:bash}
rpm -Uvh http://yum.puppetlabs.com/puppet6/puppet6-release-el-7.noarch.rpm
yum install -y puppet-agent
source /etc/profile.d/puppet-agent.sh
{code}

  - Install the latest version of puppetlabs-stdlib:

{code:bash}
puppet module install puppetlabs-stdlib
{code}

  - Attempt to install v0.4.0 of puppetlabs-puppet_authorization, which depends on stdlib "< 5.0.0":

{code:bash}
puppet module install puppetlabs-puppet_authorization --verson 0.4.0
{code}

h3. Outcome

Installation fails with an error about unsatisfiable dependencies, but no information on which dependency could not be satisfied:

{noformat}
# puppet module install puppetlabs-stdlib
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/production/modules
└── puppetlabs-stdlib (v5.0.0)

# puppet module install puppetlabs-puppet_authorization --version 0.4.0
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Error: Could not install module 'puppetlabs-puppet_authorization' (???)
  No version of 'puppetlabs-puppet_authorization' can satisfy all dependencies
      Use `puppet module install --ignore-dependencies` to install only this module
{noformat}

h3. Expected Outcome

The error message lists {{puppetlabs-stdlib}}
as a , its version, and the unsatisfiable dependency "< 5.0.0" that caused installation to fail. The module where the unsatisfiable dependency occurred should also be listed as this error can arise from transient dependencies. E.g. a dependency of a dependency of the module being installed cannot have its constraints satisfied.

Charlie Sharpsteen (JIRA)

unread,
Sep 25, 2018, 6:01:00 PM9/25/18
to puppe...@googlegroups.com
The error message lists {{puppetlabs-stdlib}}, its version, and the unsatisfiable dependency "< 5.0.0" that caused installation to fail. The module where the unsatisfiable dependency occurred should also be listed as this error can arise from transient transitive dependencies. E.g. a dependency of a dependency of the module being installed cannot have its constraints satisfied.

Jorie Tappa (JIRA)

unread,
Oct 8, 2018, 5:16:05 PM10/8/18
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Mar 5, 2020, 1:32:03 AM3/5/20
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
When {{puppet module}} install fails to find a module version for which dependencies can be satisfied, the operation fails with an error message. The message does not include any information about which dependency could not be satisfied which leaves no starting point for debugging and resolving the issue.

h2. Reproduction Case

  - Install Puppet 6 on CentOS 7:

{code:bash}
rpm -Uvh http://yum.puppetlabs.com/puppet6/puppet6-release-el-7.noarch.rpm
yum install -y puppet-agent
source /etc/profile.d/puppet-agent.sh
{code}

  - Install the latest version of puppetlabs-stdlib:

{code:bash}
puppet module install puppetlabs-stdlib
{code}

  - Attempt to install v0.4.0 of puppetlabs-puppet_authorization, which depends on stdlib "< 5.0.0":

{code:bash}
puppet module install puppetlabs-puppet_authorization -- verson version 0.4.0

{code}

h3. Outcome

Installation fails with an error about unsatisfiable dependencies, but no information on which dependency could not be satisfied:

{noformat}
# puppet module install puppetlabs-stdlib
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/production/modules
└── puppetlabs-stdlib (v5.0.0)

# puppet module install puppetlabs-puppet_authorization --version 0.4.0
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Error: Could not install module 'puppetlabs-puppet_authorization' (???)
  No version of 'puppetlabs-puppet_authorization' can satisfy all dependencies
      Use `puppet module install --ignore-dependencies` to install only this module
{noformat}

h3. Expected Outcome

The error message lists {{puppetlabs-stdlib}}, its version, and the unsatisfiable dependency "< 5.0.0" that caused installation to fail. The module where the unsatisfiable dependency occurred should also be listed as this error can arise from transitive dependencies. E.g. a dependency of a dependency of the module being installed cannot have its constraints satisfied.
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Mihai Buzgau (Jira)

unread,
Nov 10, 2020, 4:33:03 AM11/10/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Nov 10, 2020, 4:34:03 AM11/10/20
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Team: Puppet Developer Experience Night's Watch

Charlie Sharpsteen (Jira)

unread,
Nov 18, 2020, 1:33:04 PM11/18/20
to puppe...@googlegroups.com
Charlie Sharpsteen updated an issue
Change By: Charlie Sharpsteen
Affects Version/s: PUP 5.5.6
Affects Version/s: PUP 4.10.12
Affects Version/s: PUP 6.0.0
Affects Version/s: PUP 4.10.13
Affects Version/s: PUP 5.5.22
Affects Version/s: PUP 6.19.1

Charlie Sharpsteen (Jira)

unread,
Nov 18, 2020, 1:33:04 PM11/18/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Nov 19, 2020, 5:11:03 AM11/19/20
to puppe...@googlegroups.com

Gheorghe Popescu (Jira)

unread,
Nov 25, 2020, 4:45:03 AM11/25/20
to puppe...@googlegroups.com

Gabriel Nagy (Jira)

unread,
Nov 26, 2020, 7:56:02 AM11/26/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Dec 9, 2020, 3:58:03 AM12/9/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Dec 18, 2020, 9:11:04 AM12/18/20
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: NW - 2020-12-09, NW - 2020-12-23 , NW - 2021-01-20

Gabriel Nagy (Jira)

unread,
Jan 12, 2021, 10:53:03 AM1/12/21
to puppe...@googlegroups.com
Gabriel Nagy updated an issue
Change By: Gabriel Nagy
Release Notes: Enhancement
Release Notes Summary: When `puppet module install` fails to find a module version for which dependencies can be satisfied, a more detailed error is shown, including the unsatisfiable module(s) along with ranges.

Josh Cooper (Jira)

unread,
Jan 12, 2021, 1:18:02 PM1/12/21
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: PUP 7.2.0
Fix Version/s: PUP 6.20.0

Claire Cadman (Jira)

unread,
Jan 13, 2021, 9:08:04 AM1/13/21
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jan 15, 2021, 5:51:03 PM1/15/21
to puppe...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages