...
 
Commits (77)
......@@ -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
......
......@@ -11,7 +11,7 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.1)
aws-eventstream (1.1.0)
aws-partitions (1.341.0)
aws-partitions (1.345.0)
aws-sdk-apigateway (1.48.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
......@@ -30,7 +30,7 @@ GEM
aws-sdk-cloudformation (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.34.0)
aws-sdk-cloudfront (1.35.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.24.0)
......@@ -42,7 +42,7 @@ GEM
aws-sdk-cloudtrail (1.26.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.41.0)
aws-sdk-cloudwatch (1.42.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.34.0)
......@@ -57,10 +57,10 @@ GEM
aws-sdk-codepipeline (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.48.0)
aws-sdk-configservice (1.49.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.103.0)
aws-sdk-core (3.104.3)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
......@@ -71,7 +71,7 @@ GEM
aws-sdk-dynamodb (1.51.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.176.0)
aws-sdk-ec2 (1.178.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.34.0)
......@@ -89,7 +89,7 @@ GEM
aws-sdk-elasticache (1.40.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.34.0)
aws-sdk-elasticbeanstalk (1.35.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.25.0)
......@@ -122,7 +122,7 @@ GEM
aws-sdk-organizations (1.17.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0)
aws-sdk-rds (1.93.0)
aws-sdk-rds (1.94.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.46.0)
......@@ -137,8 +137,8 @@ GEM
aws-sdk-route53resolver (1.17.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.74.0)
aws-sdk-core (~> 3, >= 3.102.1)
aws-sdk-s3 (1.75.0)
aws-sdk-core (~> 3, >= 3.104.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.29.0)
......@@ -260,10 +260,10 @@ GEM
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
concurrent-ruby (1.1.6)
cookbook-omnifetch (0.9.1)
cookbook-omnifetch (0.10.0)
mixlib-archive (>= 0.4, < 2.0)
cookstyle (6.11.4)
rubocop (= 0.87.1)
cookstyle (6.13.3)
rubocop (= 0.88.0)
declarative (0.0.20)
declarative-option (0.1.0)
descendants_tracker (0.0.4)
......@@ -368,7 +368,7 @@ GEM
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.8.3)
i18n (1.8.5)
concurrent-ruby (~> 1.0)
ice_nine (0.11.2)
inifile (3.0.0)
......@@ -412,7 +412,7 @@ GEM
test-kitchen (>= 1.17, < 3)
kitchen-docker (2.10.0)
test-kitchen (>= 1.0.0)
kitchen-dokken (2.9.0)
kitchen-dokken (2.10.0)
docker-api (~> 1.33)
lockfile (~> 2.1)
test-kitchen (>= 1.15, < 3)
......@@ -460,7 +460,8 @@ GEM
mixlib-versioning
thor
mixlib-log (3.0.8)
mixlib-shellout (3.0.9)
mixlib-shellout (3.1.2)
chef-utils
mixlib-versioning (1.2.12)
molinillo (0.6.6)
ms_rest (0.7.6)
......@@ -495,7 +496,7 @@ GEM
octokit (4.18.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
ohai (16.2.3)
ohai (16.3.0)
chef-config (>= 12.8, < 17)
chef-utils (>= 16.0, < 17)
ffi (~> 1.9)
......@@ -524,7 +525,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)
......@@ -556,7 +557,7 @@ GEM
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.3)
rubocop (0.87.1)
rubocop (0.88.0)
parallel (~> 1.10)
parser (>= 2.7.1.1)
rainbow (>= 2.2.2, < 4.0)
......@@ -565,7 +566,7 @@ GEM
rubocop-ast (>= 0.1.0, < 1.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (0.1.0)
rubocop-ast (0.2.0)
parser (>= 2.7.0.1)
ruby-progressbar (1.10.1)
ruby_gntp (0.3.4)
......@@ -708,7 +709,7 @@ GEM
tty-cursor (~> 0.7)
tty-screen (~> 0.7)
wisper (~> 2.0.0)
tty-screen (0.8.0)
tty-screen (0.8.1)
tty-table (0.11.0)
equatable (~> 0.6)
necromancer (~> 0.5)
......@@ -749,7 +750,7 @@ GEM
winrm (~> 2.0)
wisper (2.0.1)
wmi-lite (1.0.5)
zeitwerk (2.3.1)
zeitwerk (2.4.0)
PLATFORMS
ruby
......
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|23)/) }
end
end
......
......@@ -3,7 +3,7 @@
describe package('erlang') do
it { should be_installed }
its('version') { should match(/^21.3/) }
its('version') { should match(/^(22|23)/) }
end
describe package('rabbitmq-server') do
......