{"id":18873931,"url":"https://github.com/loganmc10/openshift-checks-py","last_synced_at":"2025-07-15T15:37:12.684Z","repository":{"id":155155542,"uuid":"550369321","full_name":"loganmc10/openshift-checks-py","owner":"loganmc10","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T08:35:14.000Z","size":52,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T16:21:28.317Z","etag":null,"topics":["openshift"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loganmc10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-12T16:39:50.000Z","updated_at":"2024-10-29T08:35:16.000Z","dependencies_parsed_at":"2023-12-14T20:50:07.938Z","dependency_job_id":"c088e646-bd0b-429e-ab9b-69715a43cc57","html_url":"https://github.com/loganmc10/openshift-checks-py","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/loganmc10/openshift-checks-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganmc10%2Fopenshift-checks-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganmc10%2Fopenshift-checks-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganmc10%2Fopenshift-checks-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganmc10%2Fopenshift-checks-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loganmc10","download_url":"https://codeload.github.com/loganmc10/openshift-checks-py/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganmc10%2Fopenshift-checks-py/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265443547,"owners_count":23766408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openshift"],"created_at":"2024-11-08T05:36:20.566Z","updated_at":"2025-07-15T15:37:12.620Z","avatar_url":"https://github.com/loganmc10.png","language":"Python","readme":"# openshift-checks-py\nAdapted from https://github.com/RHsyseng/openshift-checks\n\n## Dependencies\n### Python packages\n```\npip install -r requirements.txt\n```\n### OpenShift client\n```\ncurl -L -O https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz\n```\nhttps://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html#installing-openshift-cli\n\n## Usage\n```\nusage: openshift-checks.py [-h] [-n] [-s SINGLE] [-l] [-r] [-p PARALLEL_JOBS] [-i] [--skip SKIP] [--skip-oc-debug] [-m MUST_GATHER] [--entropy-threshold ENTROPY_THRESHOLD] [--ovn-memory-threshold OVN_MEMORY_THRESHOLD]\n                           [--port-thrasing-threshold PORT_THRASING_THRESHOLD] [--reserved-cpu-threshold RESERVED_CPU_THRESHOLD] [--zombie-threshold ZOMBIE_THRESHOLD] [--network-threshold NETWORK_THRESHOLD]\n                           [--flap-threshold FLAP_THRESHOLD]\n\nPerform a health check on an OpenShift cluster.\n\noptions:\n  -h, --help            show this help message and exit\n  -n, --no-colors       Disable colored output\n  -s SINGLE, --single SINGLE\n                        Run a single check\n  -l, --list            List checks\n  -r, --results-only    Only show results\n  -p PARALLEL_JOBS, --parallel-jobs PARALLEL_JOBS\n                        How many oc debug jobs to run in parallel. Default=3\n  -i, --incluster-config\n                        Use in-cluster config\n  --skip SKIP           Comma separated list of checks to skip\n  --skip-oc-debug       Skip checks that use oc debug\n  -m MUST_GATHER, --must-gather MUST_GATHER\n                        Path to a must-gather folder\n  --entropy-threshold ENTROPY_THRESHOLD\n                        Entropy threshold in bits. Default=200\n  --ovn-memory-threshold OVN_MEMORY_THRESHOLD\n                        OVN pod memory threshold in Mi. Default=5000\n  --port-thrasing-threshold PORT_THRASING_THRESHOLD\n                        OVN port thrasing message threshold. Default=10\n  --reserved-cpu-threshold RESERVED_CPU_THRESHOLD\n                        Reserved CPU usage threshold in percent. Default=80\n  --zombie-threshold ZOMBIE_THRESHOLD\n                        Zombie process count threshold. Default=5\n  --network-threshold NETWORK_THRESHOLD\n                        Network error/drop threshold in percent. Default=1\n  --flap-threshold FLAP_THRESHOLD\n                        Interface flapping threshold. Default=5\n```\n\n## must-gather\nA must-gather is an offline support bundle. It contains resource definitions and logs. See https://docs.openshift.com/container-platform/latest/support/gathering-cluster-data.html#support_gathering_data_gathering-cluster-data\n\nThis tool can run a health check against a must-gather. Some checks will be skipped (checks that require \"oc debug\" access, and checks that require live network access).\n\n```\nopenshift-checks.py -m \u003cpath_to_must_gather_folder\u003e\n```\nInitialization can take a while when running against a must-gather, it needs to read all the YAML resource definitions into memory.\n## Container\n```\npodman run --pull always -it --rm -v $HOME/.kube/config:/kubeconfig:Z quay.io/loganmc10/openshift-checks-py:latest -h\n```\n\n## Linux Binary\n```\ncurl -L https://github.com/loganmc10/openshift-checks-py/releases/latest/download/openshift-checks -o openshift-checks\nchmod +x ./openshift-checks\n```\n\nIt is built using PyInstaller, so it is portable and doesn't have dependencies (except the oc binary).\n\n## CronJob\nCreates a daily CronJob on an OpenShift cluster. Job will fail if any of the checks fail.\n```\noc apply -f cronjob.yaml\n```\nRun manually:\n```\noc create job -n checks-openshift --from=cronjob/openshift-checks-py check\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floganmc10%2Fopenshift-checks-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floganmc10%2Fopenshift-checks-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floganmc10%2Fopenshift-checks-py/lists"}