Git Product home page Git Product logo

rabbitmq-formula's Introduction

rabbitmq-formula

Travis CI Build Status Semantic Release pre-commit

This formula installs and configures RabbitMQ server on GNU/Linux.

Table of Contents

General notes

See the full SaltStack Formulas installation and usage instructions.

If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.

If you want to use this formula, please pay attention to the FORMULA file and/or git tag, which contains the currently released version. This formula is versioned according to Semantic Versioning.

See Formula Versioning Section for more details.

If you need (non-default) configuration, please refer to:

Contributing to this repo

Commit messages

Commit message formatting is significant!!

Please see How to contribute for more details.

pre-commit

pre-commit is configured for this formula, which you may optionally use to ease the steps involved in submitting your changes. First install the pre-commit package manager using the appropriate method, then run bin/install-hooks and now pre-commit will run automatically on each git commit. :

$ bin/install-hooks
pre-commit installed at .git/hooks/pre-commit
pre-commit installed at .git/hooks/commit-msg

Special notes

The default node in any rabbitmq installation is 'rabbit@localhost'. Multiple nodes per host are allowed if defined in pillar data under rabbitmq:nodes. Clustering is supported, see pillar.example.

Available states

rabbitmq

Meta-state (This is a state that includes other states).

This installs the rabbitmq package, manages the rabbitmq configuration file and then starts the associated rabbitmq service.

rabbitmq.package

This state will install the rabbitmq package and has a dependency on rabbitmq.install via include list.

rabbitmq.config

This state will configure the rabbitmq service and has a dependency on rabbitmq.install via include list. It excludes rabbitmq.config.cluster state

rabbitmq.service

This state will start the rabbitmq service and has a dependency on rabbitmq.config via include list.

rabbitmq.clean

Meta-state (This is a state that includes other states).

this state will undo everything performed in the rabbitmq meta-state in reverse order, i.e. stops the service, removes the configuration file and then uninstalls the package.

rabbitmq.service.clean

This state will stop the rabbitmq service and disable it at boot time.

rabbitmq.config.clean

This state will remove the configuration of the rabbitmq service and has a dependency on rabbitmq.service.clean via include list.

rabbitmq.package.clean

This state will remove the rabbitmq package and has a depency on rabbitmq.config.clean via include list.

Meta-state (This is a state that includes other states).

Testing

Linux testing is done with kitchen-salt.

Requirements

  • Ruby
  • Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.yml, e.g. debian-9-2019-2-py3.

bin/kitchen converge

Creates the docker instance and runs the rabbitmq main state, ready for testing.

bin/kitchen verify

Runs the inspec tests on the actual instance.

bin/kitchen destroy

Removes the docker instance.

bin/kitchen test

Runs all of the stages above in one go: i.e. destroy + converge + verify + destroy.

bin/kitchen login

Gives you SSH access to the instance for manual testing.

rabbitmq-formula's People

Contributors

abednarik avatar aboe76 avatar baby-gnu avatar dafyddj avatar daks avatar david-thorman avatar dnabic avatar gravyboat avatar jeff350 avatar jeffrey4l avatar jmdcal avatar martinhoefling avatar mdschmitt avatar mgar avatar myii avatar necabo avatar nmadhok avatar noelmcloughlin avatar predatorvi avatar puneetk avatar semantic-release-bot avatar soniah avatar stasjok avatar stp-ip avatar sylvainfaivre avatar techhat avatar thatch45 avatar tiger-seo avatar whiteinge avatar wwentland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rabbitmq-formula's Issues

[BUG] Recursive requisite found

https://gitlab.com/saltstack-formulas/rabbitmq-formula/-/jobs/5901225509

       ----------
                 ID: rabbitmq-config-plugins-rabbit-rabbitmqadmin-install
           Function: cmd.run
               Name: curl -k -L http://127.0.0.1:15672/cli/rabbitmqadmin -o /usr/local/sbin/rabbitmqadmin
             Result: False
            Comment: Recursive requisite found
            Changes:   
       ----------

I discovered this while working on a PR for some other stuff.

No changes were made in the formula in this part of the code, so I think it is caused by a change in Salt's code for detecting recursive requisites.

I'm working on a fix.

not correct key

was not able to install latest server out of the box at CentOS 6.5
the right key to install from https://packagecloud.io/rabbitmq/rabbitmq-server/el/6/
is rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
here is log, if can help:

