示例#1
0
 def add_watcher(self, name, cmd):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     options = {
         "env": env,
         "copy_env": True,
         "working_dir": self.working_dir,
         "stderr_stream": self.stderr_stream,
         "stdout_stream": self.stdout_stream,
         "uid": self.uid,
         "hooks": {
             "before_start": "tsuru.hooks.before_start",
             "after_start": "tsuru.hooks.after_start",
         }
     }
     self.circus_client.call(json.dumps({
         "command": "add",
         "properties": {
             "cmd": cmd,
             "name": name,
             "args": [],
             "options": options,
             "start": True,
         },
     }))
示例#2
0
 def add_watcher(self, name, cmd):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     stderr_stream = self.stderr_stream.copy()
     stdout_stream = self.stdout_stream.copy()
     stdout_stream["watcher_name"] = stderr_stream["watcher_name"] = name
     options = {
         "env": env,
         "copy_env": True,
         "working_dir": self.working_dir,
         "stderr_stream": stderr_stream,
         "stdout_stream": stdout_stream,
         "uid": self.uid,
     }
     self.circus_client.call({
         "command": "add",
         "properties": {
             "cmd": cmd,
             "name": name,
             "args": [],
             "options": options,
             "start": True,
             "priority": 2,
         },
     })
示例#3
0
 def add_watcher(self, name, cmd):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     options = {
         "env": env,
         "copy_env": True,
         "working_dir": self.working_dir,
         "stderr_stream": self.stderr_stream,
         "stdout_stream": self.stdout_stream,
         "uid": self.uid,
         "hooks": {
             "before_start": "tsuru.hooks.before_start",
             "after_start": "tsuru.hooks.after_start",
         }
     }
     self.circus_client.call(
         json.dumps({
             "command": "add",
             "properties": {
                 "cmd": cmd,
                 "name": name,
                 "args": [],
                 "options": options,
                 "start": True,
             },
         }))
示例#4
0
 def load_envs(self):
     envs = common.load_envs(self.apprc)
     return (envs.get("TSURU_APPNAME"), envs.get("TSURU_HOST"),
             envs.get("TSURU_APP_TOKEN"), envs.get("TSURU_SYSLOG_SERVER"),
             envs.get("TSURU_SYSLOG_PORT"),
             envs.get("TSURU_SYSLOG_FACILITY"),
             envs.get("TSURU_SYSLOG_SOCKET"))
示例#5
0
 def test_load_envs(self):
     path = os.path.join(os.path.dirname(__file__), "testdata", "apprc")
     want = {
         "VAR1": "value-1",
         "VAR2": "value2",
         "TSURU_APPNAME": "appname1",
         "TSURU_HOST": "host1",
     }
     got = common.load_envs(path)
     self.assertEqual(want, got)
示例#6
0
 def test_load_envs(self):
     path = os.path.join(os.path.dirname(__file__), "testdata", "apprc")
     want = {
         "VAR1": "value-1",
         "VAR2": "value2",
         "TSURU_APPNAME": "appname1",
         "TSURU_HOST": "host1",
     }
     got = common.load_envs(path)
     self.assertEqual(want, got)
示例#7
0
 def test_load_envs(self):
     path = os.path.join(os.path.dirname(__file__), "testdata", "apprc")
     want = {
         "VAR1": "value-1",
         "VAR2": "value2",
         "TSURU_APPNAME": "appname1",
         "TSURU_HOST": "host1",
         "TSURU_SYSLOG_SERVER": "host2",
         "TSURU_SYSLOG_PORT": "514",
         "TSURU_SYSLOG_FACILITY": "LOCAL0",
         "BASE64_STRING": "t5urur0ck5==",
         "NON_ASCII": "鶴 est génial!"
     }
     got = common.load_envs(path)
     self.assertEqual(want, got)
示例#8
0
 def add_watcher(self, name, cmd):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     stderr_stream = self.stderr_stream.copy()
     stdout_stream = self.stdout_stream.copy()
     stdout_stream["watcher_name"] = stderr_stream["watcher_name"] = name
     options = {
         "env": env,
         "copy_env": True,
         "working_dir": self.working_dir,
         "stderr_stream": stderr_stream,
         "stdout_stream": stdout_stream,
         "uid": self.uid,
     }
     self.circus_client.call(
         {
             "command": "add",
             "properties": {"cmd": cmd, "name": name, "args": [], "options": options, "start": True, "priority": 2},
         }
     )
示例#9
0
 def load_envs(self):
     envs = common.load_envs(self.apprc)
     return (envs.get("TSURU_APPNAME"), envs.get("TSURU_HOST"),
             envs.get("TSURU_APP_TOKEN"))
示例#10
0
 def test_load_envs_unknown_file(self):
     path = "/something/that/user/does/not/know"
     self.assertEqual({}, common.load_envs(path))
示例#11
0
 def load_envs(self):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     return env
示例#12
0
 def load_envs(self):
     envs = common.load_envs(self.apprc)
     return (envs.get("TSURU_APPNAME"), envs.get("TSURU_HOST"),
             envs.get("TSURU_APP_TOKEN"))
示例#13
0
 def load_envs(self):
     env = {"port": self.port, "PORT": self.port}
     env.update(common.load_envs(self.apprc))
     return env
示例#14
0
 def test_load_envs_unknown_file(self):
     path = "/something/that/user/does/not/know"
     self.assertEqual({}, common.load_envs(path))
示例#15
0
 def change_cmd(self, name, cmd):
     env = {"port": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     self.call("set", name=name, options={"cmd": cmd})
示例#16
0
 def change_cmd(self, name, cmd):
     env = {"port": self.port}
     env.update(common.load_envs(self.apprc))
     cmd = replace_args(cmd, **env)
     self.call("set", name=name, options={"cmd": cmd})
示例#17
0
 def reload_env(self):
     envs = {"port": self.port}
     envs.update(common.load_envs(self.apprc))
     for name in self.cmds():
         if not name.startswith("plugin:"):
             self.add_envs(name, envs)
示例#18
0
 def reload_env(self):
     envs = {"port": self.port, "PORT": self.port}
     envs.update(common.load_envs(self.apprc))
     for name in self.cmds():
         if not name.startswith("plugin:"):
             self.add_envs(name, envs)