{"action":"opened","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/30681","labels_url":"https://api.github.com/repos/saltstack/salt/issues/30681/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/30681/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/30681/events","html_url":"https://github.com/saltstack/salt/issues/30681","id":129229510,"number":30681,"title":"Incorrect handling of new_tags variable in rabbitmq_user state","user":{"login":"atengler","id":11465219,"avatar_url":"https://avatars.githubusercontent.com/u/11465219?v=3","gravatar_id":"","url":"https://api.github.com/users/atengler","html_url":"https://github.com/atengler","followers_url":"https://api.github.com/users/atengler/followers","following_url":"https://api.github.com/users/atengler/following{/other_user}","gists_url":"https://api.github.com/users/atengler/gists{/gist_id}","starred_url":"https://api.github.com/users/atengler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atengler/subscriptions","organizations_url":"https://api.github.com/users/atengler/orgs","repos_url":"https://api.github.com/users/atengler/repos","events_url":"https://api.github.com/users/atengler/events{/privacy}","received_events_url":"https://api.github.com/users/atengler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-27T18:32:10Z","updated_at":"2016-01-27T18:32:10Z","closed_at":null,"body":"Hi, I've been having following issue - every time I ran my sls configuring user on rabbitmq server I got this message on the end of state run:\r\n\r\n    Passed invalid arguments: can't serialize set([' administrator']).\r\n\r\n    Usage:\r\n\r\n        Execute a set list of state files from an environment.\r\n\r\n        test\r\n            Notify states to execute in test-only (dry-run) mode.\r\n\r\n            Sets the ``test`` variable in the minion ``opts`` for the duration of\r\n            the state run.\r\n        pillar\r\n            Custom Pillar data can be passed with the ``pillar`` kwarg. Values\r\n            passed here will override hard-coded Pillar values.\r\n        queue : ``False``\r\n            Instead of failing immediately when another state run is in progress,\r\n            queue the new state run to begin running once the other has finished.\r\n\r\n            This option starts a new thread for each queued state run so use this\r\n            option sparingly.\r\n        saltenv : None\r\n            Specify a ``file_roots`` environment.\r\n\r\n            .. versionchanged:: 0.17.0\r\n                Argument name changed from ``env`` to ``saltenv``.\r\n            .. versionchanged:: 2014.7\r\n                Defaults to None. If no saltenv is specified, the minion config will\r\n                be checked for a saltenv and if found, it will be used. If none is found,\r\n                base will be used.\r\n        pillarenv : None\r\n            Specify a ``pillar_roots`` environment. By default all pillar environments\r\n            merged together will be used.\r\n        concurrent:\r\n            WARNING: This flag is potentially dangerous. It is designed\r\n            for use when multiple state runs can safely be run at the same\r\n            Do not use this flag for performance optimization.\r\n        localconfig:\r\n            Instead of using running minion opts, load ``localconfig`` and merge that\r\n            with the running minion opts. This functionality is intended for using\r\n            \"roots\" of salt directories (with their own minion config, pillars,\r\n            file_roots) to run highstate out of.\r\n\r\n        CLI Example:\r\n\r\n        .. code-block:: bash\r\n\r\n            salt '*' state.sls core,edit.vim dev\r\n            salt '*' state.sls core exclude=\"[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]\"\r\n\r\n            salt '*' state.sls myslsfile pillar=\"{foo: 'Foo!', bar: 'Bar!'}\"\r\n\r\nMy sls looks like this:\r\n\r\n    rabbit_user_admin_present:\r\n      rabbitmq_user.present:\r\n      - name: {{ server.admin.name }}\r\n      - password: {{ server.admin.password }}\r\n      - force: True\r\n      - tags: management administrator\r\n      - perms:\r\n        {%- for vhost_name, vhost in server.get('host', {}).iteritems() %}\r\n        - '{{ vhost_name }}':\r\n          - '.*'\r\n          - '.*'\r\n          - '.*'\r\n        {%- endfor %}\r\n\r\nHere are my version reports:\r\n\r\nroot@master:/# salt-master --versions-report\r\nSalt Version:\r\n           Salt: 2015.8.3\r\n \r\nDependency Versions:\r\n         Jinja2: 2.7.2\r\n       M2Crypto: 0.21.1\r\n           Mako: 0.9.1\r\n         PyYAML: 3.10\r\n          PyZMQ: 14.0.1\r\n         Python: 2.7.6 (default, Jun 22 2015, 17:58:13)\r\n           RAET: Not Installed\r\n        Tornado: 4.2.1\r\n            ZMQ: 4.0.4\r\n           cffi: Not Installed\r\n       cherrypy: Not Installed\r\n       dateutil: 1.5\r\n          gitdb: 0.5.4\r\n      gitpython: 0.3.2 RC1\r\n          ioflo: Not Installed\r\n        libnacl: Not Installed\r\n   msgpack-pure: Not Installed\r\n msgpack-python: 0.3.0\r\n   mysql-python: 1.2.3\r\n      pycparser: Not Installed\r\n       pycrypto: 2.6.1\r\n         pygit2: Not Installed\r\n   python-gnupg: Not Installed\r\n          smmap: 0.8.2\r\n        timelib: Not Installed\r\n \r\nSystem Versions:\r\n           dist: Ubuntu 14.04 trusty\r\n        machine: x86_64\r\n        release: 3.19.0-26-generic\r\n         system: Ubuntu 14.04 trusty\r\n\r\nroot@minion:~# salt-minion --versions-report\r\nSalt Version:\r\n           Salt: 2015.8.3\r\n \r\nDependency Versions:\r\n         Jinja2: 2.7.2\r\n       M2Crypto: 0.21.1\r\n           Mako: 0.9.1\r\n         PyYAML: 3.10\r\n          PyZMQ: 14.0.1\r\n         Python: 2.7.6 (default, Jun 22 2015, 17:58:13)\r\n           RAET: Not Installed\r\n        Tornado: 4.2.1\r\n            ZMQ: 4.0.4\r\n           cffi: 0.8.2\r\n       cherrypy: Not Installed\r\n       dateutil: 1.5\r\n          gitdb: Not Installed\r\n      gitpython: Not Installed\r\n          ioflo: Not Installed\r\n        libnacl: Not Installed\r\n   msgpack-pure: Not Installed\r\n msgpack-python: 0.4.2\r\n   mysql-python: 1.2.3\r\n      pycparser: 2.10\r\n       pycrypto: 2.6.1\r\n         pygit2: Not Installed\r\n   python-gnupg: Not Installed\r\n          smmap: Not Installed\r\n        timelib: Not Installed\r\n \r\nSystem Versions:\r\n           dist: Ubuntu 14.04 trusty\r\n        machine: x86_64\r\n        release: 3.19.0-26-generic\r\n         system: Ubuntu 14.04 trusty\r\n\r\nI tried to fix this issue myself and it seems this message goes away and everything works properly when values from new_tags set are popped before returning, I'll link my pull request to this issue"}}