[root@imparture-prime ~]# yum update rabbitmq-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.nac.net
 * epel: mirror.us.leaseweb.net
 * epel-debuginfo: mirror.us.leaseweb.net
 * epel-source: mirror.us.leaseweb.net
 * extras: mirror.atlanticmetro.net
 * updates: mirror.us.leaseweb.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package rabbitmq-server.noarch 0:3.1.5-1.el6 will be updated
---> Package rabbitmq-server.noarch 0:3.5.4-1.suse will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================
 Package                          Arch                    Version                        Repository                      Size
==============================================================================================================================
Updating:
 rabbitmq-server                  noarch                  3.5.4-1.suse                   rabbitmq_repo                  4.0 M

Transaction Summary
==============================================================================================================================
Upgrade       1 Package(s)

Total size: 4.0 M
Is this ok [y/N]: н
Is this ok [y/N]: y
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
Retrieving key from https://packagecloud.io/gpg.key


The GPG keys listed for the "RabbitMQ Packagecloud Repository" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

also working solution:

 > curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
 > sudo yum install rabbitmq-server-3.5.4-1.noarch

Too many functions declared in state 'rabbitmq_user' in SLS 'rabbitmq.config'

Hi,

Having trouble applying the following config:

rabbitmq:
  version: "3.7.8"
  enabled: True
  running: True

  plugin:
    rabbitmq_management:
      - enabled

  policy:
    rabbitmq_policy:
      - name: HA
      - pattern: '.*'
      - definition: '{"ha-mode": "all"}'

  vhost:
    rpc: '/rpc'

  user:
    admin:
      - password: Secret
      - force: True
      - tags: administrator
      - perms:
        - '/rpc':
          - '.*'
          - '.*'
          - '.*'
      - runas: root

    logicmonitor:
      - password: Secret
      - force: True
      - tags: monitoring
      - perms:
        - '/rpc':
          - '.*'
          - '.*'
          - '.*'
      - runas: root

    nameko:
      - password: Secret
      - force: True
      - tags: user
      - perms:
        - '/rpc':
          - '.*'
          - '.*'
          - '.*'
      - runas: root

    config_files:
      rabbitmq.config:
        source: automation/rabbitmq.config
        context:
          heartbeat: 600

I'm sure I'm doing something dumb, but I'm having a hard time figuring out what. Any thoughts?

[BUG] HTTP error 402 on Cloudsmith repositories, need to switch to novemberain.com mirror

As of today, trying to download from the Cloudsmith repo results in :

E: Failed to fetch https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/debian/dists/bullseye/InRelease 402 Payment Required

The cause is described in this issue from another project : balena-io/etcher#4034

And this announcement on the RabbitMQ Discord server :

Hey folks

Team RabbitMQ has noticed that after the Erlang 26.1 release there was a significant uptick in bandwidth usage on Cloudsmith. Very likely our account will hit a traffic quota early next week, and all downloads directly from Cloudsmith will be blocked.

There is nothing our team can do about it, we already get special deal terms from Cloudsmith.

However, there is an easy solution for you the users: simply switch to our mirrors instead of consuming Debian and RPM packages from Cloudsmith directly [1] [2].

These mirrors are maintained by Team RabbitMQ, have an almost 20 times larger traffic quota (that can be cheaply expanded, while overages on Cloudsmith are really expensive).

They have been in operation since early May 2023.

Please switch away from Cloudsmith and to these mirrors ASAP, otherwise, next week your package downloads will begin failing until September 30, 2023 when a new billing cycle starts.

https://rabbitmq.com/install-rpm.html
https://rabbitmq.com/install-debian.html

The install-debian.html docs now point to two mirrors hosted on the novemberain.com domain.

I might make a PR about this in the next weeks.

rabbitmq_vhost state deprecated policy arguments

According to the source of rabbitmq_vhost.py the parameters are deprecated:

            'Passed \'owner\', \'user\', \'conf\', \'write\' or \'read\' '
            'arguments. These are being deprecated, and will be removed in '
            'Salt Beryllium. Please update your state files, and set '
            'permissions for user instead. See rabbitmq_user.present.

Since this formula uses rabbitmq_vhost.present in the config.sls this may need to be updated soonish to prevent the formula from breaking when Salt reaches Beryllium.

[BUG] CentOS CI/CD jobs are failing

Initially seen here: #66 (comment)

