diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleCommandConfig.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleCommandConfig.java index 60977b4bed9..eae4e90916a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleCommandConfig.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleCommandConfig.java @@ -298,8 +298,11 @@ private void createHostFile(File inventory) { File hostFile = new File(String.format("%1$s/hosts", inventory)); try { hostFile.createNewFile(); - Files.write(hostFile.toPath(), - String.format(this.host.getHostName() + " ansible_port=%1$s", this.host.getSshPort()).getBytes()); + if (host != null) { + // if VDS is null then playbook is running on engine and ansible uses localhost inventory automatically + Files.write(hostFile.toPath(), + String.format(this.host.getHostName() + " ansible_port=%1$s", this.host.getSshPort()).getBytes()); + } } catch (IOException ex) { throw new AnsibleRunnerCallException( String.format("Failed to create inventory file '%s':", hostFile.toString()), diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleExecutor.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleExecutor.java index a231bc5d45a..3cec31e0f73 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleExecutor.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/common/utils/ansible/AnsibleExecutor.java @@ -146,9 +146,6 @@ public AnsibleReturnValue runCommand(AnsibleCommandConfig command, } public AnsibleReturnValue runCommand(AnsibleCommandConfig commandConfig, int timeout, BiConsumer fn, boolean async) { - if (commandConfig.host() == null) { - throw new AnsibleRunnerCallException("Invalid host"); - } if (timeout <= 0) { timeout = EngineLocalConfig.getInstance().getInteger("ANSIBLE_PLAYBOOK_EXEC_DEFAULT_TIMEOUT"); } @@ -198,6 +195,12 @@ public AnsibleReturnValue runCommand(AnsibleCommandConfig commandConfig, int tim } private AuditLogable createAuditLogable(AnsibleCommandConfig command, String taskName) { + if (command.host() == null) { + return AuditLogableImpl.createEvent( + command.correlationId(), + Map.of("Message", taskName, "PlayAction", command.playAction()) + ); + } return AuditLogableImpl.createHostEvent( command.host(), command.correlationId(),