Установка SQL 2016 через Ansible

Всем привет! Пытаюсь поставить SQL Server 2016 на Windows Server 2012 R2 при помощи Ansible развернутом на CentOS 7. Дистрибутив SQL лежит локально на целевой машине. Установка запускается с помощью PS скрипта: "Start-Process -FilePath C:\\soft\\SQL\\en_sql_server_2016_developer_with_service_pack_2_x64_dvd_12194995\\setup.exe /configurationfile=C:\\soft\\SQL\\ConfigurationFile.ini"

Запускаемый playbook:

- name: SQL Server
  hosts: testserver
  tasks:
    - name: Install MS SQL Server 2016
      win_shell: Start-Process -FilePath C:\soft\SQL\en_sql_server_2016_developer_with_service_pack_2_x64_dvd_12194995\setup.exe /configurationfile=C:\soft\SQL\ConfigurationFile.ini

В Ansible получаю результат:

changed: [172.27.46.19] => {
    "changed": true,
    "cmd": "Start-Process -FilePath C:\\soft\\SQL\\en_sql_server_2016_developer_with_service_pack_2_x64_dvd_12194995\\setup.exe /configurationfile=C:\\soft\\SQL\\ConfigurationFile.ini",
    "delta": "0:00:00.281262",
    "end": "2020-09-03 12:22:04.376021",
    "rc": 0,
    "start": "2020-09-03 12:22:04.094758",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []
}
META: ran handlers
META: ran handlers

PLAY RECAP ******************************************************************************
172.27.46.19               : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

при этом скрипт

C:\soft\SQL\en_sql_server_2016_developer_with_service_pack_2_x64_dvd_12194995\setup.exe /configurationfile=C:\soft\SQL\ConfigurationFile.ini

на целевой машине из PS запускает установку

с Ansible простой скрипт создания каталога выполняется без ошибок:

- name: Create a directory using PowerShell
  hosts: testserver
  tasks:
    - name: Create dir temp
      win_shell: New-Item -Path C:\Temp -ItemType Directory

Никто не сталкивался с подобной проблемой? или кто подскажет где м.б. ошибка? Спасибо!


Ответы (1 шт):

Автор решения: skmserg

удалось решить, путем прописывания полного конфиг файла в строку установки в качестве параметров

C:\soft\SQL\sql_server_2016_sp2\setup.exe `
/ACTION="Install" `
/PID="22222-00000-00000-00000-00000" `
/SUPPRESSPRIVACYSTATEMENTNOTICE="False" `
/IACCEPTSQLSERVERLICENSETERMS="True" `
/IACCEPTROPENLICENSETERMS="False" `
/ENU="True" `
/QUIET="True" `
/QUIETSIMPLE="False" `
/UpdateEnabled="True" `
/USEMICROSOFTUPDATE="False" `
/FEATURES=SQLENGINE `
/UpdateSource="MU" `
/HELP="False" `
/INDICATEPROGRESS="False" `
/X86="False" `
/INSTANCENAME="ANSIBLE_TEST" `
/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server" `
/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server" `
/INSTANCEID="ANSIBLE_TEST" `
/SQLTELSVCSTARTUPTYPE="Automatic" `
/SQLTELSVCACCT="NT AUTHORITY\Network Service" `
/INSTANCEDIR="C:\Program Files\Microsoft SQL Server" `
/AGTSVCACCOUNT="NT AUTHORITY\Network Service" `
/AGTSVCSTARTUPTYPE="Manual" `
/ASBACKUPDIR `
/ASCOLLATION `
/ASCONFIGDIR `
/ASDATADIR `
/ASLOGDIR `
/COMMFABRICPORT="0" `
/COMMFABRICNETWORKLEVEL="0" `
/COMMFABRICENCRYPTION="0" `
/MATRIXCMBRICKCOMMPORT="0" `
/SQLSVCSTARTUPTYPE="Automatic" `
/FILESTREAMLEVEL="0" `
/ENABLERANU="False" `
/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" `
/SQLSVCACCOUNT="NT AUTHORITY\Network Service" `
/SQLSVCINSTANTFILEINIT="False" `
/SQLSYSADMINACCOUNTS="ANSIBLE-TEST\Administrator" `
/SQLTEMPDBFILECOUNT="1" `
/SQLTEMPDBFILESIZE="8" `
/SQLTEMPDBFILEGROWTH="64" `
/SQLTEMPDBLOGFILESIZE="8" `
/SQLTEMPDBLOGFILEGROWTH="64" `
/ADDCURRENTUSERASSQLADMIN="False" `
/TCPENABLED="0" `
/NPENABLED="0" `
/BROWSERSVCSTARTUPTYPE="Disabled"

можно вставить прямо в playbook в модуль win_shell:

параметры можно посмотреть тут: https://docs.microsoft.com/ru-ru/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-ver15

→ Ссылка