forked from k3s-io/k3s
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add el9 to the install script Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * Add rocky-9 install test to test el9 selinux Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * Add rocky-9 install test to test el9 selinux to workflow Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * Use el8 for fedora 37 Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * Add a warning to reboot in coreos systems Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * remove k3s-selinux module in case of upgrade in el9 Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * Check for available container-selinux and k3s-selinux Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * extend selinux upgrade to sle distros Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * create /var/lib/rpm-state in sle systems Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * nit fix Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * extend selinux upgrade to sle distros Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> --------- Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
- Loading branch information
1 parent
213d7ad
commit 9543470
Showing
3 changed files
with
153 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# -*- mode: ruby -*- | ||
# vi: set ft=ruby : | ||
# | ||
|
||
ENV['TEST_INSTALL_SH'] ||= '../../../install.sh' | ||
ENV['INSTALL_K3S_CHANNEL'] ||= 'testing' | ||
|
||
Vagrant.configure("2") do |config| | ||
config.vagrant.plugins = { | ||
'vagrant-k3s' => {:version => '~> 0.1.3'}, | ||
} | ||
config.vm.box = "generic/rocky9" | ||
config.vm.boot_timeout = ENV['TEST_VM_BOOT_TIMEOUT'] || 600 # seconds | ||
config.vm.synced_folder '.', '/vagrant', disabled: true | ||
|
||
config.vm.define 'install-rocky-9', primary: true do |test| | ||
test.vm.hostname = 'smoke' | ||
test.vm.provision "disable-firewall", type: "shell", inline: "systemctl stop firewalld" | ||
test.vm.provision 'k3s-upload', type: 'file', run: 'always', source: ENV['TEST_INSTALL_SH'], destination: 'install.sh' | ||
test.vm.provision 'k3s-install', type: 'k3s', run: 'once' do |k3s| | ||
k3s.installer_url = 'file:///home/vagrant/install.sh' | ||
k3s.args = %w[server] | ||
k3s.env = ENV.select{|k,v| k.start_with?('K3S_') || k.start_with?('INSTALL_K3S_')}.merge({ | ||
:INSTALL_K3S_NAME => 'server', | ||
}) | ||
k3s.config = <<~YAML | ||
selinux: true | ||
token: 'vagrant' | ||
YAML | ||
k3s.config_mode = '0644' # side-step https://github.com/k3s-io/k3s/issues/4321 | ||
end | ||
test.vm.provision "k3s-wait-for-node", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eu -o pipefail | ||
echo 'Waiting for node to be ready ...' | ||
time timeout 300 bash -c 'while ! (kubectl wait --for condition=ready node/$(hostname) 2>/dev/null); do sleep 5; done' | ||
kubectl get node,all -A -o wide | ||
SHELL | ||
end | ||
test.vm.provision "k3s-wait-for-coredns", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eu -o pipefail | ||
function describe-coredns { | ||
RC=$? | ||
if [[ $RC -ne 0 ]]; then | ||
kubectl describe node | ||
kubectl --namespace kube-system describe pod -l k8s-app=kube-dns | ||
kubectl --namespace kube-system logs -l k8s-app=kube-dns | ||
fi | ||
exit $RC | ||
} | ||
trap describe-coredns EXIT | ||
time timeout 300 bash -c 'while ! (kubectl --namespace kube-system rollout status --timeout 10s deploy/coredns 2>/dev/null); do sleep 5; done' | ||
SHELL | ||
end | ||
test.vm.provision "k3s-wait-for-local-storage", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eu -o pipefail | ||
time timeout 300 bash -c 'while ! (kubectl --namespace kube-system rollout status --timeout 10s deploy/local-path-provisioner 2>/dev/null); do sleep 5; done' | ||
SHELL | ||
end | ||
test.vm.provision "k3s-wait-for-metrics-server", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eu -o pipefail | ||
time timeout 300 bash -c 'while ! (kubectl --namespace kube-system rollout status --timeout 10s deploy/metrics-server 2>/dev/null); do sleep 5; done' | ||
SHELL | ||
end | ||
test.vm.provision "k3s-wait-for-traefik", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eu -o pipefail | ||
time timeout 300 bash -c 'while ! (kubectl --namespace kube-system rollout status --timeout 10s deploy/traefik 2>/dev/null); do sleep 5; done' | ||
SHELL | ||
end | ||
test.vm.provision "k3s-status", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eux -o pipefail | ||
kubectl get node,all -A -o wide | ||
SHELL | ||
end | ||
test.vm.provision "k3s-procps", type: "shell", run: ENV['CI'] == 'true' ? 'never' : 'once' do |sh| | ||
sh.env = { :PATH => "/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" } | ||
sh.inline = <<~SHELL | ||
#!/usr/bin/env bash | ||
set -eux -o pipefail | ||
ps auxZ | grep -E 'k3s|kube|container' | grep -v grep | ||
SHELL | ||
end | ||
end | ||
|
||
config.vm.provision 'selinux-status', type: 'shell', run: 'once', inline: 'sestatus' | ||
|
||
%w[libvirt virtualbox vmware_desktop].each do |p| | ||
config.vm.provider p do |v| | ||
v.cpus = ENV['TEST_VM_CPUS'] || 2 | ||
v.memory = ENV['TEST_VM_MEMORY'] || 2048 | ||
end | ||
end | ||
config.vm.provider :virtualbox do |v,o| | ||
v.gui = false | ||
v.check_guest_additions = false | ||
end | ||
end |