voxpupuli / voxpupuli/puppet-php
Non idempotence for 8 PHP extensions: apcu, ctype, dom, iconv, imagick, posix, xmlreader, xmlwriter
Nobody has claimed this yet.
- Dominant language
- Puppet
- Stars
- 86
- Forks
- 264
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
Affected Puppet, Ruby, OS and module versions/distributions
- Puppet: 5, 6, 6-nightly
- Ruby: 2.5.3
- Distribution: Ubuntu 18.04
- Module version: 7.0.1-rc0
How to reproduce (e.g Puppet code you use)
See:
- #540 apcu
- #541 ctype
- #542 dom
- #543 iconv
- #544 imagick
- #545 posix
- #546 xmlreader
- #547 xmlwriter
What are you seeing
Travis acceptance tests are red on test applies idempotently
What behaviour did you expect instead
Travis acceptance tests should be green on applies idempotently
Any additional information you'd like to impart
Context: I'm working to create a component module for NextCloud, which requires a lot of PHP extensions.
It seems those 8 PHP extension (apcu, ctype, dom, iconv, imagick, posix, xmlreader, xmlwriter) are not idempotent on installation, but as I am not a Puppet expert, I'd be really happy to have some feedback.
What I've done:
- Following @Dan33l recommendations, I refactored acceptance tests to clearly separate applies without error test from applies idempotently test. This is done in PR #539, which is green on all tests. I've also added 6 more extensions (
bz2,curl,intl,json,mbstring,zip) to have comparison points. - Based on #539, I created 8 new PR (one for each extension) to highlight each extension idempotence status.
- #540 apcu
- #541 ctype
- #542 dom
- #543 iconv
- #544 imagick
- #545 posix
- #546 xmlreader
- #547 xmlwriter
- For now, I just worked on identifying the issue, and sharing it to gather early feedback. I did not dive in actual code yet.
- In a way, this could be related to #391 but I'm not so sure.
This is my first significant issue reporting, so feel free to correct me, give feedback and point me to suitable documentation if I ever made something wrong :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Travis acceptance test named "applies idempotently" and compare the refactoring in PR #539 with the extension-specific PRs #540-#547. Investigate why apcu, ctype, dom, iconv, imagick, posix, xmlreader, and xmlwriter fail while the comparison extensions pass. Done means the affected extension installations apply idempotently and the acceptance tests are green.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- devops, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100