pip resource requirements cause dependency cycle

Open
#509 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python, ruby

Research direction

Start by reading manifests/pip.pp around line 75 and reproduce the setup with virtual environments in two mutually dependent modules. Check how the resource collectors select venvs and verify that each python::pip resource depends only on the venv it uses, without creating a dependency cycle.

Written by the indexing model from the issue text.

Description

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: v5.5.14
  • Ruby: 2.4.5p335
  • Distribution: Centos 7
  • Module version: 2.2.3-rc0

How to reproduce (e.g Puppet code you use)

If you create venvs in two different modules which depend on each other and install packages via python::pip, dependency cycle appears as all venvs are requirements for each python::pip.

What behaviour did you expect instead

Python:;pip should depend only on venvs it uses.

Any additional information you'd like to impart

Affecting lines start at https://github.com/voxpupuli/puppet-python/blob/master/manifests/pip.pp#L75. Those collectors should probably limit venv by path.

Dominant language
Ruby
Stars
196
Forks
372
Avg merge
1d 18m
Merged PRs (30d)
4

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from voxpupuli/puppet-python

All issues in voxpupuli/puppet-python

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.