{"action":"created","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/24622","labels_url":"https://api.github.com/repos/saltstack/salt/issues/24622/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/24622/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/24622/events","html_url":"https://github.com/saltstack/salt/issues/24622","id":87595255,"number":24622,"title":"Select minion environment without using top.sls","user":{"login":"garo","id":381921,"avatar_url":"https://avatars.githubusercontent.com/u/381921?v=3","gravatar_id":"","url":"https://api.github.com/users/garo","html_url":"https://github.com/garo","followers_url":"https://api.github.com/users/garo/followers","following_url":"https://api.github.com/users/garo/following{/other_user}","gists_url":"https://api.github.com/users/garo/gists{/gist_id}","starred_url":"https://api.github.com/users/garo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garo/subscriptions","organizations_url":"https://api.github.com/users/garo/orgs","repos_url":"https://api.github.com/users/garo/repos","events_url":"https://api.github.com/users/garo/events{/privacy}","received_events_url":"https://api.github.com/users/garo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt/labels/Core","name":"Core","color":"fef2c0"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Feature","name":"Feature","color":"009800"},{"url":"https://api.github.com/repos/saltstack/salt/labels/P3","name":"P3","color":"0a3d77"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt/milestones/13","html_url":"https://github.com/saltstack/salt/milestones/Approved","labels_url":"https://api.github.com/repos/saltstack/salt/milestones/13/labels","id":9265,"number":13,"title":"Approved","description":"All issues that are ready to be worked on, both bugs and features.","creator":{"login":"thatch45","id":507599,"avatar_url":"https://avatars.githubusercontent.com/u/507599?v=3","gravatar_id":"","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":2488,"closed_issues":2513,"state":"open","created_at":"2011-05-14T04:00:56Z","updated_at":"2015-08-25T20:07:34Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-06-12T03:54:39Z","updated_at":"2015-08-25T20:18:59Z","closed_at":null,"body":"Currently the top.sls is the only way to select environment for each minion and when using complex environments this starts to limit and makes top.sls configuration too complex.\r\n\r\nWe're trying to use a production environment and a development environment using gitfs branches where development is used to develop new salt recipes (and not to develop software products not related to salt-stack). This means that we want to have nearly all our virtual machines to follow a \"production\" branch from the gitfs but then we want to cherry pick a few machines to follow the \"master\" branch when we want to try out new changes to the salt-stack states. \r\n\r\nThe normal use case is that an operator (who develops salt states) makes modifications into the master branch, moves one machine from production to follow the development environment, executes highstate to this one machine to verify that the changes are good, switches the machine back to the production environment, merges (or rebases) the master branch to the production branch and then executes highstate for every server to get the new modifications synchronised across all minions.\r\n\r\nWith the current top.sls system changing a single machine to follow another environment requires doing usually big modifications to the top.sls which are error prone, especially when a minion host matches multiple different sections in the top.sls.\r\n\r\nWhat I'm proposing is a separate way to force minion environment with either an option in the minion.conf file in the minion machine or some another way in the salt server."},"comment":{"url":"https://api.github.com/repos/saltstack/salt/issues/comments/134726760","html_url":"https://github.com/saltstack/salt/issues/24622#issuecomment-134726760","issue_url":"https://api.github.com/repos/saltstack/salt/issues/24622","id":134726760,"user":{"login":"jfindlay","id":702905,"avatar_url":"https://avatars.githubusercontent.com/u/702905?v=3","gravatar_id":"","url":"https://api.github.com/users/jfindlay","html_url":"https://github.com/jfindlay","followers_url":"https://api.github.com/users/jfindlay/followers","following_url":"https://api.github.com/users/jfindlay/following{/other_user}","gists_url":"https://api.github.com/users/jfindlay/gists{/gist_id}","starred_url":"https://api.github.com/users/jfindlay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfindlay/subscriptions","organizations_url":"https://api.github.com/users/jfindlay/orgs","repos_url":"https://api.github.com/users/jfindlay/repos","events_url":"https://api.github.com/users/jfindlay/events{/privacy}","received_events_url":"https://api.github.com/users/jfindlay/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T20:18:59Z","updated_at":"2015-08-25T20:18:59Z","body":"@garo, you may be interested in this: https://github.com/saltstack/salt/pull/24878."}}