mesosphere-backup / mesos-cli

This project has been deprecated. Please use the DC/OS CLI.

Home Page:https://github.com/mesosphere/dcos-cli

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mesos ps not working with mesos 0.16

elee opened this issue · comments

Trying to run a mesos ps after configuring my ~/.mesos.json file against a mutli-master setup yields the following:

$ mesos ps
Traceback (most recent call last):
  File "/usr/local/bin/mesos-ps", line 9, in <module>
    load_entry_point('mesos.cli==0.0.0', 'console_scripts', 'mesos-ps')()
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/ps.py", line 78, in main
    for t in master.tasks(active_only=(not args.inactive)):
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 140, in tasks
    self.frameworks(active_only)])))
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 150, in frameworks
    return util.merge(self.state, *keys)
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/util.py", line 54, in __get__
    value = self.fget(inst)
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 96, in state
    self.host, "/master/state.json")).json()
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/util.py", line 54, in __get__
    value = self.fget(inst)
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 48, in host
    return "http://%s" % (self.resolve(cfg.master),)
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 86, in resolve
    return self._zookeeper_resolver(cfg)
  File "/usr/local/lib/python2.7/dist-packages/mesos/cli/master.py", line 72, in _zookeeper_resolver
    info.ParseFromString(data)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/message.py", line 182, in ParseFromString
    self.MergeFromString(serialized)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 795, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 819, in InternalParse
    new_pos = local_SkipField(buffer, new_pos, end, tag_bytes)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/decoder.py", line 716, in SkipField
    return WIRETYPE_TO_SKIPPER[wire_type](buffer, pos, end)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/decoder.py", line 656, in _SkipLengthDelimited
    raise _DecodeError('Truncated message.')
google.protobuf.message.DecodeError: Truncated message.
$

Taking a peek at master.py:72 the mesos.interface package is trying to parse the master value returned from the zk node:

            info = mesos.interface.mesos_pb2.MasterInfo()
            info.ParseFromString(data)

in this case data has a value of master@10.12.13.14:5050

My .mesos.json looks like this:

{
    "default": {
        "log_level": "warning",
        "log_file": null,
        "master": "zk://10.12.13.14:2181,10.15.16.17:2181,10.18.19.20:2181/mesos"
    },
    "profile": "default"
}

Should be fixed now. Reopen if I didn't get it the first time =)