summaryrefslogtreecommitdiff
path: root/pbr
diff options
context:
space:
mode:
authorA40351 <jalvarez@itri.org.tw>2017-05-19 16:33:16 +0800
committerA40351 <jalvarez@itri.org.tw>2017-05-19 17:04:31 +0800
commit6fdf4e1086c53adf47561697cf82417e1f3b14ed (patch)
treeb9107bd6b0bafbfd3564fe8052c55491f08e613c /pbr
parentc02406601a7d7c453c77318ff5b5af6d760e80ae (diff)
downloadpbr-6fdf4e1086c53adf47561697cf82417e1f3b14ed.tar.gz
Add binding option for WSGI server
The packaged WSGI server currently only accepts a custom port. This patch adds a new option to accept a custom interface. This is useful in some cloud environments where there are restrictions on which IP addresses are available to mount a server. Change-Id: Iddf10bc422ae607b2d6bf2304dd032d7471ec458
Diffstat (limited to 'pbr')
-rw-r--r--pbr/packaging.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pbr/packaging.py b/pbr/packaging.py
index a3527c9..8cfce4a 100644
--- a/pbr/packaging.py
+++ b/pbr/packaging.py
@@ -282,12 +282,15 @@ if __name__ == "__main__":
import wsgiref.simple_server as wss
my_ip = socket.gethostbyname(socket.gethostname())
+
parser = argparse.ArgumentParser(
description=%(import_target)s.__doc__,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
- usage='%%(prog)s [-h] [--port PORT] -- [passed options]')
+ usage='%%(prog)s [-h] [--port PORT] [--host IP] -- [passed options]')
parser.add_argument('--port', '-p', type=int, default=8000,
help='TCP port to listen on')
+ parser.add_argument('--host', '-b', default=my_ip,
+ help='IP to bind the server to')
parser.add_argument('args',
nargs=argparse.REMAINDER,
metavar='-- [passed options]',
@@ -301,11 +304,11 @@ if __name__ == "__main__":
else:
parser.error("unrecognized arguments: %%s" %% ' '.join(args.args))
sys.argv[1:] = args.args
- server = wss.make_server('', args.port, %(invoke_target)s())
+ server = wss.make_server(args.host, args.port, %(invoke_target)s())
print("*" * 80)
print("STARTING test server %(module_name)s.%(invoke_target)s")
- url = "http://%%s:%%d/" %% (my_ip, server.server_port)
+ url = "http://%%s:%%d/" %% (server.server_name, server.server_port)
print("Available at %%s" %% url)
print("DANGER! For testing only, do not use in production")
print("*" * 80)