{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/23001","repository_url":"https://api.github.com/repos/ansible/ansible","labels_url":"https://api.github.com/repos/ansible/ansible/issues/23001/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/23001/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/23001/events","html_url":"https://github.com/ansible/ansible/pull/23001","id":217259947,"number":23001,"title":"Transition inventory into plugins","user":{"login":"bcoca","id":836171,"avatar_url":"https://avatars2.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"labels":[{"id":562292166,"url":"https://api.github.com/repos/ansible/ansible/labels/affects_2.4","name":"affects_2.4","color":"ededed","default":false},{"id":511876973,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/","name":"c:cli/","color":"b60205","default":false},{"id":528847503,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/adhoc","name":"c:cli/adhoc","color":"b60205","default":false},{"id":528847696,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/console","name":"c:cli/console","color":"b60205","default":false},{"id":528848206,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/doc","name":"c:cli/doc","color":"b60205","default":false},{"id":528848376,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/galaxy","name":"c:cli/galaxy","color":"b60205","default":false},{"id":528848575,"url":"https://api.github.com/repos/ansible/ansible/labels/c:cli/playbook","name":"c:cli/playbook","color":"b60205","default":false},{"id":511877826,"url":"https://api.github.com/repos/ansible/ansible/labels/c:constants","name":"c:constants","color":"b60205","default":false},{"id":511878400,"url":"https://api.github.com/repos/ansible/ansible/labels/c:executor/playbook_executor","name":"c:executor/playbook_executor","color":"b60205","default":false},{"id":511878499,"url":"https://api.github.com/repos/ansible/ansible/labels/c:executor/play_iterator","name":"c:executor/play_iterator","color":"b60205","default":false},{"id":511878845,"url":"https://api.github.com/repos/ansible/ansible/labels/c:executor/task_queue_manager","name":"c:executor/task_queue_manager","color":"b60205","default":false},{"id":511879389,"url":"https://api.github.com/repos/ansible/ansible/labels/c:galaxy/","name":"c:galaxy/","color":"b60205","default":false},{"id":511879621,"url":"https://api.github.com/repos/ansible/ansible/labels/c:inventory/dir","name":"c:inventory/dir","color":"b60205","default":false},{"id":511880191,"url":"https://api.github.com/repos/ansible/ansible/labels/c:inventory/group","name":"c:inventory/group","color":"b60205","default":false},{"id":511880220,"url":"https://api.github.com/repos/ansible/ansible/labels/c:inventory/host","name":"c:inventory/host","color":"b60205","default":false},{"id":511880481,"url":"https://api.github.com/repos/ansible/ansible/labels/c:inventory/script","name":"c:inventory/script","color":"b60205","default":false},{"id":511880686,"url":"https://api.github.com/repos/ansible/ansible/labels/c:inventory/yaml","name":"c:inventory/yaml","color":"b60205","default":false},{"id":511882695,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/become","name":"c:playbook/become","color":"b60205","default":false},{"id":511882829,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/block","name":"c:playbook/block","color":"b60205","default":false},{"id":511882949,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/conditional","name":"c:playbook/conditional","color":"b60205","default":false},{"id":511883197,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/helpers","name":"c:playbook/helpers","color":"b60205","default":false},{"id":511883346,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/included_file","name":"c:playbook/included_file","color":"b60205","default":false},{"id":511883396,"url":"https://api.github.com/repos/ansible/ansible/labels/c:playbook/loop_control","name":"c:playbook/loop_control","color":"b60205","default":false},{"id":511886232,"url":"https://api.github.com/repos/ansible/ansible/labels/c:plugins/strategy","name":"c:plugins/strategy","color":"b60205","default":false},{"id":511886616,"url":"https://api.github.com/repos/ansible/ansible/labels/c:plugins/vars","name":"c:plugins/vars","color":"b60205","default":false},{"id":511888087,"url":"https://api.github.com/repos/ansible/ansible/labels/c:utils/listify","name":"c:utils/listify","color":"b60205","default":false},{"id":511888271,"url":"https://api.github.com/repos/ansible/ansible/labels/c:utils/path","name":"c:utils/path","color":"b60205","default":false},{"id":511888443,"url":"https://api.github.com/repos/ansible/ansible/labels/c:utils/vars","name":"c:utils/vars","color":"b60205","default":false},{"id":511888720,"url":"https://api.github.com/repos/ansible/ansible/labels/c:vars/hostvars","name":"c:vars/hostvars","color":"b60205","default":false},{"id":48464763,"url":"https://api.github.com/repos/ansible/ansible/labels/docs_pull_request","name":"docs_pull_request","color":"0052cc","default":false},{"id":48457821,"url":"https://api.github.com/repos/ansible/ansible/labels/feature_pull_request","name":"feature_pull_request","color":"006b75","default":false},{"id":61436281,"url":"https://api.github.com/repos/ansible/ansible/labels/needs_revision","name":"needs_revision","color":"eb6450","default":false},{"id":461464968,"url":"https://api.github.com/repos/ansible/ansible/labels/test_pull_requests","name":"test_pull_requests","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ansible/ansible/milestones/10","html_url":"https://github.com/ansible/ansible/milestone/10","labels_url":"https://api.github.com/repos/ansible/ansible/milestones/10/labels","id":2338346,"number":10,"title":"2.4.0","description":"","creator":{"login":"thaumos","id":891871,"avatar_url":"https://avatars2.githubusercontent.com/u/891871?v=3","gravatar_id":"","url":"https://api.github.com/users/thaumos","html_url":"https://github.com/thaumos","followers_url":"https://api.github.com/users/thaumos/followers","following_url":"https://api.github.com/users/thaumos/following{/other_user}","gists_url":"https://api.github.com/users/thaumos/gists{/gist_id}","starred_url":"https://api.github.com/users/thaumos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thaumos/subscriptions","organizations_url":"https://api.github.com/users/thaumos/orgs","repos_url":"https://api.github.com/users/thaumos/repos","events_url":"https://api.github.com/users/thaumos/events{/privacy}","received_events_url":"https://api.github.com/users/thaumos/received_events","type":"User","site_admin":false},"open_issues":40,"closed_issues":8,"state":"open","created_at":"2017-02-21T17:24:56Z","updated_at":"2017-04-06T18:03:17Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2017-03-27T14:14:40Z","updated_at":"2017-04-07T00:56:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/23001","html_url":"https://github.com/ansible/ansible/pull/23001","diff_url":"https://github.com/ansible/ansible/pull/23001.diff","patch_url":"https://github.com/ansible/ansible/pull/23001.patch"},"body":"##### SUMMARY\r\n<!--- Describe the change, including rationale and design decisions -->\r\nImplementing https://github.com/ansible/proposals/issues/41\r\n\r\n- Move from hardcoded 'options' to real plugins (ini, script and yaml as minimal requirements)\r\n- Allow multiple inventories to be specified\r\n- Allow inventory plugins to use the configured cache plugin\r\n- Transition from inventory scripts to plugins (script plugin will exist for backwards compatibility)\r\n- Simplify logic (currently it is duplicated a lot, specially in plugins)\r\n   * Defer data loading to 'data loader' and variable management to 'variable manager'\r\n   * Folds in vars \"inventory\" plugins\r\n\r\n\r\n##### ISSUE TYPE\r\n<!--- Pick one below and delete the rest: -->\r\n - Feature Pull Request\r\n - Bugfix Pull Request\r\n - Docs Pull Request\r\n\r\n##### COMPONENT NAME\r\n<!--- Name of the module/plugin/module/task -->\r\ninventory\r\n\r\n##### ANSIBLE VERSION\r\n<!--- Paste verbatim output from “ansible --version” between quotes below -->\r\n```\r\n2.4\r\n```\r\n\r\n\r\n##### ADDITIONAL INFORMATION\r\n\r\nAlso fixes #23057"},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/292382485","html_url":"https://github.com/ansible/ansible/pull/23001#issuecomment-292382485","issue_url":"https://api.github.com/repos/ansible/ansible/issues/23001","id":292382485,"user":{"login":"ansibot","id":6585283,"avatar_url":"https://avatars3.githubusercontent.com/u/6585283?v=3","gravatar_id":"","url":"https://api.github.com/users/ansibot","html_url":"https://github.com/ansibot","followers_url":"https://api.github.com/users/ansibot/followers","following_url":"https://api.github.com/users/ansibot/following{/other_user}","gists_url":"https://api.github.com/users/ansibot/gists{/gist_id}","starred_url":"https://api.github.com/users/ansibot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansibot/subscriptions","organizations_url":"https://api.github.com/users/ansibot/orgs","repos_url":"https://api.github.com/users/ansibot/repos","events_url":"https://api.github.com/users/ansibot/events{/privacy}","received_events_url":"https://api.github.com/users/ansibot/received_events","type":"User","site_admin":false},"created_at":"2017-04-07T00:56:11Z","updated_at":"2017-04-07T00:56:11Z","body":"The test `ansible-test sanity --test ansible-var-precedence-check` failed with the following error:\n```\nCommand \"test/sanity/code-smell/ansible-var-precedence-check.py\" returned exit status 1.\n>>> Standard Output\nCHECKING: extra_vars (var passed via the cli)\nCHECKING: include_params ()\nCHECKING: set_fact (var made by set_fact)\nCHECKING: include_vars (var in included file)\nCHECKING: task_vars (vars defined on the task)\nCHECKING: block_vars (vars defined on the block)\nCHECKING: role_var (var in ???)\nCHECKING: vars_file (var in file added by vars_file)\nCHECKING: play_var (var set in playbook header)\nCHECKING: pb_host_vars_file (var in playbook/host_vars/host)\nCHECKING: ini_host_vars_file (var in inventory/host_vars/host)\nCHECKING: ini_host (host var inside the ini)\nCHECKING: pb_group_vars_file_child (var in playbook/group_vars/child)\nCHECKING: pb_group_vars_file_parent (var in playbook/group_vars/parent)\nCHECKING: ini_group_vars_file_parent (var in inventory/group_vars/parent)\nERROR !!!\nplaybook failed (rc=2), stdout: '\nPLAY [testhost] ****************************************************************\n\nTASK [debug] *******************************************************************\nok: [testhost] => {\n    \"changed\": false, \n    \"findme\": \"ini_child\"\n}\n\nTASK [assert] ******************************************************************\nfatal: [testhost]: FAILED! => {\n    \"assertion\": \"findme == \\\"ini_group_vars_file_parent\\\"\", \n    \"changed\": false, \n    \"evaluated_to\": false, \n    \"failed\": true\n}\n\tto retry, use: --limit @/tmp/tmptwPb4h/site.retry\n\nPLAY RECAP *********************************************************************\ntesthost                   : ok=1    changed=0    unreachable=0    failed=1   \n\n' stderr: ''\nfeature: ini_group_vars_file_parent failed\n```\n<!-- job_id: 58e6d35aeb789d070092ec66 -->\n<!-- job_id: 58e6d35a0271c307000f5337 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-var-precedence-check.json -->\n\n[click here for bot help](https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md)\n<!--- boilerplate: shippable_test_result --->"}}
{"actor":{"display_login":"ansibot"}}