)]}'
{"ironic/drivers/modules/ansible/network.py":[{"author":{"_account_id":5792,"name":"Dan Radez","email":"dradez@redhat.com","username":"dradez"},"change_message_id":"f3d3612b6aff3687ef766883848383ff17a0362d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    return extra_vars"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def _run_playbook(node, name, extra_vars, key, tags\u003dNone, notags\u003dNone):"},{"line_number":119,"context_line":"    \"\"\"Execute ansible-playbook.\"\"\""},{"line_number":120,"context_line":"    root \u003d _get_playbooks_path(node)"},{"line_number":121,"context_line":"    playbook \u003d os.path.join(root, name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_63ee1923","line":118,"updated":"2019-10-14 15:45:49.000000000","message":"ansible-runner is the recommended way by the ansible community to do this. We use ansible in network-runner: https://github.com/ansible-network/network-runner/blob/devel/network_runner/api.py#L59","commit_id":"ace74a581278147a4a035be3ed4b17fd2607caec"},{"author":{"_account_id":5792,"name":"Dan Radez","email":"dradez@redhat.com","username":"dradez"},"change_message_id":"f3d3612b6aff3687ef766883848383ff17a0362d","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"class AnsibleNetwork(base.NetworkInterface):"},{"line_number":164,"context_line":"    \"\"\"Interface for network-related actions.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c34cad43","line":163,"updated":"2019-10-14 15:45:49.000000000","message":"This class is doing very similar thinks to the NetworkRunner class in the network-runner project. Main differences seem that this one has ironic conventions and expects a playbook passed to it. NR constructs a playbook and is not ironic specific. I\u0027d be curious to try and meld these together to offer some easy interfacing and some flexibility.\n\nhttps://github.com/ansible-network/network-runner/blob/devel/network_runner/api.py#L34\n\nWhat if this driver called out to net-runner. We\u0027d get the pre-defined stuff for free but users could build their own playbooks to drop into net-runner if they wanted custom playbooks?","commit_id":"ace74a581278147a4a035be3ed4b17fd2607caec"},{"author":{"_account_id":5792,"name":"Dan Radez","email":"dradez@redhat.com","username":"dradez"},"change_message_id":"8c1754a65b8c69bf0db31a39859108ebfbd3229c","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"class AnsibleNetwork(base.NetworkInterface):"},{"line_number":164,"context_line":"    \"\"\"Interface for network-related actions.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_8e424a3d","line":163,"in_reply_to":"3fa7e38b_68891073","updated":"2020-11-23 14:59:13.000000000","message":"right, I wasn\u0027t proposing to get rid of it. That may not have been clear the way I put my comment. I was intending to suggest we could map these functions to those in network-runner since they should align well with each other.","commit_id":"ace74a581278147a4a035be3ed4b17fd2607caec"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"069b2a3ac5d9a97b5f165d670ada572ec4de0b37","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"class AnsibleNetwork(base.NetworkInterface):"},{"line_number":164,"context_line":"    \"\"\"Interface for network-related actions.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_68891073","line":163,"in_reply_to":"3fa7e38b_c34cad43","updated":"2019-10-14 20:26:44.000000000","message":"Actually, I think this is a little different thatn you expect. This is a base interface class for ironic code to call interface actions, so this could just call out to net runner from from here as long as the basic overall actions and mappings are mapped to something or we provide the ability to map to something.","commit_id":"ace74a581278147a4a035be3ed4b17fd2607caec"}]}
