|
25 | 25 |
|
26 | 26 |
|
27 | 27 | ## Module vars |
28 | | -__version__ = '3.0.2' |
| 28 | +__version__ = '3.0.3' |
29 | 29 | supportEmail = 'remote-observing@keck.hawaii.edu' |
30 | 30 | KRO_API = 'https://www3.keck.hawaii.edu/api/kroApi/' |
31 | 31 | SESSION_NAMES = ('control0', 'control1', 'control2', |
@@ -91,8 +91,8 @@ def create_parser(): |
91 | 91 | ## add options |
92 | 92 | parser.add_argument("-c", "--config", dest="config", type=str, |
93 | 93 | help="Path to local configuration file.") |
94 | | - parser.add_argument("--vncserver", type=str, |
95 | | - help="Name of VNC server to connect to. Takes precedence over all.") |
| 94 | +# parser.add_argument("--vncserver", type=str, |
| 95 | +# help="Name of VNC server to connect to. Takes precedence over all.") |
96 | 96 | parser.add_argument( '--vncports', nargs='+', type=str, |
97 | 97 | help="Numerical list of VNC ports to connect to. Takes precedence over all.") |
98 | 98 |
|
@@ -1070,23 +1070,20 @@ def do_ssh_cmd(self, cmd, server, account): |
1070 | 1070 | def get_vnc_server(self, account, instrument): |
1071 | 1071 | '''Determine the VNC server to connect to given the instrument. |
1072 | 1072 | ''' |
1073 | | - |
1074 | | - #cmd line option |
1075 | | - if self.args.vncserver is not None: |
1076 | | - self.log.info("Using VNC server defined on command line") |
1077 | | - vncserver = self.args.vncserver |
1078 | | - |
1079 | | - # Manual override for PCS |
1080 | | - elif instrument in ['k1pcs', 'k2pcs']: |
1081 | | - vncserver = f"vm-{instrument}" |
| 1073 | + vncserver = None |
1082 | 1074 |
|
1083 | 1075 | #API Route |
1084 | | - elif self.api_data: |
| 1076 | + if self.api_data: |
1085 | 1077 | self.log.info(f"Determining VNC server for '{self.args.account}' (via API)") |
1086 | | - vncserver = self.api_data.get('vncserver') |
1087 | | - if not vncserver: |
| 1078 | + vncserver = self.api_data.get('vncserver', None) |
| 1079 | + if vncserver is None: |
1088 | 1080 | self.log.error(f'Could not determine VNC server from API') |
1089 | 1081 |
|
| 1082 | + #cmd line option |
| 1083 | +# if self.args.vncserver is not None: |
| 1084 | +# self.log.info("Using VNC server defined on command line") |
| 1085 | +# vncserver = self.args.vncserver |
| 1086 | + |
1090 | 1087 | if vncserver: |
1091 | 1088 | self.log.info(f"Got VNC server: '{vncserver}'") |
1092 | 1089 |
|
@@ -2007,9 +2004,17 @@ def test_basic_connectivity(self): |
2007 | 2004 | self.log.error(f'Failed to connect to {self.vncserver}') |
2008 | 2005 | failcount += 1 |
2009 | 2006 | else: |
2010 | | - shortname = self.vncserver.split('.')[0] |
2011 | | - if output.strip() not in [shortname, f"vm-{shortname}"]: |
| 2007 | + basename = self.vncserver.split('.')[0] |
| 2008 | + if basename[:3] == 'vm-': |
| 2009 | + basename = basename[3:] |
| 2010 | + valid_responses = [basename, f"vm-{basename}"] |
| 2011 | + if basename == 'svncserver1': |
| 2012 | + valid_responses.append('kaalualu') |
| 2013 | + elif basename == 'svncserver1': |
| 2014 | + valid_responses.append('ohaiula') |
| 2015 | + if output.strip() not in valid_responses: |
2012 | 2016 | self.log.error(f'Got invalid response from {self.vncserver}') |
| 2017 | + self.log.debug(f" valid_responses: {valid_responses}") |
2013 | 2018 | failcount += 1 |
2014 | 2019 |
|
2015 | 2020 | return failcount |
|
0 commit comments