Update the version of erlang to support rabbitmq
The version of erlang we're using, while functional, is not recommended. This change updates our version of erlang for rabbitmq to be the recommended version by changing the pinned version of erlang. The apt package pinning meta dependency has been removed and put into the apt task file as an include role. To ensure a more uniform process for setting the version of erlang used with rabbitmq the new variable `rabbitmq_erlang_version_spec` has been added. This option has a default of "null" and is set by distro specific variables when applicable. Erlang version support matrix: https://www.rabbitmq.com/which-erlang.html Change-Id: Iced12d4533eec068bd11d8bd235d81308ef40427 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
parent
0bda3a7453
commit
372ccd1bbd
|
@ -53,6 +53,9 @@ rabbitmq_erlang_repo_url: "{{ _rabbitmq_erlang_repo_url }}"
|
|||
# Set the repo information for the Erlang repository
|
||||
rabbitmq_erlang_repo: "{{ _rabbitmq_erlang_repo }}"
|
||||
|
||||
# Set the elang version used on the deployment
|
||||
rabbitmq_erlang_version_spec: "{{ _rabbitmq_erlang_version_spec | default(null) }}"
|
||||
|
||||
# Choose file, distro, external_repo for rabbitmq_install_method.
|
||||
rabbitmq_install_method: "{{ _rabbitmq_install_method }}"
|
||||
|
||||
|
|
|
@ -36,15 +36,4 @@ galaxy_info:
|
|||
- rabbitmq
|
||||
- development
|
||||
- openstack
|
||||
dependencies:
|
||||
- role: apt_package_pinning
|
||||
apt_package_pinning_file_name: "rabbitmq.pref"
|
||||
apt_package_pinning_priority: 999
|
||||
apt_pinned_packages:
|
||||
- package: "*"
|
||||
release: "Erlang Solutions Ltd."
|
||||
- package: "erlang*"
|
||||
version: "1:19.3*"
|
||||
priority: 1000
|
||||
when:
|
||||
- ansible_pkg_mgr == 'apt'
|
||||
dependencies: []
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
features:
|
||||
- The option ``rabbitmq_erlang_version_spec`` has been added allowing
|
||||
deployers to set the version of erlang used on a given installation.
|
||||
deprecations:
|
||||
- The use of the ``apt_package_pinning`` role as a meta dependency
|
||||
has been removed from the rabbitmq_server role. While the package
|
||||
pinning role is still used, it will now only be executed when the
|
||||
apt task file is executed.
|
|
@ -13,6 +13,20 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Run the apt package pinning role
|
||||
include_role:
|
||||
name: apt_package_pinning
|
||||
private: true
|
||||
vars:
|
||||
apt_package_pinning_file_name: "rabbitmq.pref"
|
||||
apt_package_pinning_priority: 999
|
||||
apt_pinned_packages:
|
||||
- package: "*"
|
||||
release: "Erlang Solutions Ltd."
|
||||
- package: "erlang*"
|
||||
version: "{{ rabbitmq_erlang_version_spec }}"
|
||||
priority: 1000
|
||||
|
||||
- block:
|
||||
- name: Add rabbitmq apt-keys
|
||||
apt_key:
|
||||
|
|
|
@ -113,8 +113,10 @@
|
|||
when:
|
||||
- item.pkg_spec not in yum_versionlock_list.stdout
|
||||
with_items:
|
||||
- { 'pkg_name': 'erlang', 'pkg_spec': "erlang-19*" }
|
||||
- { 'pkg_name': 'rabbitmq-server', 'pkg_spec': "rabbitmq-server-{{ rabbitmq_release_version }}*" }
|
||||
- pkg_name: 'erlang'
|
||||
pkg_spec: "{{ rabbitmq_erlang_version_spec }}"
|
||||
- pkg_name: 'rabbitmq-server'
|
||||
pkg_spec: "rabbitmq-server-{{ rabbitmq_release_version }}*"
|
||||
tags:
|
||||
- rabbitmq-yum-packages
|
||||
|
||||
|
|
|
@ -21,4 +21,4 @@
|
|||
- name: previous_rabbitmq_server
|
||||
src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server
|
||||
scm: git
|
||||
version: stable/pike
|
||||
version: stable/queens
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
rabbitmq_cookie_token: secrete
|
||||
rabbitmq_ssl_cert: /etc/rabbitmq/rabbitmq.pem
|
||||
rabbitmq_ssl_key: /etc/rabbitmq/rabbitmq.key
|
||||
|
||||
rabbitmq_hipe_compile: True
|
||||
|
||||
rabbitmq_erlang_version_spec: "{{ (ansible_pkg_mgr == 'apt') | ternary('1:19.3*','erlang-19*') }}"
|
2
tox.ini
2
tox.ini
|
@ -106,7 +106,7 @@ deps =
|
|||
{[testenv:ansible]deps}
|
||||
setenv =
|
||||
{[testenv]setenv}
|
||||
ANSIBLE_OVERRIDES={toxinidir}/tests/rabbitmq_server-overrides.yml
|
||||
ANSIBLE_OVERRIDES={toxinidir}/tests/rabbitmq_server-upgrade-overrides.yml
|
||||
CLONE_UPGRADE_TESTS=yes
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/test-rabbitmq-upgrades.sh"
|
||||
|
|
|
@ -42,6 +42,8 @@ _rabbitmq_erlang_repo:
|
|||
state: "present"
|
||||
filename: els_erlang
|
||||
|
||||
_rabbitmq_erlang_version_spec: "1:20.1*"
|
||||
|
||||
rabbitmq_dependencies:
|
||||
- erlang-base-hipe
|
||||
- erlang-nox
|
||||
|
|
|
@ -46,6 +46,8 @@ _rabbitmq_erlang_repo:
|
|||
state: "present"
|
||||
filename: els-erlang
|
||||
|
||||
_rabbitmq_erlang_version_spec: "erlang-20.1*"
|
||||
|
||||
rabbitmq_distro_packages:
|
||||
- openssl
|
||||
- rabbitmq-server
|
||||
|
|
Loading…
Reference in New Issue