Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Protected vs Not-Protected BIG-IP® Connection in Functional Tests

Open
#69 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
backend, testing

Research direction

Read f5_cccl/f5_cccl/resource/ltm/http_monitor.py, https_monitor.py, icmp_monitor.py, and tcp_monitor.py, focusing on each monitor_schema_kvps namedtuple and the BEGIN if/then block. Check the functional-test behavior for main versus non-main execution. Done means the objects are protected from unintended changes while remaining shared across instantiated monitors.

Written by the indexing model from the issue text.

Description

enhancement

In the
./f5-cccl/f5_cccl/resource/ltm/*monitor.py
Set of files, there is a variable that should be protected called *Monitor.monitor_schema_kvps. So in the...

  • ./http_monitor.py it is the HTTPMonitor.monitor_schema_kvps
  • ./https_monitor.py it is the HTTPSMonitor.monitor_schema_kvps
  • ./icmp_monitor.py it is the ICMPMonitor.monitor_schema_kvps
  • ./tcp_monitor.py it is the TCPMonitor.monitor_schema_kvps

These objects are namedtuple's that should be only changeable by this object, but share across all instantiated instances. In the way that I originally authored these files, it is modified in the "BEGIN" statement in the bottom of each file within the if/then block for whether or not the executor instance is __main__ (negative) or not (positive).

This was originally meant to be a level of future-proofing allowing for the later functionality of implementing a dynamic schema based upon the original inputs that might include different schemas.

This is a low-priority bug or enhancement that would add a level of protection.

Dominant language
Python
Stars
13
Forks
48
Avg merge
1d 14h
Merged PRs (30d)
2

Getting set up

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-cccl

All issues in f5devcentral/f5-cccl

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.