canonical / jhack

Chock-full of Juju hackery.
Apache License 2.0
51 stars 24 forks source link

imatrix doesn't work on machine models #53

Closed dstathis closed 1 year ago

dstathis commented 1 year ago
dylan@protostar:~/agent$ jhack imatrix view
load pubkey "/home/dylan/.ssh/id_rsa": Permission denied
Connection to 10.152.136.3 closed.
Traceback (most recent call last):
  File "/snap/jhack/120/bin/jhack", line 8, in <module>
    sys.exit(main())
  File "/snap/jhack/120/lib/python3.8/site-packages/jhack/main.py", line 134, in main
    app()
  File "/snap/jhack/120/lib/python3.8/site-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/jhack/120/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/snap/jhack/120/lib/python3.8/site-packages/typer/main.py", line 500, in wrapper
    return callback(**use_params)  # type: ignore
  File "/snap/jhack/120/lib/python3.8/site-packages/jhack/utils/integrate.py", line 360, in show
    mtrx = IntegrationMatrix(apps=apps, model=model, color=color)
  File "/snap/jhack/120/lib/python3.8/site-packages/jhack/utils/integrate.py", line 72, in __init__
    self._endpoints = _gather_endpoints(model, apps)
  File "/snap/jhack/120/lib/python3.8/site-packages/jhack/utils/integrate.py", line 47, in _gather_endpoints
    unit = next(iter(app["units"]))
KeyError: 'units'
PietroPasotti commented 1 year ago

Thanks for reporting this. I have a feeling it may be simply a matter of swapping 'units' out for 'machines' if get_substrate != 'kubernetes'. If someone feels like checking... otherwise I'll get on it soon