### Summary

Alpine 3.18 is [expected](https://alpinelinux.org/releases/) in May. This is a remote VM addition and an in-place container update.

Alpine 3.18 has been [released](https://www.alpinelinux.org/posts/Alpine-3.18.0-released.html).

### Issue Type

Feature Idea

### Component Name

`ansible-test`
"""Result from execution of a subprocess."""
    command: list[str]
    stdout: str
    stderr: str
    status: int
class ApplicationError(Exception):
    """An application error."""
    def __init__(self, message: str) -> None:
        self.message = message
        super().__init__(message)
class SubprocessError(ApplicationError):
    """An error from executing a subprocess."""
    def __init__(self, result: SubprocessResult) -> None:
        self.result = result
        message = f'Command `{shlex.join(result.command)}` exited with status: {result.status}'
        stdout = (result.stdout or '').strip()
        stderr = (result.stderr or '').strip()
        if stdout:
            message += f'\n>>> Standard Output\n{stdout}'
        if stderr:
            message += f'\n>>> Standard Error\n{stderr}'
        super().__init__(message)
class ProgramNotFoundError(ApplicationError):
    """A required program was not found."""
    def __init__(self, name: str) -> None:
        self.name = name
        super().__init__(f'Missing program: {name}')
class Display: