david-caro / wm-ssh

SSH wrapper that tries to resolve wikimedia hostnames from different sources
GNU General Public License v3.0
0 stars 1 forks source link

Lookup fails until cache files exist #3

Closed nskaggs closed 2 years ago

nskaggs commented 2 years ago
$ wm-ssh -v cloudcontrol1003
DEBUG:wm_ssh.cli:Loading config file from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Config file loaded from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Unable to load netbox config file '~/.config/netbox/config.json'
DEBUG:wm_ssh.cli:[direct] Looking up hostname cloudcontrol1003
DEBUG:wm_ssh.cli:[direct] Hostname cloudcontrol1003 was unresolved
DEBUG:wm_ssh.cli:Direct ssh failed, trying to resolve.
DEBUG:wm_ssh.cli:Using resolvers: [KnownHostsResolver(known_hosts_url='https://config-master.wikimedia.org/known_hosts.ecdsa', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/known_hosts.txt'))), NetboxResolver(api_token='***********************', netbox_url='https://netbox.wikimedia.org/api', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/netbox.txt'))), OpenstackBrowserResolrver(openstack_browser_url='https://openstack-browser.toolforge.org/api/dsh/servers', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/openstackbrowser.txt')))]
DEBUG:wm_ssh.cli:Trying resolver KnownHostsResolver(known_hosts_url='https://config-master.wikimedia.org/known_hosts.ecdsa', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/known_hosts.txt')))
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): config-master.wikimedia.org:443
DEBUG:urllib3.connectionpool:https://config-master.wikimedia.org:443 "GET /known_hosts.ecdsa HTTP/1.1" 200 438080
WARNING:wm_ssh.cli:Got error when trying to fetch host from KnownHostsResolver(known_hosts_url='https://config-master.wikimedia.org/known_hosts.ecdsa', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/known_hosts.txt'))): [Errno 2] No such file or directory: '/home/nskaggs/.cache/wm-ssh/known_hosts.txt'
DEBUG:wm_ssh.cli:Trying resolver NetboxResolver(api_token='**********************************', netbox_url='https://netbox.wikimedia.org/api', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/netbox.txt')))
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): netbox.wikimedia.org:443
DEBUG:urllib3.connectionpool:https://netbox.wikimedia.org:443 "GET /api/dcim/devices/?q=cloudcontrol1003 HTTP/1.1" 200 1794
WARNING:wm_ssh.cli:Got error when trying to fetch host from NetboxResolver(api_token='************************', netbox_url='https://netbox.wikimedia.org/api', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/netbox.txt'))): NetboxResolver.get_fqdn() got multiple values for argument 'device'
DEBUG:wm_ssh.cli:Trying resolver OpenstackBrowserResolrver(openstack_browser_url='https://openstack-browser.toolforge.org/api/dsh/servers', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/openstackbrowser.txt')))
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): openstack-browser.toolforge.org:443
DEBUG:urllib3.connectionpool:https://openstack-browser.toolforge.org:443 "GET /api/dsh/servers HTTP/1.1" 200 None
WARNING:wm_ssh.cli:Got error when trying to fetch host from OpenstackBrowserResolrver(openstack_browser_url='https://openstack-browser.toolforge.org/api/dsh/servers', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/openstackbrowser.txt'))): [Errno 2] No such file or directory: '/home/nskaggs/.cache/wm-ssh/openstackbrowser.txt'
ERROR:wm_ssh.cli:Unable to find a hostname for 'cloudcontrol1003'
$ wm-ssh -v cloudcontrol1003.wikimedia.org
DEBUG:wm_ssh.cli:Loading config file from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Config file loaded from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Unable to load netbox config file '~/.config/netbox/config.json'
DEBUG:wm_ssh.cli:[direct] Looking up hostname cloudcontrol1003.wikimedia.org
DEBUG:wm_ssh.cli:[direct] Hostname cloudcontrol1003.wikimedia.org worked
DEBUG:wm_ssh.cli:[direct] Adding cloudcontrol1003.wikimedia.org in the cache
DEBUG:wm_ssh.cli:I was able to ssh directly, just continuing.
INFO:wm_ssh.cli:Found full hostname cloudcontrol1003.wikimedia.org
DEBUG:wm_ssh.cli:Waiting for ssh to finish...
Linux cloudcontrol1003 5.10.0-14-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64
Debian GNU/Linux 11 (bullseye)
cloudcontrol1003 is role::wmcs::openstack::eqiad1::control
Backed up MySQL on this host: db_backups_cloudcontrol1003
Bare Metal Rack: A6
The last Puppet run was at Mon May 23 14:36:46 UTC 2022 (27 minutes ago). 
Last puppet commit: (bcc7a21eee) Jbond - O:cfssl::cert: also regenrate chained file when generating re-signing
Debian GNU/Linux 11 auto-installed on Mon Feb 21 18:00:19 UTC 2022.
Last login: Mon May 23 15:00:37 2022 from 2620:0:861:4:208:80:155:110
nskaggs@cloudcontrol1003:~$ exit
logout
Connection to cloudcontrol1003.wikimedia.org closed.
DEBUG:wm_ssh.cli:Done
$ wm-ssh -v labstore1004
DEBUG:wm_ssh.cli:Loading config file from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Config file loaded from /home/nskaggs/.config/wm-ssh/config.json
DEBUG:wm_ssh.cli:Unable to load netbox config file '~/.config/netbox/config.json'
DEBUG:wm_ssh.cli:[direct] Looking up hostname labstore1004
DEBUG:wm_ssh.cli:[direct] Hostname labstore1004 was unresolved
DEBUG:wm_ssh.cli:Direct ssh failed, trying to resolve.
DEBUG:wm_ssh.cli:Using resolvers: [KnownHostsResolver(known_hosts_url='https://config-master.wikimedia.org/known_hosts.ecdsa', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/known_hosts.txt'))), NetboxResolver(api_token='*****************', netbox_url='https://netbox.wikimedia.org/api', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/netbox.txt'))), OpenstackBrowserResolrver(openstack_browser_url='https://openstack-browser.toolforge.org/api/dsh/servers', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/openstackbrowser.txt')))]
DEBUG:wm_ssh.cli:Trying resolver KnownHostsResolver(known_hosts_url='https://config-master.wikimedia.org/known_hosts.ecdsa', cachefile=CacheFile(path=PosixPath('/home/nskaggs/.cache/wm-ssh/known_hosts.txt')))
INFO:wm_ssh.cli:Found full hostname labstore1004.eqiad.wmnet

Empty cache files prevent lookup. So upon first use, cache files need to be pre-created or created during the first run via full hostname.

david-caro commented 2 years ago

hmpf... wrong PR xd