https://stackoverflow.com/questions/32407164/the-vm-is-running-with-native-name-encoding-of-latin1-which-may-cause-elixir-to

                 ID: rabbitmq-config-plugin-enabled-rabbitmq_federation
           Function: rabbitmq_plugin.enabled
               Name: rabbitmq_federation
             Result: False
            Comment: Error: RabbitMQ command failed: warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
            Started: 16:28:32.486078
           Duration: 3564.23 ms

Looks like problem with default-centos-7-master-py3 image.

                 ID: rabbitmq-config-plugin-enabled-rabbitmq_federation
           Function: rabbitmq_plugin.enabled
               Name: rabbitmq_federation
             Result: False
            Comment: Error: RabbitMQ command failed: warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
       ----------
                 ID: rabbitmq-config-plugin-enabled-rabbitmq_federation
           Function: cmd.run
               Name: locale
             Result: True
            Comment: Command "locale" run
            Started: 21:37:03.149156
           Duration: 19.449 ms
            Changes:   
              ----------
              pid:
                  808
              retcode:
                  0
              stderr:
              stdout:
                  LANG=
                  LC_CTYPE=C
                  LC_NUMERIC=C
                  LC_TIME=C
                  LC_COLLATE=C
                  LC_MONETARY=C
                  LC_MESSAGES=C
                  LC_PAPER=C
                  LC_NAME=C
                  LC_ADDRESS=C
                  LC_TELEPHONE=C
                  LC_MEASUREMENT=C
                  LC_IDENTIFICATION=C
                  LC_ALL=

user password and tags always being applied even if there were no actual changes in pillar

I've got following section in my pillar (there is nothing else related to rabbitmq):

  rabbitmq:
  enabled: True
  running: True
  vhost:
    vh_name: 'rcce_vhost'
  user:
    rcce_rabbit:
      - password: '*my*secure*password*'
      - force: True
      - tags: monitoring, user
      - perms:
        - '/':
          - '.*'
          - '.*'
          - '.*'

state file for the minion uses the rabbitmq-formula only once, calling 'main' state. Issuing 'state.apply' command brings every time the same message as if the new user has been created, despite no actual changes in pillar:

          ID: rabbitmq_user_rcce_rabbit
    Function: rabbitmq_user.present
        Name: rcce_rabbit
      Result: True
     Comment: 'rcce_rabbit' was configured.
     Started: 06:48:57.213331
    Duration: 1850.237 ms
     Changes:   
              ----------
              password:
                  ----------
                  new:
                      Set password.
                  old:
              tags:
                  ----------
                  new:
                      - monitoring,
                      - user
                  old:
                      - monitoring
                      - user

state.apply rabbitmq.config fails even though rabbitmq-server service is runnning

I'm attempting to setup a vhost and user using this formula, but noticed that at the end of a highstate I was left with a vanilla rabbitmq installation and none of the vhosts and users I defined were generated. Then I ran salt 'salt-master' state.apply rabbitmq.config thinking my piillar was wrong, but it fails on requiring the rabbitmq-server service.

Below is output from said state.apply run and followed by ps output showing that rabbitmq-server is in fact running.

Am I missing something pretty obvious here? It seems like it should just work.

vagrant@salt-master:~$ sudo salt 'salt-master' state.apply rabbit.config
salt-master:
    Data failed to compile:
----------
    No matching sls found for 'rabbit.config' in env 'base'
ERROR: Minions returned with non-zero exit code
vagrant@salt-master:~$ sudo salt 'salt-master' state.apply rabbit.config
vagrant@salt-master:~$ sudo salt 'salt-master' state.apply rabbitmq.config
salt-master:
----------
          ID: rabbitmq_user_sensu
    Function: rabbitmq_user.present
        Name: sensu
      Result: False
     Comment: The following requisites were not found:
                                 require:
                                     service: rabbitmq-server
     Started:
    Duration:
     Changes:
----------
          ID: rabbitmq_vhost_sensu
    Function: rabbitmq_vhost.present
        Name: sensu
      Result: False
     Comment: The following requisites were not found:
                                 require:
                                     service: rabbitmq-server
     Started:
    Duration:
     Changes:

