Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PXE boot support to k3s_agent role #409

Merged
merged 3 commits into from
Feb 6, 2024

Commits on Feb 6, 2024

  1. Add conditional snapshotter for PXE-booted systems

    **Added:**
    
    - PXE Boot Check - Introduced tasks to check if the system is PXE-booted by
      analyzing `/proc/cmdline` in `roles/k3s_agent/tasks/main.yml`.
    - Conditional Snapshotter in Template - Added logic in `k3s.service.j2` template
      to conditionally set `--snapshotter native` for PXE-booted systems.
    
    **Changed:**
    
    - `k3s.service.j2` Template Update - Modified the `ExecStart` line to include a
      conditional check for `is_pxe_booted` fact, dynamically setting the
      `--snapshotter` option for NFS-mounted systems.
    - `main.yml` Task Modification - Added tasks to set `is_pxe_booted` fact based
      on the presence of `root=/dev/nfs` in the system's boot command line.
    
    This update allows k3s agents on PXE-booted systems to use the native snapshotter
    when running on NFS, addressing compatibility issues with OverlayFS.
    l50 committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    ded061a View commit details
    Browse the repository at this point in the history
  2. Introduce idiomatic practices for affected areas from previous commits

    **Added:**
    
    - Structured HTTP Proxy Configuration Block - Added a structured block in
      `http_proxy.yml` for managing HTTP proxy settings, aligning with Ansible's
      recommended practices. This includes creating directories and deploying
      configuration files in a clear, modular fashion.
    - Conditional Execution for Proxy Setup - Implemented conditional execution
      for the proxy setup in `http_proxy.yml`, utilizing `proxy_env` to adhere
      to Ansible's best practices for conditional tasks.
    - Improved PXE-Boot System Check Block - Introduced a more structured approach
      in `main.yml` for checking PXE-booted systems, enhancing readability and
      maintainability.
    
    **Changed:**
    
    - Adopted Ansible Builtin Modules - Transitioned existing tasks to use
      `ansible.builtin` modules, ensuring compatibility and future-proofing the
      role.
    - Refined Task Grouping - Reorganized tasks into logical blocks, improving
      the overall structure and readability, and showcasing Ansible's capabilities
      for efficient task management.
    - Updated K3s Service Configuration - Modified the K3s service configuration
      task in `main.yml` for a more streamlined approach using Ansible's template
      module, reflecting community-driven best practices.
    
    **Removed:**
    
    - Streamlined Task Definitions - Optimized task definitions to reduce
      redundancy, focusing on clarity and adherence to the evolving Ansible
      community standards.
    l50 committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    ab4a261 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4742400 View commit details
    Browse the repository at this point in the history