Hi Michael, Have you always put your slaves on 8080 (just so I understand if that part is a regression)?
There is a TODO in the code to pass ports from the slave to the master, which can get implemented immediately and pushed out. In conjunction with that change, I'd like to merge "hostname" and "public_hostname" as having both seems like unnecessary cruft. They were originally used because when running on EC2 we need the public hostname for accessing webuis, but I see no reason in just not always putting the public hostname into "hostname" and dropping "public_hostname" altogether. @matei: you know more about the EC2 internals than I do, any reason not to do this from a correctness or performance perspective? Can internal EC2 node connect to another node using the public hostname rather than the private or do certain other configurations have to be performed? Does using public rather than private hostnames cause traffic to flow any differently? Ben. On Aug 17, 2011, at 4:13 PM, Michael Armbrust wrote: > I'm having trouble getting the webui to work for the slaves. I'm running > the latest version of the code from github (6a22e9c Capitialized name of > cache class to avoid build errors with g++ on Ubuntu.) > > master conf: > webui_port=8080 > work_dir=/mnt > log_dir=/mnt > switch_user=0 > shares_interval=30 > > slave conf: > mem=6656 > [email protected]:5050 > webui_port=8080 > work_dir=/mnt > log_dir=/mnt > switch_user=0 > shares_interval=30 > > Problems: > * On the main page for the master the webui_port seems to be ignored as the > links to the slaves all specify port 8081 > * On the page for frameworks the links to slaves don't specify a port at all > so default to port 80 > * If I manually correct the port for the slave links I get the following > error: > > Error 500: Internal Server Error > > Sorry, the requested URL > http://ec2-50-16-32-197.compute-1.amazonaws.com:8080/ caused an error: > > > Unhandled exception > > Exception: > > > ValueError('Expecting , delimiter: line 1 column 371 (char 371)',) > > Traceback: > > > Traceback (most recent call last): > File "webui/bottle-0.8.3/bottle.py", line 499, in handle > return handler(**args) > File "webui/slave/webui.py", line 31, in index > return template("index", slave_port = slave_port) > File "webui/bottle-0.8.3/bottle.py", line 1796, in template > return TEMPLATES[tpl].render(**kwargs) > File "webui/bottle-0.8.3/bottle.py", line 1775, in render > self.execute(stdout, **args) > File "webui/bottle-0.8.3/bottle.py", line 1763, in execute > eval(self.co, env) > File "/usr/local/mesos/bin/webui/slave/index.tpl", line 11, in <module> > % state = json.loads(data) > File "/usr/lib/python2.6/json/__init__.py", line 307, in loads > return _default_decoder.decode(s) > File "/usr/lib/python2.6/json/decoder.py", line 319, in decode > obj, end = self.raw_decode(s, idx=_w(s, 0).end()) > File "/usr/lib/python2.6/json/decoder.py", line 336, in raw_decode > obj, end = self._scanner.iterscan(s, **kw).next() > File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan > rval, next_pos = action(m, context) > ValueError: Expecting , delimiter: line 1 column 371 (char 371)
