{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/22159","repository_url":"https://api.github.com/repos/ansible/ansible","labels_url":"https://api.github.com/repos/ansible/ansible/issues/22159/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/22159/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/22159/events","html_url":"https://github.com/ansible/ansible/pull/22159","id":211192748,"number":22159,"title":"Add bindep module","user":{"login":"emonty","id":95156,"avatar_url":"https://avatars2.githubusercontent.com/u/95156?v=4","gravatar_id":"","url":"https://api.github.com/users/emonty","html_url":"https://github.com/emonty","followers_url":"https://api.github.com/users/emonty/followers","following_url":"https://api.github.com/users/emonty/following{/other_user}","gists_url":"https://api.github.com/users/emonty/gists{/gist_id}","starred_url":"https://api.github.com/users/emonty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emonty/subscriptions","organizations_url":"https://api.github.com/users/emonty/orgs","repos_url":"https://api.github.com/users/emonty/repos","events_url":"https://api.github.com/users/emonty/events{/privacy}","received_events_url":"https://api.github.com/users/emonty/received_events","type":"User","site_admin":false},"labels":[{"id":454885231,"url":"https://api.github.com/repos/ansible/ansible/labels/affects_2.3","name":"affects_2.3","color":"5319e7","default":false},{"id":562292166,"url":"https://api.github.com/repos/ansible/ansible/labels/affects_2.4","name":"affects_2.4","color":"ededed","default":false},{"id":496359346,"url":"https://api.github.com/repos/ansible/ansible/labels/module","name":"module","color":"1d76db","default":false},{"id":61436281,"url":"https://api.github.com/repos/ansible/ansible/labels/needs_revision","name":"needs_revision","color":"eb6450","default":false},{"id":473225334,"url":"https://api.github.com/repos/ansible/ansible/labels/new_module","name":"new_module","color":"ededed","default":false},{"id":153577825,"url":"https://api.github.com/repos/ansible/ansible/labels/new_plugin","name":"new_plugin","color":"bfe5bf","default":false},{"id":636327968,"url":"https://api.github.com/repos/ansible/ansible/labels/support:community","name":"support:community","color":"ededed","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":{"login":"rcarrillocruz","id":1419467,"avatar_url":"https://avatars3.githubusercontent.com/u/1419467?v=4","gravatar_id":"","url":"https://api.github.com/users/rcarrillocruz","html_url":"https://github.com/rcarrillocruz","followers_url":"https://api.github.com/users/rcarrillocruz/followers","following_url":"https://api.github.com/users/rcarrillocruz/following{/other_user}","gists_url":"https://api.github.com/users/rcarrillocruz/gists{/gist_id}","starred_url":"https://api.github.com/users/rcarrillocruz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcarrillocruz/subscriptions","organizations_url":"https://api.github.com/users/rcarrillocruz/orgs","repos_url":"https://api.github.com/users/rcarrillocruz/repos","events_url":"https://api.github.com/users/rcarrillocruz/events{/privacy}","received_events_url":"https://api.github.com/users/rcarrillocruz/received_events","type":"User","site_admin":false},"assignees":[{"login":"rcarrillocruz","id":1419467,"avatar_url":"https://avatars3.githubusercontent.com/u/1419467?v=4","gravatar_id":"","url":"https://api.github.com/users/rcarrillocruz","html_url":"https://github.com/rcarrillocruz","followers_url":"https://api.github.com/users/rcarrillocruz/followers","following_url":"https://api.github.com/users/rcarrillocruz/following{/other_user}","gists_url":"https://api.github.com/users/rcarrillocruz/gists{/gist_id}","starred_url":"https://api.github.com/users/rcarrillocruz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcarrillocruz/subscriptions","organizations_url":"https://api.github.com/users/rcarrillocruz/orgs","repos_url":"https://api.github.com/users/rcarrillocruz/repos","events_url":"https://api.github.com/users/rcarrillocruz/events{/privacy}","received_events_url":"https://api.github.com/users/rcarrillocruz/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2017-03-01T20:05:32Z","updated_at":"2017-08-24T18:19:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/22159","html_url":"https://github.com/ansible/ansible/pull/22159","diff_url":"https://github.com/ansible/ansible/pull/22159.diff","patch_url":"https://github.com/ansible/ansible/pull/22159.patch"},"body":"##### SUMMARY\nNew module that supports reading system dependency lists from bindep\nformat files or from direct yaml lists. https://docs.openstack.org/infra/bindep/ contains more information on bindep, but the tl;dr is that it's a file format similar to python requirements.txt files that allows users to express distro-depends for multiple distros in a compact and easy to understand form. This lets a project let folks know what packages they need installed so that humans can read it - but also the bindep tool itself knows how to check the list against the current platform's installed depends and return a list of packages that need to be installed. That list, in an ansible context with this module, could then be fed into the appropriate distro package manager module.\n\n##### ISSUE TYPE\nNew Module Pull Request\n\n##### COMPONENT NAME\nbindep\n\n##### ANSIBLE VERSION\n2.4.0\n\n##### ADDITIONAL INFORMATION\n\n\n"},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/324715780","html_url":"https://github.com/ansible/ansible/pull/22159#issuecomment-324715780","issue_url":"https://api.github.com/repos/ansible/ansible/issues/22159","id":324715780,"user":{"login":"ansibot","id":6585283,"avatar_url":"https://avatars0.githubusercontent.com/u/6585283?v=4","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-08-24T18:19:09Z","updated_at":"2017-08-24T18:19:09Z","body":"The test `ansible-test sanity --test boilerplate` failed with the following error:\n```\nCommand \"test/sanity/code-smell/boilerplate.sh\" returned exit status 2.\n>>> Standard Output\n== Missing __metaclass__ = type ==\n./lib/ansible/modules/packaging/os/bindep.py\n\n== Missing from __future__ import (absolute_import, division, print_function) ==\n./lib/ansible/modules/packaging/os/bindep.py\n```\n<!-- job_id: 599f131e99217d0700cfc2b4 -->\n<!-- job_id: 599f131f42870908001a98a5 -->\n<!-- job_id: /testresults/ansible-test-sanity-boilerplate.json -->\nThe test `ansible-test sanity --test validate-modules` failed with the following error:\n```\nlib/ansible/modules/packaging/os/bindep.py:0:0: E319 RETURN.bindep_packages.contains: extra keys not allowed @ data['contains']. Got {'missing': {'description': 'Packages that are missing from the system', 'type': 'list', 'returned': 'success', 'sample': ['libmysqlclient-dev', 'libxml2-dev']}, 'badversion': {'description': 'Packages that are installed but at bad versions.', 'type': 'list', 'returned': 'success', 'sample': [{'package': 'libxml2-dev', 'constraint': '>= 3.0', 'version': '2.9.4+dfsg1-2'}]}, 'up_to_date': {'description': 'Flag indicating all packages are up to date', 'type': 'bool', 'returned': 'success'}}\n```\n<!-- job_id: 599f131e99217d0700cfc2b4 -->\n<!-- job_id: 599f131f42870908001a98a5 -->\n<!-- job_id: /testresults/ansible-test-sanity-validate-modules.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"}}