Ottomata has submitted this change and it was merged.

Change subject: Adding proxy command to ktunnel
......................................................................


Adding proxy command to ktunnel

Change-Id: I5c4d1408bf63b42ae8ddccd7e597edf0305200ce
---
M bin/ktunnel
1 file changed, 19 insertions(+), 4 deletions(-)

Approvals:
  Ottomata: Verified; Looks good to me, approved



diff --git a/bin/ktunnel b/bin/ktunnel
index fc00645..9835dbf 100755
--- a/bin/ktunnel
+++ b/bin/ktunnel
@@ -12,6 +12,7 @@
   hue
   oozie
   logs
+  proxy
 
 Options:
   -h --help             show this help message and exit
@@ -28,6 +29,8 @@
 
   Tunnel to Oozie web UI as a different user using a different bastion.
     ktunnel oozie [email protected]
+
+  Create a SOCKS proxy tunnel to analytics1010.
 
 """
 
@@ -46,6 +49,7 @@
     'oozie':    {'host': 'analytics1027.eqiad.wmnet', 'port': 11000},
     'logs':     {'host': 'analytics1020.eqiad.wmnet', 'port': 8042},
     'j':        {'host': 'analytics1010.eqiad.wmnet', 'port': 50030},
+    'proxy':    {'host': 'analytics1010.eqiad.wmnet', 'port': 8999},
 }
 
 def tunnel(ssh_host, bind_port, dest_host, dest_port, background=False, 
verbose=True):
@@ -54,11 +58,18 @@
     command = "ssh -N%s%s %s -L %i:%s:%i" % (background_flag, verbose_flag, 
ssh_host, bind_port, dest_host, dest_port)
     print(command)
     os.system(command)
-    
+
+def proxy(proxy_host, proxy_port, background=False, verbose=True):
+    background_flag = 'f' if background else ''
+    verbose_flag    = 'v' if verbose    else ''
+    command = "ssh -ND%s%s %i %s" % (background_flag, verbose_flag, 
proxy_port, proxy_host)
+    print(command)
+    os.system(command)
+
 if __name__ == '__main__':
     # parse arguments
     arguments = docopt(__doc__)
-    # print(arguments)
+    print(arguments)
 
     if (arguments['<service>'] not in services.keys()):
         print("Error.  service must be one of " + ', '.join(services.keys()))
@@ -67,6 +78,10 @@
     ssh_host = arguments['<ssh_host>'] if arguments['<ssh_host>'] else 
default_ssh_address
 
     service = services[arguments['<service>']]
-    print("Tunneling to %s.  Tunnel will be available at 
http://localhost:%s\n"; % (arguments['<service>'], service['port']))
-    tunnel(ssh_host, service['port'], service['host'], service['port'], 
arguments['--background'], arguments['--verbose'])
+    if arguments['<service>'] == 'proxy':
+        print('Starting SOCKS proxy through %s:%i')
+        proxy(service['host'], service['port'], arguments['--background'], 
arguments['--verbose'])
+    else:
+        print("Tunneling to %s.  Tunnel will be available at 
http://localhost:%s\n"; % (arguments['<service>'], service['port']))
+        tunnel(ssh_host, service['port'], service['host'], service['port'], 
arguments['--background'], arguments['--verbose'])
     
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/102567
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5c4d1408bf63b42ae8ddccd7e597edf0305200ce
Gerrit-PatchSet: 1
Gerrit-Project: analytics/kraken
Gerrit-Branch: master
Gerrit-Owner: Ottomata <[email protected]>
Gerrit-Reviewer: Ottomata <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to