{"action":"opened","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/22747","labels_url":"https://api.github.com/repos/saltstack/salt/issues/22747/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/22747/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/22747/events","html_url":"https://github.com/saltstack/salt/issues/22747","id":68941781,"number":22747,"title":"file.managed fails with a list of one or more source files","user":{"login":"brianz","id":190550,"avatar_url":"https://avatars.githubusercontent.com/u/190550?v=3","gravatar_id":"","url":"https://api.github.com/users/brianz","html_url":"https://github.com/brianz","followers_url":"https://api.github.com/users/brianz/followers","following_url":"https://api.github.com/users/brianz/following{/other_user}","gists_url":"https://api.github.com/users/brianz/gists{/gist_id}","starred_url":"https://api.github.com/users/brianz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianz/subscriptions","organizations_url":"https://api.github.com/users/brianz/orgs","repos_url":"https://api.github.com/users/brianz/repos","events_url":"https://api.github.com/users/brianz/events{/privacy}","received_events_url":"https://api.github.com/users/brianz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-16T14:55:29Z","updated_at":"2015-04-16T14:55:29Z","closed_at":null,"body":"My previously working states fail to run when upgrading from 2014.7.2 to 2014.7.4.  The issue I'm seeing is that the `source` filed for `file.managed` *must* be a single item, rather than a list of one or more items.\r\n\r\nFrom the docs:\r\n\r\nhttp://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.managed\r\n\r\n> A list of sources can also be passed in to provide a default source and a set of fallbacks. The first source in the list that is found to exist will be used and subsequent entries in the list will be ignored.\r\n\r\nThe following works:\r\n\r\n```\r\nrsyslog:\r\n  file.managed:\r\n    - name: /etc/rsyslog.conf\r\n    - user: root\r\n    - group: root\r\n    - mode: 644 \r\n    - source: salt://rsyslog/files/rsyslog.conf\r\n    - require:\r\n      - pkg: rsyslog\r\n```\r\n\r\nHowever, this fails:\r\n\r\n```\r\nrsyslog:\r\n  file.managed:\r\n    - name: /etc/rsyslog.conf\r\n    - user: root\r\n    - group: root\r\n    - mode: 644\r\n    - source:\r\n      - salt://rsyslog/files/rsyslog.conf.{{ grains['fqdn'] }}\r\n      - salt://rsyslog/files/rsyslog.conf.{{ grains['instance_type'] }}\r\n      - salt://rsyslog/files/rsyslog.conf\r\n    - require:\r\n      - pkg: rsyslog\r\n```\r\n\r\nChanging to a single-item list still fails:\r\n\r\n```\r\n    - source:\r\n      - salt://rsyslog/files/rsyslog.conf\r\n```\r\n\r\nWhether `source` has one item in the list or multiple, the error returned is:\r\n\r\n\"Comment: Unable to manage file: none of the specified sources were found\"\r\n\r\nAs soon as I switch to the `source: salt://...` syntax, it works as expected.\r\n\r\n```\r\n$ salt --versions-report\r\n           Salt: 2014.7.4\r\n         Python: 2.6.9 (unknown, Apr  1 2015, 18:16:00)\r\n         Jinja2: 2.7.2\r\n       M2Crypto: 0.21.1\r\n msgpack-python: 0.4.4\r\n   msgpack-pure: Not Installed\r\n       pycrypto: 2.6.1\r\n        libnacl: Not Installed\r\n         PyYAML: 3.10\r\n          ioflo: Not Installed\r\n          PyZMQ: 14.3.1\r\n           RAET: Not Installed\r\n            ZMQ: 3.2.5\r\n           Mako: Not Installed\r\n```"}}