Skip to content

Molecule reset fails if podman binary is not present #300

Open
@amarao

Description

I think, reset should do best efforts. Now it requires to have podman, even if podman is not used.

$ molecule reset
WARNING  Driver gce does not provide a schema.
INFO     default scenario test matrix:
INFO     Performing prerun with role_name_check=0...
INFO     Removing /home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/.ansible/tmp/molecule.f7o5.default

Traceback (most recent call last):
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/bin/molecule", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/molecule/command/reset.py", line 64, in reset
    driver.reset()
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/molecule_plugins/podman/driver.py", line 250, in reset
    get_app(Path()).run_command(
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/molecule/app.py", line 61, in run_command
    result = self.runtime.run(
             ^^^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/ansible_compat/runtime.py", line 424, in run
    result = run_func(
             ^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/subprocess_tee/__init__.py", line 155, in run
    result = asyncio.run(_stream_subprocess(args, **kwargs))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/amarao/.cache/pypoetry/virtualenvs/infra-mainnet-8gSp5YwK-py3.12/lib/python3.12/site-packages/subprocess_tee/__init__.py", line 80, in _stream_subprocess
    process = await asyncio.create_subprocess_exec(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/subprocess.py", line 224, in create_subprocess_exec
    transport, protocol = await loop.subprocess_exec(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/base_events.py", line 1749, in subprocess_exec
    transport = await self._make_subprocess_transport(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/unix_events.py", line 211, in _make_subprocess_transport
    transp = _UnixSubprocessTransport(self, protocol, args, shell,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/base_subprocess.py", line 36, in __init__
    self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
  File "/usr/lib/python3.12/asyncio/unix_events.py", line 820, in _start
    self._proc = subprocess.Popen(
                 ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'podman'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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