Summary for salt-master
------------
Succeeded: 0
Failed:    2
------------
Total states run:     2
Total run time:   0.000 ms
ERROR: Minions returned with non-zero exit code
vagrant@salt-master:~$ sudo service rabbitmq-server status
● rabbitmq-server.service - LSB: Manages RabbitMQ server
   Loaded: loaded (/etc/init.d/rabbitmq-server)
   Active: active (running) since Tue 2016-01-26 19:00:33 GMT; 1min 45s ago
  Process: 396 ExecStart=/etc/init.d/rabbitmq-server start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/rabbitmq-server.service
           ├─ 938 /usr/lib/erlang/erts-6.2/bin/epmd -daemon
           ├─ 977 /bin/sh -e /usr/lib/rabbitmq/bin/rabbitmq-server
           ├─1264 /usr/lib/erlang/erts-6.2/bin/beam -W w -A 64 -P 1048576 -K true -B i -- -root /...
           ├─2143 inet_gethost 4
           └─2144 inet_gethost 4

Jan 26 19:00:23 salt-master su[631]: Successful su for rabbitmq by root
Jan 26 19:00:23 salt-master su[631]: + ??? root:rabbitmq
Jan 26 19:00:23 salt-master su[631]: pam_unix(su:session): session opened for user rabbitmq b...d=0)
Jan 26 19:00:26 salt-master su[1007]: Successful su for rabbitmq by root
Jan 26 19:00:26 salt-master su[1007]: + ??? root:rabbitmq
Jan 26 19:00:26 salt-master su[1007]: pam_unix(su:session): session opened for user rabbitmq ...d=0)
Jan 26 19:00:33 salt-master rabbitmq-server[396]: Starting message broker: rabbitmq-server.
Hint: Some lines were ellipsized, use -l to show in full.

[BUG] erlang package conflict between os and upstream repo

Your setup

Formula commit hash / release tag

Master

Versions reports (master & minion)

# salt --versions-report
Salt Version:
           Salt: 3001.8
 
Dependency Versions:
           cffi: Not Installed
       cherrypy: unknown
       dateutil: Not Installed
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
         Jinja2: 2.11.1
        libgit2: Not Installed
       M2Crypto: 0.35.2
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.6.2
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: Not Installed
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 3.6.8 (default, Aug  7 2019, 17:28:10)
   python-gnupg: Not Installed
         PyYAML: 3.13
          PyZMQ: 17.0.0
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.1.4
 
System Versions:
           dist: centos 7 Core
         locale: UTF-8
        machine: x86_64
        release: 3.10.0-1062.12.1.el7.x86_64
         system: Linux
        version: CentOS Linux 7 Core

Pillar / config used


Bug details

Describe the bug

Installing RabbitMQ fails if OS-provided erlang package conflicts with Upstream-Repo Erlang package. See attached log

file /usr/lib64/erlang/bin/epmd from install of erlang-erts-R16B-03.18.el7.x86_64 conflicts with file from package erlang-23.3.4.6-1.el7.x86_64

Steps to reproduce the bug

Expected behaviour

no package conflict

Attempts to fix the bug

Additional context

rabbitmq_error.txt

Installing and configuration of the rabbitmq_mqtt plugin

Hi, I'm using rabbitmq-formula and am looking to install and configure the rabbitmq_mqtt plugin with it.

At some point I'll need a stanza like this

[
   {rabbit_mqtt, [
      {tcp_listeners,[{"10.8.0.1", 1833}]}
   ]}
].

in a config file, but I'm unclear on where to start to add that in.

package_map.jinja issue

SL 7.3 latest Salt bootstrap install

Rendering SLS 'base:rabbitmq.install' failed: Jinja variable the template 'rabbitmq/package-map.jinja' (imported on line 1) does not export the requested name 'pkgs'

my pillar data

rabbitmq:
  enabled: True
  running: True
  plugin:
    rabbitmq_management:
      - enabled
  user:
    sensu:
      - password: secret
      - tags: monitoring, user
      - perms:
        - '/':
        - '.*'
        - '.*'
        - '.*'
      - runas: root

[BUG] Source path for config_files in 'rabbitmq' tree only

Your setup

Formula commit hash / release tag

0.17.0

Versions reports (master & minion)

Salt 2019.2.0 on Debian Stretch mostly

Pillar / config used

rabbitmq:
  config_files:
    rabbitmq.conf:
      source: custom_files/rabbitmq/rabbitmq.conf

Bug details

Describe the bug

The formula let you push any config file for Rabbitmq using the pillar rabbitmq:config_files and the state rabbitmq.config_files, but the code used is https://github.com/saltstack-formulas/rabbitmq-formula/blob/master/rabbitmq/config_files.sls#L5

