{"action":"created","issue":{"url":"https://api.github.com/repos/rhinstaller/anaconda/issues/1391","repository_url":"https://api.github.com/repos/rhinstaller/anaconda","labels_url":"https://api.github.com/repos/rhinstaller/anaconda/issues/1391/labels{/name}","comments_url":"https://api.github.com/repos/rhinstaller/anaconda/issues/1391/comments","events_url":"https://api.github.com/repos/rhinstaller/anaconda/issues/1391/events","html_url":"https://github.com/rhinstaller/anaconda/pull/1391","id":304845689,"number":1391,"title":"Initial module enablement and installation support","user":{"login":"M4rtinK","id":829558,"avatar_url":"https://avatars3.githubusercontent.com/u/829558?v=4","gravatar_id":"","url":"https://api.github.com/users/M4rtinK","html_url":"https://github.com/M4rtinK","followers_url":"https://api.github.com/users/M4rtinK/followers","following_url":"https://api.github.com/users/M4rtinK/following{/other_user}","gists_url":"https://api.github.com/users/M4rtinK/gists{/gist_id}","starred_url":"https://api.github.com/users/M4rtinK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/M4rtinK/subscriptions","organizations_url":"https://api.github.com/users/M4rtinK/orgs","repos_url":"https://api.github.com/users/M4rtinK/repos","events_url":"https://api.github.com/users/M4rtinK/events{/privacy}","received_events_url":"https://api.github.com/users/M4rtinK/received_events","type":"User","site_admin":false},"labels":[{"id":851679102,"url":"https://api.github.com/repos/rhinstaller/anaconda/labels/f28","name":"f28","color":"f4e581","default":false},{"id":196499629,"url":"https://api.github.com/repos/rhinstaller/anaconda/labels/master","name":"master","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-03-13T16:44:41Z","updated_at":"2018-03-26T17:14:53Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/rhinstaller/anaconda/pulls/1391","html_url":"https://github.com/rhinstaller/anaconda/pull/1391","diff_url":"https://github.com/rhinstaller/anaconda/pull/1391.diff","patch_url":"https://github.com/rhinstaller/anaconda/pull/1391.patch"},"body":"Use new DNF API entry points to make it possible to enable install\r\nmodules. At the same time we can radically simplify our group exclusion\r\nand environment resolution code by making full use of the new API.\r\n\r\nThe main change is that instead of incrementally calling \"install package\"\r\nand \"select group\" we now gather all the things we want to include\r\nand exclude in the installation transaction and feed it to DNF at once.\r\n\r\nIn short what this does is:\r\n- makes it possible to install modules, including stream id & profile\r\n- makes it possible to enable modules without installing them\r\n- drops all our group exclusion logic as DNF can now handle that via the new API\r\n- makes it possible to mark environments as installed, meaning we no longer need to resolve environments to groups and that environments are correctly marked as installed on the target system\r\n- overall a nice code cleanup\r\n\r\nPossible followup items:\r\n- all in one transaction error handling: tell users all problem with a transaction, not one issue at a time like now\r\n- make it possible to specify all supported package types per group"},"comment":{"url":"https://api.github.com/repos/rhinstaller/anaconda/issues/comments/376242217","html_url":"https://github.com/rhinstaller/anaconda/pull/1391#issuecomment-376242217","issue_url":"https://api.github.com/repos/rhinstaller/anaconda/issues/1391","id":376242217,"user":{"login":"M4rtinK","id":829558,"avatar_url":"https://avatars3.githubusercontent.com/u/829558?v=4","gravatar_id":"","url":"https://api.github.com/users/M4rtinK","html_url":"https://github.com/M4rtinK","followers_url":"https://api.github.com/users/M4rtinK/followers","following_url":"https://api.github.com/users/M4rtinK/following{/other_user}","gists_url":"https://api.github.com/users/M4rtinK/gists{/gist_id}","starred_url":"https://api.github.com/users/M4rtinK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/M4rtinK/subscriptions","organizations_url":"https://api.github.com/users/M4rtinK/orgs","repos_url":"https://api.github.com/users/M4rtinK/repos","events_url":"https://api.github.com/users/M4rtinK/events{/privacy}","received_events_url":"https://api.github.com/users/M4rtinK/received_events","type":"User","site_admin":false},"created_at":"2018-03-26T17:14:53Z","updated_at":"2018-03-26T17:14:53Z","author_association":"CONTRIBUTOR","body":"Updated the PR:\r\n- fixed some Pylint errors (the DNF related error are due to using not yet released DNF APIs)\r\n- split the module enabling code to a separate method\r\n- used common include/exclude sets"}}
{"actor":{"display_login":"M4rtinK"}}