Skip to content

Windows contributors face multiple issues: symlink folders not portable, permission errors, and missing imports in tests #2427

@PraveenMudalgeri

Description

@PraveenMudalgeri

Summary

Trying to contribute as a Windows developer to this repo turned up several significant issues:

  1. Several folders (e.g., kubernetes/config, kubernetes/watch) are symlinks to base/ subdirectories in the repo. On Windows and when using ZIP downloads from GitHub, these appear as plain text files and break both pip install -e . and running tests, since setuptools expects actual directories.

  2. At least one test file (watch_test.py under kubernetes/base/watch and duplicated under kubernetes/watch) is missing import json. This causes test failures with NameError: name 'json' is not defined.

  3. Several tests (for example, test_oidc_with_refresh inside kube_config_test.py) fail on Windows with PermissionError when trying to create/write temp files.

Steps to Reproduce

  • Clone or download the repo on Windows.
  • Try pip install -e . or run python -m pytest.
  • Observe errors related to config/watch packages not being directories, import errors in test files, and permission errors for temp files.

Proposed Fixes

  • Replace symlinks (kubernetes/config, kubernetes/watch, etc.) with real directories or use another structure to support Windows and ZIP-based contributors.
  • Ensure all test modules have necessary imports (e.g., import json).
  • Refactor or skip the failing temp file tests on Windows, or improve documentation about required permissions.

Environment

  • OS: Windows 10/11, Python 3.13
  • (Include pip list or pip freeze if desired)

Thank you! I’m happy to give more details or to help test solutions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions