annotate docker/prosody/scripts/container_server @ 114:14b29b9e06bb

docker (prosody): fixed prosodyctl call in container_server: it was not using absolute path, so it was calling /usr/local/bin/prosodyctl instead of /usr/bin/prosodyctl, resulting in a loop
author Goffi <goffi@goffi.org>
date Tue, 01 Mar 2016 15:47:02 +0100
parents b69056368901
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/env python2
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # this script allow to call prosodyctl and get configuration variables from linked containers
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 import subprocess, SimpleXMLRPCServer, os
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
4
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 def prosodyctl(command, profile, pwd):
114
14b29b9e06bb docker (prosody): fixed prosodyctl call in container_server: it was not using absolute path, so it was calling /usr/local/bin/prosodyctl instead of /usr/bin/prosodyctl, resulting in a loop
Goffi <goffi@goffi.org>
parents: 105
diff changeset
6 process = subprocess.Popen(["/usr/bin/prosodyctl", command, profile], stdin=subprocess.PIPE)
105
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 if pwd:
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
8 process.communicate("%s\n%s" % (pwd,pwd))
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 return process.wait()
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
10
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 def getenv(variable):
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 assert variable in ("SAT_PUBSUB_SECRET", "SAT_SALUT_SECRET", "DOMAIN")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
13 return os.getenv(variable)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
14
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 9999))
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 server.register_function(prosodyctl, "prosodyctl")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 server.register_function(getenv, "getenv")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 server.serve_forever()