Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Unified Diff: remoting/tools/me2me_virtual_host.py

Issue 10825124: Replace --explicit-config option in me2me_virtual_host.py with --silent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/host/plugin/daemon_controller_linux.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/tools/me2me_virtual_host.py
diff --git a/remoting/tools/me2me_virtual_host.py b/remoting/tools/me2me_virtual_host.py
index 95ee7b7c7b18eaededb85ecdbb2a5cdfc051225d..73c34fdfed1c12db13a4bf3ede5644aad6ff035b 100755
--- a/remoting/tools/me2me_virtual_host.py
+++ b/remoting/tools/me2me_virtual_host.py
@@ -383,9 +383,11 @@ class Desktop:
def launch_host(self, host):
# Start remoting host
args = [locate_executable(REMOTING_COMMAND),
- "--host_config=%s" % (host.config_file),
- "--auth_config=%s" % (host.auth.config_file)]
+ "--host_config=%s" % (host.config_file)]
+ if host.auth.config_file != host.config_file:
+ args.append("--auth_config=%s" % (host.auth.config_file))
self.host_proc = subprocess.Popen(args, env=self.child_env)
+ logging.info(args)
if not self.host_proc.pid:
raise Exception("Could not start remoting host")
@@ -624,8 +626,9 @@ def main():
parser.add_option("", "--check-running", dest="check_running", default=False,
action="store_true",
help="return 0 if the daemon is running, or 1 otherwise")
- parser.add_option("", "--explicit-config", dest="explicit_config",
- help="explicitly specify content of the config")
+ parser.add_option("", "--silent", dest="silent", default=False,
+ action="store_true",
+ help="Start the host without trying to configure it.")
(options, args) = parser.parse_args()
host_hash = hashlib.md5(socket.gethostname()).hexdigest()
@@ -687,32 +690,41 @@ def main():
if not os.path.exists(CONFIG_DIR):
os.makedirs(CONFIG_DIR, mode=0700)
- if options.explicit_config:
- for file_name in ["auth.json", "host#%s.json" % host_hash]:
- settings_file = open(os.path.join(CONFIG_DIR, file_name), 'w')
- settings_file.write(options.explicit_config)
- settings_file.close()
+ host_config_file = os.path.join(CONFIG_DIR, "host#%s.json" % host_hash)
- # TODO(sergeyu): Move auth parameters to the host config.
- auth = Authentication(os.path.join(CONFIG_DIR, "auth.json"))
- need_auth_tokens = not auth.load_config()
+ # --silent option is specified when we are started from WebApp UI. Don't use
+ # separate auth file in that case.
+ # TODO(sergeyu): Always use host config for auth parameters.
+ if options.silent:
+ auth_config_file = host_config_file
+ else:
+ auth_config_file = os.path.join(CONFIG_DIR, "auth.json")
- host = Host(os.path.join(CONFIG_DIR, "host#%s.json" % host_hash), auth)
- register_host = not host.load_config()
+ auth = Authentication(auth_config_file)
+ auth_config_loaded = auth.load_config()
- # Outside the loop so user doesn't get asked twice.
- if register_host:
- host.ask_pin()
- elif options.new_pin or not host.is_pin_set():
- host.ask_pin()
- host.save_config()
- running, pid = PidFile(pid_filename).check()
- if running and pid != 0:
- os.kill(pid, signal.SIGUSR1)
- print "The running instance has been updated with the new PIN."
- return 0
+ host = Host(host_config_file, auth)
+ host_config_loaded = host.load_config()
+
+ if options.silent:
+ if not host_config_loaded or not auth_config_loaded:
+ logging.error("Failed to load host configuration.")
+ return 1
+ else:
+ need_auth_tokens = not auth_config_loaded
+ need_register_host = not host_config_loaded
+ # Outside the loop so user doesn't get asked twice.
+ if need_register_host:
+ host.ask_pin()
+ elif options.new_pin or not host.is_pin_set():
+ host.ask_pin()
+ host.save_config()
+ running, pid = PidFile(pid_filename).check()
+ if running and pid != 0:
+ os.kill(pid, signal.SIGUSR1)
+ print "The running instance has been updated with the new PIN."
+ return 0
- if not options.explicit_config:
# The loop is to deal with the case of registering a new Host with
# previously-saved auth tokens (from a previous run of this script), which
# may require re-prompting for username & password.
@@ -727,7 +739,7 @@ def main():
return 1
try:
- if register_host:
+ if need_register_host:
host.register()
host.save_config()
except urllib2.HTTPError, err:
@@ -842,16 +854,25 @@ def main():
# will be created and registered.
if os.WEXITSTATUS(status) == 2:
logging.info("Host configuration is invalid - exiting.")
- os.remove(auth.config_file)
- os.remove(host.config_file)
+ try:
+ os.remove(host.config_file)
+ os.remove(auth.config_file)
+ except:
+ pass
return 0
elif os.WEXITSTATUS(status) == 3:
logging.info("Host ID has been deleted - exiting.")
- os.remove(host.config_file)
+ try:
+ os.remove(host.config_file)
+ except:
+ pass
return 0
elif os.WEXITSTATUS(status) == 4:
logging.info("OAuth credentials are invalid - exiting.")
- os.remove(auth.config_file)
+ try:
+ os.remove(auth.config_file)
+ except:
+ pass
return 0
if __name__ == "__main__":
« no previous file with comments | « remoting/host/plugin/daemon_controller_linux.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698