{"action":"created","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/21744","labels_url":"https://api.github.com/repos/saltstack/salt/issues/21744/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/21744/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/21744/events","html_url":"https://github.com/saltstack/salt/issues/21744","id":62522396,"number":21744,"title":"[2015.5] Multi-Master Minions Block on Authentication","user":{"login":"rallytime","id":6547906,"avatar_url":"https://avatars.githubusercontent.com/u/6547906?v=3","gravatar_id":"","url":"https://api.github.com/users/rallytime","html_url":"https://github.com/rallytime","followers_url":"https://api.github.com/users/rallytime/followers","following_url":"https://api.github.com/users/rallytime/following{/other_user}","gists_url":"https://api.github.com/users/rallytime/gists{/gist_id}","starred_url":"https://api.github.com/users/rallytime/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rallytime/subscriptions","organizations_url":"https://api.github.com/users/rallytime/orgs","repos_url":"https://api.github.com/users/rallytime/repos","events_url":"https://api.github.com/users/rallytime/events{/privacy}","received_events_url":"https://api.github.com/users/rallytime/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt/labels/Bug","name":"Bug","color":"e11d21"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Core","name":"Core","color":"fef2c0"},{"url":"https://api.github.com/repos/saltstack/salt/labels/High%20Severity","name":"High Severity","color":"ff9143"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Multi-Master","name":"Multi-Master","color":"006b75"},{"url":"https://api.github.com/repos/saltstack/salt/labels/P1","name":"P1","color":"2181ee"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Regression","name":"Regression","color":"e11d21"},{"url":"https://api.github.com/repos/saltstack/salt/labels/ZD","name":"ZD","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"cachedout","id":111616,"avatar_url":"https://avatars.githubusercontent.com/u/111616?v=3","gravatar_id":"","url":"https://api.github.com/users/cachedout","html_url":"https://github.com/cachedout","followers_url":"https://api.github.com/users/cachedout/followers","following_url":"https://api.github.com/users/cachedout/following{/other_user}","gists_url":"https://api.github.com/users/cachedout/gists{/gist_id}","starred_url":"https://api.github.com/users/cachedout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cachedout/subscriptions","organizations_url":"https://api.github.com/users/cachedout/orgs","repos_url":"https://api.github.com/users/cachedout/repos","events_url":"https://api.github.com/users/cachedout/events{/privacy}","received_events_url":"https://api.github.com/users/cachedout/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/saltstack/salt/milestones/67","html_url":"https://github.com/saltstack/salt/milestones/B%2010","labels_url":"https://api.github.com/repos/saltstack/salt/milestones/67/labels","id":1332026,"number":67,"title":"B 10","description":"","creator":{"login":"meggiebot","id":12242451,"avatar_url":"https://avatars.githubusercontent.com/u/12242451?v=3","gravatar_id":"","url":"https://api.github.com/users/meggiebot","html_url":"https://github.com/meggiebot","followers_url":"https://api.github.com/users/meggiebot/followers","following_url":"https://api.github.com/users/meggiebot/following{/other_user}","gists_url":"https://api.github.com/users/meggiebot/gists{/gist_id}","starred_url":"https://api.github.com/users/meggiebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meggiebot/subscriptions","organizations_url":"https://api.github.com/users/meggiebot/orgs","repos_url":"https://api.github.com/users/meggiebot/repos","events_url":"https://api.github.com/users/meggiebot/events{/privacy}","received_events_url":"https://api.github.com/users/meggiebot/received_events","type":"User","site_admin":false},"open_issues":41,"closed_issues":21,"state":"open","created_at":"2015-09-30T20:33:22Z","updated_at":"2015-10-22T21:00:03Z","due_on":"2015-10-27T06:00:00Z","closed_at":null},"comments":15,"created_at":"2015-03-17T21:27:47Z","updated_at":"2015-10-22T21:05:21Z","closed_at":null,"body":"When setting up multi-master on the HEAD of the 2015.2 branch, when the minion starts, the minion will block until it authenticates with the first master in the minion's list of masters. Once that auth has taken place, it will then block on the authentication of the second master, and so on (if more than two).\r\n\r\nThis is a regression in behavior since 2014.7 (and, after testing on the HEAD of 2014.7, is not an issue there). In 2014.7, the minion would try to auth with both masters, before eventually settling on whichever masters were up after a number of iterations (see #17032). \r\n\r\nThe blocking behavior causes several problems with multi-master:\r\n\r\n1. When the minion is started and the 1st master is up but the second master is down, the minion auths with the first master and then blocks. The 1st master, which is running, cannot send commands to the minion(s), because the minions aren't receiving the event, processing it, and sending returns. The CLI on the master says \"Minion did not return. [No response]\".\r\n\r\n2. When the minion is started and the 2nd master is up but the 1st master is down, the minion blocks on authing to the first master. Commands can't be sent from the 2nd master to the minion(s) because the minions haven't authenticated and are not receiving events.\r\n\r\nping @cachedout "},"comment":{"url":"https://api.github.com/repos/saltstack/salt/issues/comments/150356143","html_url":"https://github.com/saltstack/salt/issues/21744#issuecomment-150356143","issue_url":"https://api.github.com/repos/saltstack/salt/issues/21744","id":150356143,"user":{"login":"plastikos","id":3281727,"avatar_url":"https://avatars.githubusercontent.com/u/3281727?v=3","gravatar_id":"","url":"https://api.github.com/users/plastikos","html_url":"https://github.com/plastikos","followers_url":"https://api.github.com/users/plastikos/followers","following_url":"https://api.github.com/users/plastikos/following{/other_user}","gists_url":"https://api.github.com/users/plastikos/gists{/gist_id}","starred_url":"https://api.github.com/users/plastikos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plastikos/subscriptions","organizations_url":"https://api.github.com/users/plastikos/orgs","repos_url":"https://api.github.com/users/plastikos/repos","events_url":"https://api.github.com/users/plastikos/events{/privacy}","received_events_url":"https://api.github.com/users/plastikos/received_events","type":"User","site_admin":false},"created_at":"2015-10-22T21:05:21Z","updated_at":"2015-10-22T21:05:21Z","body":"I'm also interested to know how certain you are that the linger value was being set on the AsyncZeroMQPubChannel?  With some of the work I've been doing with config files and opts being passed I don't trust that options get passed properly in older versions of Salt.  Hard-coding a value is the ticket for being sure."}}