Skip to content

Cannot deploy a .charm through libjuju #434

@davigar15

Description

@davigar15

Description of the problem: The charmcraft snap builds the charm leaving a .charm file inside the charm code folder. Libjuju don't supports it.

How to reproduce:

$ charmcraft build
Done, charm left in 'transmission.charm'
from juju import loop
from juju.model import Model

async def main():
    model = Model()
    await model.connect_current()

    try:
        await model.deploy("./transmission.charm")
    except JujuEntityNotFoundError as e:
        print(e.entity_name)
    finally:
        await model.disconnect()
if __name__ == '__main__':
    loop.run(main())

Output:

unknown facade CAASModelOperator
unexpected facade CAASModelOperator found, unable to decipher version to use
unknown delta type: id
Traceback (most recent call last):
  File "../../python-libjuju/examples/model.py", line 51, in <module>
    loop.run(main())
  File "/home/davigar15/code/python-libjuju/juju/loop.py", line 38, in run
    raise task.exception()
  File "../../python-libjuju/examples/model.py", line 36, in main
    await model.deploy("./transmission.charm")
  File "/home/davigar15/code/python-libjuju/juju/model.py", line 1422, in deploy
    metadata = yaml.load(metadata_path.read_text(), Loader=yaml.FullLoader)
  File "/usr/lib/python3.8/pathlib.py", line 1227, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/usr/lib/python3.8/pathlib.py", line 1213, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib/python3.8/pathlib.py", line 1069, in _opener
    return self._accessor.open(self, flags, mode)
NotADirectoryError: [Errno 20] Not a directory: 'transmission.charm/metadata.yaml'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions