Skip to content

Commit

Permalink
Don't modify existing airgap k3s-install script (#372)
Browse files Browse the repository at this point in the history
* Check for existing k3s install script during airgap deployment

Signed-off-by: Derek Nola <[email protected]>

* Update vagrant file to newer OS

Signed-off-by: Derek Nola <[email protected]>

---------

Signed-off-by: Derek Nola <[email protected]>
  • Loading branch information
dereknola authored Oct 18, 2024
1 parent 99fa632 commit c82a2f9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
6 changes: 4 additions & 2 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ENV['VAGRANT_NO_PARALLEL'] = 'no'
NODE_ROLES = ["server-0", "server-1", "server-2", "agent-0", "agent-1"]
NODE_BOXES = ['generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004']
NODE_BOXES = ['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04']
NODE_CPUS = 2
NODE_MEMORY = 2048
# Virtualbox >= 6.1.28 require `/etc/vbox/network.conf` for expanded private networks
Expand All @@ -26,12 +26,14 @@ def provision(vm, role, node_num)
"k3s_cluster:children" => ["server", "agent"],
}
ansible.extra_vars = {
k3s_version: "v1.26.9+k3s1",
k3s_version: "v1.28.14+k3s1",
api_endpoint: "#{NETWORK_PREFIX}.100",
token: "myvagrant",
# Required to use the private network configured above
extra_server_args: "--node-external-ip #{node_ip} --flannel-iface eth1",
extra_agent_args: "--node-external-ip #{node_ip} --flannel-iface eth1",
# Airgap setup, left as reference
# airgap_dir: "./my_airgap",
# Optional, left as reference for ruby-ansible syntax
# extra_service_envs: [ "NO_PROXY='localhost'" ],
# server_config_yaml: <<~YAML
Expand Down
9 changes: 9 additions & 0 deletions roles/airgap/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,18 @@
that: "ansible_version.full is version_compare('2.12', '>=')"
msg: "The Airgap role requires at least ansible-core 2.12"

- name: Check for existing install script
become: false
delegate_to: localhost
ansible.builtin.stat:
path: "{{ airgap_dir + '/k3s-install.sh' }}"
register: host_install_script

- name: Download k3s install script
become: false
delegate_to: localhost
# Workaround for https://github.com/ansible/ansible/issues/64016
when: not host_install_script.stat.exists
ansible.builtin.get_url:
url: https://get.k3s.io/
timeout: 120
Expand Down

0 comments on commit c82a2f9

Please sign in to comment.