{"action":"created","issue":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/17452","repository_url":"https://api.github.com/repos/ManageIQ/manageiq","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/17452/labels{/name}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/17452/comments","events_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/17452/events","html_url":"https://github.com/ManageIQ/manageiq/pull/17452","id":324928162,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg5Mzg4NDc3","number":17452,"title":"Suspend providers","user":{"login":"slemrmartin","id":1814995,"node_id":"MDQ6VXNlcjE4MTQ5OTU=","avatar_url":"https://avatars1.githubusercontent.com/u/1814995?v=4","gravatar_id":"","url":"https://api.github.com/users/slemrmartin","html_url":"https://github.com/slemrmartin","followers_url":"https://api.github.com/users/slemrmartin/followers","following_url":"https://api.github.com/users/slemrmartin/following{/other_user}","gists_url":"https://api.github.com/users/slemrmartin/gists{/gist_id}","starred_url":"https://api.github.com/users/slemrmartin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slemrmartin/subscriptions","organizations_url":"https://api.github.com/users/slemrmartin/orgs","repos_url":"https://api.github.com/users/slemrmartin/repos","events_url":"https://api.github.com/users/slemrmartin/events{/privacy}","received_events_url":"https://api.github.com/users/slemrmartin/received_events","type":"User","site_admin":false},"labels":[{"id":106615678,"node_id":"MDU6TGFiZWwxMDY2MTU2Nzg=","url":"https://api.github.com/repos/ManageIQ/manageiq/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":1069066996,"node_id":"MDU6TGFiZWwxMDY5MDY2OTk2","url":"https://api.github.com/repos/ManageIQ/manageiq/labels/hammer/yes","name":"hammer/yes","color":"000000","default":false},{"id":182909211,"node_id":"MDU6TGFiZWwxODI5MDkyMTE=","url":"https://api.github.com/repos/ManageIQ/manageiq/labels/providers","name":"providers","color":"5319e7","default":false},{"id":495693084,"node_id":"MDU6TGFiZWw0OTU2OTMwODQ=","url":"https://api.github.com/repos/ManageIQ/manageiq/labels/unmergeable","name":"unmergeable","color":"eeeeee","default":false}],"state":"open","locked":false,"assignee":{"login":"jrafanie","id":19339,"node_id":"MDQ6VXNlcjE5MzM5","avatar_url":"https://avatars0.githubusercontent.com/u/19339?v=4","gravatar_id":"","url":"https://api.github.com/users/jrafanie","html_url":"https://github.com/jrafanie","followers_url":"https://api.github.com/users/jrafanie/followers","following_url":"https://api.github.com/users/jrafanie/following{/other_user}","gists_url":"https://api.github.com/users/jrafanie/gists{/gist_id}","starred_url":"https://api.github.com/users/jrafanie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrafanie/subscriptions","organizations_url":"https://api.github.com/users/jrafanie/orgs","repos_url":"https://api.github.com/users/jrafanie/repos","events_url":"https://api.github.com/users/jrafanie/events{/privacy}","received_events_url":"https://api.github.com/users/jrafanie/received_events","type":"User","site_admin":false},"assignees":[{"login":"jrafanie","id":19339,"node_id":"MDQ6VXNlcjE5MzM5","avatar_url":"https://avatars0.githubusercontent.com/u/19339?v=4","gravatar_id":"","url":"https://api.github.com/users/jrafanie","html_url":"https://github.com/jrafanie","followers_url":"https://api.github.com/users/jrafanie/followers","following_url":"https://api.github.com/users/jrafanie/following{/other_user}","gists_url":"https://api.github.com/users/jrafanie/gists{/gist_id}","starred_url":"https://api.github.com/users/jrafanie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrafanie/subscriptions","organizations_url":"https://api.github.com/users/jrafanie/orgs","repos_url":"https://api.github.com/users/jrafanie/repos","events_url":"https://api.github.com/users/jrafanie/events{/privacy}","received_events_url":"https://api.github.com/users/jrafanie/received_events","type":"User","site_admin":false}],"milestone":null,"comments":18,"created_at":"2018-05-21T14:04:18Z","updated_at":"2018-10-23T18:05:57Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/17452","html_url":"https://github.com/ManageIQ/manageiq/pull/17452","diff_url":"https://github.com/ManageIQ/manageiq/pull/17452.diff","patch_url":"https://github.com/ManageIQ/manageiq/pull/17452.patch"},"body":"Adds ability to suspend provider due to maintenance\r\n\r\nFixes BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1455145\r\n**Issue**: https://github.com/ManageIQ/manageiq/issues/17489\r\n\r\n- [x] **depends on**: https://github.com/ManageIQ/manageiq-schema/pull/275\r\n- **dependent**: https://github.com/ManageIQ/manageiq-ui-classic/pull/4269\r\n- **dependent**: https://github.com/ManageIQ/manageiq-api/pull/434\r\n\r\n\r\nIt moves EMS and child managers to Maintenance zone, also sets EMS.enabled to false, which causes stopping provider-specific workers\r\n\r\nCc @Ladas, @agrare, @jerryk55, @romanblanco \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/comments/432356848","html_url":"https://github.com/ManageIQ/manageiq/pull/17452#issuecomment-432356848","issue_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/17452","id":432356848,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMjM1Njg0OA==","user":{"login":"agrare","id":12851112,"node_id":"MDQ6VXNlcjEyODUxMTEy","avatar_url":"https://avatars2.githubusercontent.com/u/12851112?v=4","gravatar_id":"","url":"https://api.github.com/users/agrare","html_url":"https://github.com/agrare","followers_url":"https://api.github.com/users/agrare/followers","following_url":"https://api.github.com/users/agrare/following{/other_user}","gists_url":"https://api.github.com/users/agrare/gists{/gist_id}","starred_url":"https://api.github.com/users/agrare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrare/subscriptions","organizations_url":"https://api.github.com/users/agrare/orgs","repos_url":"https://api.github.com/users/agrare/repos","events_url":"https://api.github.com/users/agrare/events{/privacy}","received_events_url":"https://api.github.com/users/agrare/received_events","type":"User","site_admin":false},"created_at":"2018-10-23T18:05:57Z","updated_at":"2018-10-23T18:05:57Z","author_association":"MEMBER","body":"So the biggest issues I see are the logic around visible vs maintenance zone, and the child managers not being paused.\r\n\r\nIt seems like we're associating a good deal of the business logic around if a zone is visible or not, when I believe we should only be dealing with maintenance zone here.\r\n\r\nEven if we never add another non-maintenance invisible zone I think the validations here make more sense when referencing e.g. \"validate that we're not adding a server to a maintenance zone\"\r\n\r\nIf we _do_ ever add another type of invisible zone then some of these validations might cause real issues, what if we do want to add an enabled ems to an invisible zone?  We don't know and it just adds complexity and confusion IMO.\r\n\r\n\r\nIf we don't pause the child managers they will still run ops against the provider that we wanted to be paused.  E.g. for openstack if we pause the cloud manager but not the network manager then there is still the possibility of doing something like creating a CloudSubnet.\r\n\r\nI think everything else is style."}}
{"actor":{"display_login":"agrare"}}