{% for filename, info in salt["pillar.get"]("rabbitmq:config_files", {}).items() %}
/etc/rabbitmq/{{ filename }}:
  file.managed:
    - source: salt://{{ slspath }}/{{ info['source'] }}
    - template: jinja
    - context: {{ info.get('context', {})|json }}
    - watch_in:
      - service: rabbitmq-server
{% endfor %}

so the source of the config file must be in slspath (i.e: rabbitmq). This is not very flexible depending of how you install/use formulas.

Steps to reproduce the bug

  • create a config file for rabbitmq
  • put it outside the formula path
  • declare it in your pillar

Expected behaviour

I expect to be able to put my config file whatever it better suits my organization.

Attempts to fix the bug

I started coding a quick fix to this problem, but I'm not sure if another solution shouldn't better: TOFS maybe. As I don't really know/use it, I can't judge. But before implementing another solution, if TOFS is the way to go, maybe it should be better to implement it this way. In this case, I'll let another one do it.

Additional context

[BUG] Installation broken on Debian 10 Buster and 11 Bullseye and Ubuntu 18/20/22

Your setup

Formula commit hash / release tag

000fb21

Versions reports (master & minion)

using Docker image default-debian-11-master-py3 with Kitchen

Pillar / config used

As provided by the formula


Bug details

Describe the bug

package rabbitmq-server is not installable with a conflict between Erlang packages

Steps to reproduce the bug

$ ./bin/kitchen converge default-debian-11-master-py3

[...]
                 ID: rabbitmq-package-install-pkg-installed
           Function: pkg.installed
               Name: rabbitmq-server
             Result: False
            Comment: Problem encountered installing package(s). Additional info follows:
              
              errors:
                  - Running scope as unit: run-r37d31db5b9234e969095e9620a6b2056.scope
                    E: Unable to correct problems, you have held broken packages.
            Started: 08:27:16.705279
           Duration: 738.7 ms
            Changes:   

[...]

Expected behaviour

Rabbitmq-server is installed and running.

Attempts to fix the bug

Tried to comment out formula instructions to install dependencies https://github.com/saltstack-formulas/rabbitmq-formula/blob/master/rabbitmq/package/install.sls#L11 L11-L16: no success

Additional context

When logged in the container

$ sudo apt install rabbitmq-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 rabbitmq-server : Depends: erlang-base (< 1:25.0) but 1:25.0-1 is to be installed or
                            erlang-base-hipe (< 1:25.0) but it is not going to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-crypto (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-eldap (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-inets (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-mnesia (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-os-mon (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-parsetools (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-public-key (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-runtime-tools (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-ssl (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-syntax-tools (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-tools (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
                   Depends: erlang-xmerl (< 1:25.0) but 1:25.0-1 is to be installed or
                            esl-erlang (< 1:25.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

Is there a way to provision exchanges, queues and bindings ?

Hi guys,

I am exploring the formula and I would know if is there a way to create exchanges, queues and bindings.

I tried to inform queue data at pillar to create a queue:

rabbitmq:
  (...)
  queues:
    queue_name:
      - vhost: '/'
      - durable: True
      - auto_delete: False

But, no success. Reading the formula code I found:

{% set module_list = salt['sys.list_modules']() %}
{% if 'rabbitmqadmin' in module_list %}
include:
  - .config_bindings
  - .config_queue
  - .config_exchange
{% endif %}

What is this rabbitmqadmin sys module ? How can I install it ? I tried to run the state rabbit-management.sls (it run successfully) but when I list sys modules (sudo salt-call sys.list_modules | grep rabbitmqadmin) it was not created as a sys module.

Any help will be much appreciated !

rabbitmq_plugins circular dependency

On the initial run of this formua, if the rabbitmq pillar contains any plugins the whole formula wont execute. The rabbitmq or rabbitmq.latest wont execute because rabbitmq_plugin fails.

# salt-call state.single rabbitmq_plugin.enabled rabbitmq_management

returns:

local:
    Data failed to compile:
----------
    Specified state 'rabbitmq_plugin.enabled' was not found

The root cause is the requirement of rabbitmqctl by salt's bundled rabbitmq_plugin.py state. Details are here:
https://github.com/saltstack/salt/blob/develop/salt/states/rabbitmq_plugin.py#L23-L29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.