datawire / forge

Define and run multi-container apps in Kubernetes
http://forge.sh
Apache License 2.0
415 stars 43 forks source link

forge delete stopped working after upgrading kubernetes #231

Open pkim-auro opened 5 years ago

pkim-auro commented 5 years ago

We aren't completely sure if it's kubernetes related but it seems reasonable.

on kubernetes version 1.11.8:

Traceback (most recent call last):
  File ".bootstrap/_pex/pex.py", line 367, in execute
  File ".bootstrap/_pex/pex.py", line 293, in _wrap_coverage
  File ".bootstrap/_pex/pex.py", line 325, in _wrap_profiling
  File ".bootstrap/_pex/pex.py", line 410, in _execute
  File ".bootstrap/_pex/pex.py", line 468, in execute_entry
  File ".bootstrap/_pex/pex.py", line 486, in execute_pkg_resources
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/cli.py", line 370, in call_main
    exit(forge())
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/pkim/.pex/install/click-6.7-py2.py3-none-any.whl.6d9ff910081ac14222b6215822bc2664662de745/click-6.7-py2.py3-none-any.whl/click/decorators.py", line 27, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/tasks.py", line 252, in __call__
    return result.get()
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/executor.py", line 409, in do_run
    result.value = fun(*args, **kwargs)
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/cli.py", line 347, in delete
    repos = kube.list()
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/tasks.py", line 252, in __call__
    return result.get()
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/executor.py", line 409, in do_run
    result.value = fun(*args, **kwargs)
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/kubernetes.py", line 239, in list
    status = status_summary(kind, endpoints.get((resource["namespace"], resource["name"])))
  File "/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/match.py", line 501, in __call__
    raise TypeError("%s() %s" % (self.name, e))
TypeError: status_summary() arguments (__builtin__.unicode, ()) do not match:

/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/kubernetes.py:76:
@match("deployment", object)
def status_summary(kind, status):
    conds = status.get("conditions")
    if conds:
        return conds[0]["message"]
    else:
        return "(none)"

/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/kubernetes.py:102:
@match(basestring, object)
def status_summary(kind, status):
    return str(status)

/home/pkim/.pex/install/Forge-0.4.15-py2-none-any.whl.9231fb8ee2b34ba80e2fa9fab3e8592e4ca4ae54/Forge-0.4.15-py2-none-any.whl/forge/kubernetes.py:84:
@match("service", object)
def status_summary(kind, status):
    if status is None:
        return "(none)"
    ready = []
    not_ready = []
    for subset in status:
        for key, lst in ("addresses", ready), ("notReadyAddresses", not_ready):
            for address in subset.get(key, ()):
                for port in subset["ports"]:
                    lst.append("%s:%s" % (address["ip"], port["port"]))
    result = []
    if ready:
        result.append("READY(%s)" % ", ".join(ready))
    if not_ready:
        result.append("NOT READY(%s)" % ", ".join(not_ready))
    return ", ".join(result)
eserdyuk-exos commented 4 years ago

+1 forge list - issuing the same