Unverified Commit f81c8885 authored by Michael Klishin's avatar Michael Klishin

Merge branch 'v5.x'

parents 6781a6dd d663dc6a
......@@ -16,14 +16,13 @@ verifier:
sudo: false
platforms:
- name: centos-6
- name: centos-8
driver:
image: dokken/centos-6
image: dokken/centos-8
platform: rhel
pid_one_command: /sbin/init
hostname: localhost
pid_one_command: /usr/lib/systemd/systemd
intermediate_instructions:
- RUN yum -y install sudo which initscripts
- RUN yum -y install sudo lsof which systemd-sysv initscripts openssl net-tools
- name: centos-7
driver:
......@@ -33,25 +32,25 @@ platforms:
intermediate_instructions:
- RUN yum -y install sudo lsof which systemd-sysv initscripts openssl net-tools
- name: fedora-31
- name: fedora-32
driver:
image: dokken/fedora-31
image: dokken/fedora-32
pid_one_command: /usr/lib/systemd/systemd
intermediate_instructions:
- RUN dnf -y install sudo
- name: ubuntu-18.04
- name: ubuntu-20.04
driver:
image: dokken/ubuntu-18.04
image: dokken/ubuntu-20.04
pid_one_command: /bin/systemd
intermediate_instructions:
- ENV DEBIAN_FRONTEND noninteractive
- RUN /usr/bin/apt-get update -y
- RUN /usr/bin/apt-get install -y ca-certificates sudo apt-transport-https lsb-release procps net-tools
- name: debian-9
- name: debian-10
driver:
image: dokken/debian-9
image: dokken/debian-10
pid_one_command: /bin/systemd
intermediate_instructions:
- ENV DEBIAN_FRONTEND noninteractive
......@@ -81,9 +80,9 @@ suites:
verifier:
inspec_tests:
- test/integration/default
includes: ["ubuntu-18.04", "debian-9"]
includes: ["ubuntu-20.04", "debian-10"]
- name: default-rpm-el7-alpha
- name: default-rpm-el8-alpha
run_list:
- recipe[rabbitmq::erlang_package]
- recipe[rabbitmq::plugins]
......@@ -96,13 +95,13 @@ suites:
version: <%= ENV['RABBITMQ_VERSION'] %>
rpm_package_url: "https://dl.bintray.com/rabbitmq/all-dev/rabbitmq-server/<%= ENV['RABBITMQ_VERSION'] %>/"
rpm_package: "rabbitmq-server-<%= ENV['RABBITMQ_VERSION'].to_s.gsub(/\-alpha/, "~alpha") %>-1.el7.noarch.rpm"
rpm_package: "rabbitmq-server-<%= ENV['RABBITMQ_VERSION'].to_s.gsub(/\-alpha/, "~alpha") %>-1.el8.noarch.rpm"
verifier:
inspec_tests:
- test/integration/default
includes: ["centos-7", "fedora-31"]
includes: ["centos-8", "fedora-32"]
- name: default-rpm-el6-alpha
- name: default-rpm-el7-alpha
run_list:
- recipe[erlang::default]
- recipe[rabbitmq::plugins]
......@@ -110,14 +109,14 @@ suites:
erlang:
install_method: "esl"
esl:
version: "23.0.2-1"
version: "1:23.0.2-1"
rabbitmq:
# export RABBITMQ_VERSION="3.7.13-alpha.21"
# export RABBITMQ_VERSION="3.8.6-alpha.21"
version: <%= ENV['RABBITMQ_VERSION'] %>
rpm_package_url: "https://dl.bintray.com/rabbitmq/all-dev/rabbitmq-server/<%= ENV['RABBITMQ_VERSION'] %>/"
rpm_package: "rabbitmq-server-<%= ENV['RABBITMQ_VERSION'].to_s.gsub(/\-alpha/, "~alpha") %>-1.el6.noarch.rpm"
rpm_package: "rabbitmq-server-<%= ENV['RABBITMQ_VERSION'].to_s.gsub(/\-alpha/, "~alpha") %>-1.el7.noarch.rpm"
verifier:
inspec_tests:
- test/integration/default
includes: ["centos-6"]
includes: ["centos-7"]
......@@ -29,6 +29,15 @@ platforms:
intermediate_instructions:
- RUN zypper -n install sudo lsof which openssl net-tools
- name: centos-6
driver:
image: dokken/opensuse-leap-15
platform: suse
pid_one_command: /usr/lib/systemd/systemd
hostname: localhost
intermediate_instructions:
- RUN zypper -n install sudo lsof which openssl net-tools
- name: centos-7
driver:
image: dokken/centos-7
......@@ -169,7 +178,7 @@ suites:
verifier:
inspec_tests:
- test/integration/default
includes: ["ubuntu-18.04", "ubuntu-20.04", "debian-10", "debian-9"]
includes: ["ubuntu-20.04", "ubuntu-18.04", "ubuntu-16.04", "debian-10", "debian-9"]
- name: management-plugin-deb
run_list:
......@@ -361,7 +370,7 @@ suites:
# Team RabbitMQ Erlang packages
#
# Latest Erlang package, Debian, HiPE enabled
# Latest Erlang package, Debian
- name: rabbitmq-erlang-latest-deb
run_list:
- recipe[rabbitmq::erlang_package]
......@@ -372,12 +381,11 @@ suites:
rabbitmq:
erlang:
enabled: true
hipe: true
version: "3.8.5"
verifier:
inspec_tests:
- test/erlang_package/latest_deb
includes: ["debian-10", "debian-9", "ubuntu-18.04", "ubuntu-16.04"]
includes: ["debian-10", "debian-9", "ubuntu-18.04", "ubuntu-20.04"]
# Erlang package, Debian, version pinning
- name: rabbitmq-erlang-pinned-deb
......@@ -393,7 +401,44 @@ suites:
verifier:
inspec_tests:
- test/erlang_package/pinned_deb
includes: ["debian-10", "ubuntu-18.04", "ubuntu-16.04"]
includes: ["debian-10", "ubuntu-18.04", "ubuntu-20.04"]
# Latest Erlang package, RPM
- name: rabbitmq-erlang-latest-rpm-el8
run_list:
- recipe[rabbitmq::erlang_package]
- recipe[rabbitmq::default]
attributes:
# relies on node.rabbitmq.erlang.version default
# which is nil/"install latest"
rabbitmq:
erlang:
enabled: true
version: "3.8.5"
verifier:
inspec_tests:
- test/erlang_package/latest_rpm
includes: ["fedora-31", "centos-7", "centos-8"]
# Erlang package, RPM, version pinning
- name: rabbitmq-erlang-pinned-rpm-el8
run_list:
- recipe[rabbitmq::erlang_package]
- recipe[rabbitmq::default]
attributes:
rabbitmq:
erlang:
enabled: true
version: "23.0.2"
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/23/el/8
repo_gpgcheck: true
version: "3.8.5"
verifier:
inspec_tests:
- test/erlang_package/pinned_rpm
includes: ["fedora-31", "centos-8"]
# Latest Erlang package, RPM
- name: rabbitmq-erlang-latest-rpm-el7
......@@ -423,7 +468,7 @@ suites:
enabled: true
version: "23.0.2"
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
repo_gpgcheck: true
version: "3.8.5"
verifier:
......@@ -441,7 +486,7 @@ suites:
erlang:
enabled: true
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/23/el/6
repo_gpgcheck: false
version: "3.8.5"
verifier:
......@@ -460,7 +505,7 @@ suites:
enabled: true
version: "23.0.2"
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/6
repo_gpgcheck: true
version: "3.8.5"
verifier:
......
......@@ -13,14 +13,14 @@ transport:
name: "ssh"
platforms:
- name: centos-8
- name: centos-7
- name: centos-8
- name: ubuntu-16.04
- name: ubuntu-18.04
- name: ubuntu-20.04
- name: debian-10
- name: fedora-31
- name: fedora-30
- name: centos-6
- name: fedora-31
- name: opensuse-leap-15
#
......@@ -73,7 +73,7 @@ suites:
verifier:
inspec_tests:
- test/integration/default
includes: ["ubuntu-18.04", "ubuntu-16.04", "debian-10"]
includes: ["ubuntu-20.04", "ubuntu-18.04", "ubuntu-16.04", "debian-10"]
- name: management-plugin-deb
run_list:
......@@ -109,7 +109,7 @@ suites:
verifier:
inspec_tests:
- test/integration/limits
includes: ["ubuntu-18.04", "ubuntu-16.04", "debian-10"]
includes: ["ubuntu-20.04", "ubuntu-18.04", "debian-10"]
- name: default-rpm
run_list:
......@@ -135,7 +135,7 @@ suites:
rabbitmq:
erlang:
enabled: true
version: "22.3.4"
version: "22.3.4.4"
version: "3.8.5"
verifier:
inspec_tests:
......@@ -265,7 +265,7 @@ suites:
# Team RabbitMQ Erlang packages
#
# Latest Erlang package, Debian, HiPE enabled
# Latest Erlang package, Debian
- name: rabbitmq-erlang-latest-deb
run_list:
- recipe[rabbitmq::erlang_package]
......@@ -299,7 +299,7 @@ suites:
includes: ["ubuntu-18.04"]
# Latest Erlang package, RPM
- name: rabbitmq-erlang-latest-rpm-el7
- name: rabbitmq-erlang-latest-rpm-el8
run_list:
- recipe[rabbitmq::erlang_package]
- recipe[rabbitmq::default]
......@@ -313,10 +313,10 @@ suites:
verifier:
inspec_tests:
- test/erlang_package/latest_rpm
includes: ["fedora-30", "centos-7", "centos-8"]
includes: ["fedora-31", "centos-7", "centos-8"]
# Erlang package, RPM, version pinning
- name: rabbitmq-erlang-pinned-rpm-el7
- name: rabbitmq-erlang-pinned-rpm-el8
run_list:
- recipe[rabbitmq::erlang_package]
- recipe[rabbitmq::default]
......@@ -324,15 +324,15 @@ suites:
rabbitmq:
erlang:
enabled: true
version: "22.3"
version: "23.0.3"
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/23/el/8
repo_gpgcheck: true
version: "3.8.5"
verifier:
inspec_tests:
- test/erlang_package/pinned_rpm
includes: ["fedora-30", "centos-7", "centos-8"]
includes: ["fedora-31", "centos-7", "centos-8"]
# Latest Erlang package, RPM, CentOS 6 repo
- name: rabbitmq-erlang-latest-rpm-el6
......@@ -344,7 +344,7 @@ suites:
erlang:
enabled: true
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/23/el/6
repo_gpgcheck: false
version: "3.8.5"
verifier:
......@@ -361,9 +361,9 @@ suites:
rabbitmq:
erlang:
enabled: true
version: "22.3"
version: "22.3.4.4"
yum:
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6
baseurl: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/6
repo_gpgcheck: true
version: "3.8.5"
verifier:
......
AlignParameters:
AsciiComments:
Enabled: false
AsciiComments:
ChefStyle/CommentFormat:
Enabled: false
ChefModernize/FoodcriticComments:
Enabled: false
ChefModernize/ExecuteSleep:
Enabled: false
Encoding:
Layout/ParameterAlignment:
Enabled: false
Layout/ElseAlignment:
......@@ -16,18 +22,21 @@ Layout/EndAlignment:
Layout/IndentationWidth:
Enabled: false
LineLength:
Layout/LineLength:
Max: 200
MethodLength:
Max: 18
Naming/FileName:
Enabled: false
Metrics/AbcSize:
Max: 16
Metrics/MethodLength:
Max: 18
Style/Encoding:
Enabled: false
Style/RegexpLiteral:
Enabled: false
......
......@@ -10,7 +10,8 @@ before_install:
- gem update bundler
- bundle update --bundler
install: ./bin/ci/install_chef_dk.sh
env:
- CHEF_LICENSE=accept
env:
- CHEF_LICENSE=accept
......
# Change Log
## [v5.8.5](https://github.com/rabbitmq/chef-cookbook/tree/v5.8.5) (under development)
## [v5.8.6](https://github.com/rabbitmq/chef-cookbook/tree/v5.8.6) (under development)
No changes yet.
## [v5.8.5](https://github.com/rabbitmq/chef-cookbook/tree/v5.8.5) (2020-07-25)
* Idempotency w.r.t. Ohai package state reloading.
Contributed by @Wing924 and @ramereth.
GitHub issue: [#554](https://github.com/rabbitmq/chef-cookbook/pull/554), [#562](https://github.com/rabbitmq/chef-cookbook/pull/562)
* Chef 16 compatibility and cookbook style fixes.
Contributed by @tas50 and @ramereth.
GitHub issues: [#541](https://github.com/rabbitmq/chef-cookbook/pull/541), [#542](https://github.com/rabbitmq/chef-cookbook/pull/542), [#561](https://github.com/rabbitmq/chef-cookbook/pull/561)
* Cluster status output parser failed with the new RabbitMQ 3.8-specific output format
Contributed by @DecoyJoe.
GitHub issue: [#560](https://github.com/rabbitmq/chef-cookbook/pull/560)
* User tags are now set unconditionally by the `users` recipe.
......@@ -8,6 +31,18 @@
GitHub issue: [#538](https://github.com/rabbitmq/chef-cookbook/issues/538)
* Compression enabled for logrotate.
Contributed by @drewhammond.
GitHub issue: [#557](https://github.com/rabbitmq/chef-cookbook/pull/557)
* `File` is scoped explicitly to disambiguate.
Contributed by @tas50.
GitHub issue: [#542](https://github.com/rabbitmq/chef-cookbook/pull/542)
## [v5.8.4](https://github.com/rabbitmq/chef-cookbook/tree/v5.8.4) (2019-08-26)
......@@ -151,7 +186,7 @@
rabbitmq_erlang_apt_repository_on_bintray 'rabbitmq_erlang_repo_on_bintray' do
distribution node['lsb']['codename'] unless node['lsb'].nil?
# See https://www.rabbitmq.com/install-debian.html
components ['erlang-21.x']
components ['erlang-22.x']
action :add
end
......@@ -172,11 +207,8 @@
``` ruby
rabbitmq_erlang_package_from_bintray 'rabbitmq_erlang' do
# This package version assumes a Debian-based distribution.
# On RHEL/CentOS/Fedora it would be '21.3.8.16'
version '1:21.3.8.16-1'
# provision a HiPE-enabled Erlang runtime if available
use_hipe true
# On RHEL/CentOS/Fedora it would be '22.3.4.4'
version '1:22.3.4.4-1'
action :install
end
......
......@@ -524,7 +524,7 @@ GEM
coderay (~> 1.1.0)
method_source (~> 0.9.0)
public_suffix (4.0.5)
rack (2.2.2)
rack (2.2.3)
rainbow (3.0.0)
rake (13.0.1)
rb-fsevent (0.10.4)
......
This diff is collapsed.
......@@ -115,7 +115,7 @@ default['rabbitmq']['logrotate']['enable'] = true
default['rabbitmq']['logrotate']['path'] = '/var/log/rabbitmq/*.log'
default['rabbitmq']['logrotate']['rotate'] = 20
default['rabbitmq']['logrotate']['frequency'] = 'weekly'
default['rabbitmq']['logrotate']['options'] = %w(missingok notifempty delaycompress)
default['rabbitmq']['logrotate']['options'] = %w(missingok notifempty compress delaycompress)
default['rabbitmq']['logrotate']['sharedscripts'] = true
default['rabbitmq']['logrotate']['postrotate'] = '/usr/sbin/rabbitmqctl rotate_logs > /dev/null'
......@@ -257,6 +257,8 @@ default['rabbitmq']['additional_rabbit_configs'] = {}
# if setting to a specific version, apt repository components
# will have to be updated
default['rabbitmq']['erlang']['version'] = nil
# HiPE's been deprecated since Erlang/OTP 22 and is going away in Erlang/OTP 24.
# DO NOT USE.
default['rabbitmq']['erlang']['hipe'] = false
default['rabbitmq']['erlang']['retry_delay'] = 10
......
#!/usr/bin/env sh
wget https://packages.chef.io/files/stable/chefdk/4.6.35/debian/9/chefdk_4.6.35-1_amd64.deb
sudo dpkg -i chefdk_4.6.35-1_amd64.deb
\ No newline at end of file
......@@ -20,7 +20,7 @@ depends 'logrotate'
supports 'amazon', '>= 2.0'
supports 'centos', '>= 7.0'
supports 'debian', '>= 8.0'
supports 'fedora', '>= 23'
supports 'fedora', '>= 23.0'
supports 'opensuseleap'
supports 'oracle'
supports 'redhat'
......
......@@ -37,7 +37,7 @@ def run_rabbitmqctl(*args)
cmd.error!
Chef::Log.debug("[rabbitmq_cluster] #{cmd.stdout}")
rescue
Chef::Application.fatal!("[rabbitmq_cluster] #{cmd.stderr}")
raise("[rabbitmq_cluster] #{cmd.stderr}")
end
end
......@@ -63,7 +63,7 @@ end
# Match regex pattern from result of rabbitmqctl cluster_status
def match_pattern_cluster_status(cluster_status, pattern)
if cluster_status.nil? || cluster_status.to_s.empty?
Chef::Application.fatal!('[rabbitmq_cluster] cluster_status should not be empty')
raise('[rabbitmq_cluster] cluster_status should not be empty')
end
match = cluster_status.match(pattern)
match && match[2]
......@@ -181,7 +181,7 @@ def change_cluster_node_type(cluster_node_type)
if err.include?('{not_clustered,"Non-clustered nodes can only be disc nodes."}')
Chef::Log.info('[rabbitmq_cluster] Node is not clustered yet, error will be ignored.')
else
Chef::Application.fatal!("[rabbitmq_cluster] #{err}")
raise("[rabbitmq_cluster] #{err}")
end
end
end
......@@ -196,7 +196,7 @@ end
action :join do
Chef::Log.info('[rabbitmq_cluster] Action join ... ')
Chef::Application.fatal!('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
raise('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
var_cluster_status = cluster_status
var_node_name = node_name
......@@ -220,7 +220,7 @@ action :join do
begin
join_cluster(var_node_name_to_join, var_node_type)
rescue JoinError => exc
Chef::Application.fatal!("[rabbitmq_cluster] #{exc.message}")
raise("[rabbitmq_cluster] #{exc.message}")
ensure
run_rabbitmqctl('start_app')
end
......@@ -232,7 +232,7 @@ end
# Action for set cluster name
action :set_cluster_name do
Chef::Application.fatal!('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
raise('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
var_cluster_status = cluster_status
var_cluster_name = new_resource.cluster_name
if current_cluster_name(var_cluster_status).nil?
......@@ -251,7 +251,7 @@ end
action :change_cluster_node_type do
Chef::Log.info('[rabbitmq_cluster] Action change_cluster_node_type ... ')
Chef::Application.fatal!('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
raise('rabbitmq_cluster with action :join requires a non-nil/empty cluster_nodes.') if new_resource.cluster_nodes.nil? || new_resource.cluster_nodes.empty?
var_cluster_status = cluster_status
var_node_name = node_name
......
......@@ -94,7 +94,7 @@ end
action :add do
unless user_exists?(new_resource.user)
Chef::Application.fatal!('rabbitmq_user with action :add requires a non-nil/empty password.') if new_resource.password.nil? || new_resource.password.empty?
raise('rabbitmq_user with action :add requires a non-nil/empty password.') if new_resource.password.nil? || new_resource.password.empty?
# To escape single quotes in a shell, you have to close the surrounding single quotes, add
# in an escaped single quote, and then re-open the original single quotes.
......@@ -123,7 +123,7 @@ action :delete do
end
action :set_permissions do
Chef::Application.fatal!("rabbitmq_user action :set_permissions fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
raise("rabbitmq_user action :set_permissions fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
perm_list = new_resource.permissions.split
vhosts = new_resource.vhost.is_a?(Array) ? new_resource.vhost : [new_resource.vhost]
......@@ -140,7 +140,7 @@ action :set_permissions do
end
action :clear_permissions do
Chef::Application.fatal!("rabbitmq_user action :clear_permissions fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
raise("rabbitmq_user action :clear_permissions fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
vhosts = new_resource.vhost.is_a?(Array) ? new_resource.vhost : [new_resource.vhost]
# filter out vhosts for which the user already has the permissions we expect
......@@ -156,7 +156,7 @@ action :clear_permissions do
end
action :set_tags do
Chef::Application.fatal!("rabbitmq_user action :set_tags fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
raise("rabbitmq_user action :set_tags fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
unless user_has_tag?(new_resource.user, new_resource.tag)
cmd = "rabbitmqctl -q set_user_tags #{new_resource.user} #{new_resource.tag}"
......@@ -168,7 +168,7 @@ action :set_tags do
end
action :clear_tags do
Chef::Application.fatal!("rabbitmq_user action :clear_tags fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
raise("rabbitmq_user action :clear_tags fails with nonexistent '#{new_resource.user}' user.") unless user_exists?(new_resource.user)
unless user_has_tag?(new_resource.user, '"\[\]"')
cmd = "rabbitmqctl -q set_user_tags #{new_resource.user}"
......
......@@ -82,7 +82,7 @@ if platform_family?('debian')
# socat is a package dependency of rabbitmq-server
package 'socat'
#: Prevent Debian systems from automatically starting RabbitMQ after dpkg install
# Prevent Debian systems from automatically starting RabbitMQ after dpkg install
dpkg_autostart node['rabbitmq']['service_name'] do
allow false
end
......@@ -244,7 +244,6 @@ if platform_family?('smartos')
service 'epmd' do
action :start
end
end
#
......@@ -324,8 +323,9 @@ existing_erlang_key = if File.exist?(node['rabbitmq']['erlang_cookie_path']) &&
end
if node['rabbitmq']['clustering']['enable'] && (node['rabbitmq']['erlang_cookie'] != existing_erlang_key)
log "stop #{node['rabbitmq']['service_name']} to change erlang cookie" do
notifies :stop, "service[#{node['rabbitmq']['service_name']}]", :immediately
log "stopping #{node['rabbitmq']['service_name']} because shared cluster secret (the Erlang cookie) has changed"
service node['rabbitmq']['service_name'] do
action :stop
end
template node['rabbitmq']['erlang_cookie_path'] do
......
......@@ -23,8 +23,8 @@ attribute :uri, String, default: 'https://dl.bintray.com/rabbitmq-erlang/debian'
attribute :distribution, String
# Available values: 'erlang', 'erlang-21.x', 'erlang-20.x', 'erlang-19.x'
# 'erlang' means "the latest release"
attribute :components, Array, default: ['erlang'], required: true
attribute :key, String, default: '6B73A36E6026DFCA', required: true
attribute :components, Array, default: ['erlang']
attribute :key, String, default: '6B73A36E6026DFCA'
attribute :keyserver, String
attribute :trusted, [TrueClass, FalseClass], default: false
......@@ -20,7 +20,9 @@
default_action :install
attribute :version, String
attribute :use_hipe, [TrueClass, FalseClass], default: false
# HiPE's been deprecated since Erlang/OTP 22 and is going away in Erlang/OTP 24.
# DO NOT USE.
attribute :use_hipe, [true, false], default: false
attribute :options, [String, Array]
attribute :retries, Integer, default: 3
attribute :retry_delay, Integer, default: 10
......@@ -9,7 +9,7 @@
).each do |p|
describe package(p) do
it { should be_installed }
its('version') { should match(/^1:21.3/) }
its('version') { should match(/^1:22.3/) }