)]}'
{"nodepool/driver/oci/handler.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3fed40abea8468ebb1c50b4f1f80eefb531fcaed","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.zk.unlockNodeRequest(self.request)"},{"line_number":62,"context_line":"            self.done \u003d True"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def start_container(self, hostid):"},{"line_number":65,"context_line":"        # TODO: better port selection..."},{"line_number":66,"context_line":"        port \u003d random.randint(22022, 52022)"},{"line_number":67,"context_line":"        bundle_path \u003d \"/var/lib/nodepool/oci/%s\" % hostid"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_dd63c0db","line":64,"updated":"2017-05-31 19:35:17.000000000","message":"I think this belongs in the provider? The separation as I see it (and i could be wrong) is the request handler is the front end of the request which interacts with things talking to zookeeper. The provider is the backend of the request which talks to the \"cloud\" to create (as necessary) the compute resources.\n\nMight be a good idea to formally write down the basic architecture/design of this so that its clear for the various drivers.","commit_id":"fed6296fd1190fb7237c3b32e90157c0b7b93b82"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"21fb8c1efa7b918dc8dbfbf13b56cb36ecfd2d3c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.zk.unlockNodeRequest(self.request)"},{"line_number":62,"context_line":"            self.done \u003d True"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def start_container(self, hostid):"},{"line_number":65,"context_line":"        # TODO: better port selection..."},{"line_number":66,"context_line":"        port \u003d random.randint(22022, 52022)"},{"line_number":67,"context_line":"        bundle_path \u003d \"/var/lib/nodepool/oci/%s\" % hostid"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_6be73b42","line":64,"in_reply_to":"df140735_dd63c0db","updated":"2017-06-01 09:09:37.000000000","message":"That\u0027s a good idea, next PS will move stuff around","commit_id":"fed6296fd1190fb7237c3b32e90157c0b7b93b82"}],"nodepool/driver/oci/provider.py":[{"author":{"_account_id":4162,"name":"Paul Belanger","email":"pabelanger@redhat.com","username":"pabelanger"},"change_message_id":"d4a6c7d512b77e8a82d8bf2dec9f735a0aaa65de","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def __init__(self, provider):"},{"line_number":29,"context_line":"        self.provider \u003d provider"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def _getClient(self):"},{"line_number":32,"context_line":"        client \u003d paramiko.client.SSHClient()"},{"line_number":33,"context_line":"        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())"},{"line_number":34,"context_line":"        client.load_system_host_keys()"}],"source_content_type":"text/x-python","patch_set":4,"id":"df140735_f34874b3","line":31,"updated":"2017-06-05 23:01:53.000000000","message":"I am on the fence, while the code is straightforward, I do think there is an argument that could be made to move all this logic into 1 or 2 playbooks. This is assuming ansible-playbook was setup properly.\n\nMy concern, most of the code is remove execution of shell commands on node; this to me is what ansible is great at.","commit_id":"7776a68b917e3eaa0dcccfbac74fe3bd452f2e6a"},{"author":{"_account_id":4162,"name":"Paul Belanger","email":"pabelanger@redhat.com","username":"pabelanger"},"change_message_id":"3da73eceec336f40800aea8195eba9c696d4522d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Red Hat"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":18,"id":"df3967d1_9684f75f","line":1,"updated":"2017-08-01 18:52:49.000000000","message":"I still think we should have a discussion about moving the majority of this into an ansible driver. Most of this is about using python to invoke CLI commands.","commit_id":"80e2609acbf0fd1111c593e2ba086ba030a9a261"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"3d3d30630e1b7e9a6fb1a876c9d618d5386203fb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Red Hat"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f436f4f_9371650f","line":1,"in_reply_to":"df3967d1_9684f75f","updated":"2017-08-14 07:23:10.000000000","message":"Indeed, the paramiko code could be refactor into an ansible playbook. I\u0027ll work on a proof of concept for the PTG.","commit_id":"80e2609acbf0fd1111c593e2ba086ba030a9a261"}]}
