f5_node also not idempotent

Open
#24 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Start with the documentation example and the referenced f501sac.pp line 38, then reproduce the failure with puppet device -v --user=root. Trace the F5_pool resource handling for the existing pool member and use the reported REST 409 as the failure condition; done means subsequent agent runs apply without this error.

Written by the indexing model from the issue text.

Description

help wanted

Attempting to follow the example in the docs for creating nodes/pool/virtual server structure, I found that subsequent puppet agent runs error out with the following message:

#> puppet device -v --user=root
Info: starting applying configuration to f501-sac at https://XXX.YYY.ZZZ.NNN:443/
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for f501-sac
Info: Applying configuration version '1517876065'
Error: Could not set 'present' on ensure: REST failure: HTTP status code 409 detected. Body of failure is: {"code":409,"message":"01020066:3: The requested Pool Member (/Common/W3DR_API_pool /Common/W3DR_APIServer_1 80) already exists in partition Common.","errorStack":[],"apiError":3} at 38:/etc/puppetlabs/puppet/environments/production/modules/f5/manifests/f501sac.pp
Error: Could not set 'present' on ensure: REST failure: HTTP status code 409 detected. Body of failure is: {"code":409,"message":"01020066:3: The requested Pool Member (/Common/W3DR_API_pool /Common/W3DR_APIServer_1 80) already exists in partition Common.","errorStack":[],"apiError":3} at 38:/etc/puppetlabs/puppet/environments/production/modules/f5/manifests/f501sac.pp
Wrapped exception:
REST failure: HTTP status code 409 detected. Body of failure is: {"code":409,"message":"01020066:3: The requested Pool Member (/Common/W3DR_API_pool /Common/W3DR_APIServer_1 80) already exists in partition Common.","errorStack":[],"apiError":3}
Error: /Stage[main]/F5::F501sac/F5_pool[/Common/W3DR_API_pool]/ensure: change from absent to present failed: Could not set 'present' on ensure: REST failure: HTTP status code 409 detected. Body of failure is: {"code":409,"message":"01020066:3: The requested Pool Member (/Common/W3DR_API_pool /Common/W3DR_APIServer_1 80) already exists in partition Common.","errorStack":[],"apiError":3} at 38:/etc/puppetlabs/puppet/environments/production/modules/f5/manifests/f501sac.pp
Notice: Applied catalog in 0.97 seconds

Dominant language
Ruby
Stars
13
Forks
24
PR merge metrics
No merged PRs in 30d

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 f5devcentral/f5-puppet

All issues in f5devcentral/f5-puppet

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.