forked from k3s-io/k3s
-
Notifications
You must be signed in to change notification settings - Fork 3
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 <[email protected]> * Add rocky-9 install test to test el9 selinux Signed-off-by: galal-hussein <[email protected]> * Add rocky-9 install test to test el9 selinux to workflow Signed-off-by: galal-hussein <[email protected]> * Use el8 for fedora 37 Signed-off-by: galal-hussein <[email protected]> * Add a warning to reboot in coreos systems Signed-off-by: galal-hussein <[email protected]> * remove k3s-selinux module in case of upgrade in el9 Signed-off-by: galal-hussein <[email protected]> * Check for available container-selinux and k3s-selinux Signed-off-by: galal-hussein <[email protected]> * extend selinux upgrade to sle distros Signed-off-by: galal-hussein <[email protected]> * create /var/lib/rpm-state in sle systems Signed-off-by: galal-hussein <[email protected]> * nit fix Signed-off-by: galal-hussein <[email protected]> * extend selinux upgrade to sle distros Signed-off-by: galal-hussein <[email protected]> --------- Signed-off-by: galal-hussein <[email protected]>
- 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 |