]> git.openstreetmap.org Git - chef.git/commitdiff
Merge remote-tracking branch 'github/pull/641'
authorTom Hughes <tom@compton.nu>
Tue, 28 Nov 2023 10:20:02 +0000 (10:20 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 28 Nov 2023 10:20:02 +0000 (10:20 +0000)
.github/workflows/test-kitchen.yml
.kitchen.yml
cookbooks/chef/recipes/default.rb
test/integration/chef/inspec/chef_spec.rb [new file with mode: 0644]

index 1b8541af5fcac1167398c44001a367007d7d4cc8..12502a628de9f380232655dd59ec9ed10cd9253c 100644 (file)
@@ -25,6 +25,7 @@ jobs:
           - bind
           - blog
           - blogs
+          - chef
           - civicrm
           - clamav
           - community
index 8fdc7b7813184d3cd5f48a9ae3d90f76766119ba..cb1c2ffde050cb678aa9e1398e3041260ab53849 100644 (file)
@@ -86,6 +86,9 @@ suites:
   - name: blogs
     run_list:
       - recipe[blogs::default]
+  - name: chef
+    run_list:
+      - recipe[chef::default]
   - name: civicrm
     run_list:
       - recipe[civicrm::default]
index 99f665541521c5ff1a4926d03e0308909b61d524..60511bf16104ed3707164acf7500d78b0dbdc266 100644 (file)
@@ -33,6 +33,18 @@ chef_arch = if arm?
               "amd64"
             end
 
+os_release = if platform?("debian") && node[:lsb][:release].to_f > 11
+               11
+             else
+               node[:lsb][:release]
+             end
+
+# Chef is currently not available for Debian 11 on arm64.
+if chef_platform == "debian" && os_release == 11 && chef_arch == "arm64"
+  chef_platform = "ubuntu"
+  os_release = "22.04"
+end
+
 chef_package = "chef_#{chef_version}-1_#{chef_arch}.deb"
 
 directory "/var/cache/chef" do
@@ -49,12 +61,6 @@ Dir.glob("#{cache_dir}/chef_*.deb").each do |deb|
   end
 end
 
-os_release = if platform?("debian") && node[:lsb][:release].to_f > 11
-               11
-             else
-               node[:lsb][:release]
-             end
-
 remote_file "#{cache_dir}/#{chef_package}" do
   source "https://packages.chef.io/files/stable/chef/#{chef_version}/#{chef_platform}/#{os_release}/#{chef_package}"
   owner "root"
diff --git a/test/integration/chef/inspec/chef_spec.rb b/test/integration/chef/inspec/chef_spec.rb
new file mode 100644 (file)
index 0000000..b1abdc0
--- /dev/null
@@ -0,0 +1,17 @@
+describe package("chef") do
+  it { should be_installed }
+end
+
+describe systemd_service("chef-client") do
+  it { should be_installed }
+end
+
+describe systemd_service("chef-client.timer") do
+  it { should be_installed }
+  it { should be_enabled }
+end
+
+describe command("chef-client --version") do
+  its("exit_status") { should eq 0 }
+  its("stdout") { should match /Chef Infra Client/ }
+end