Estou usando o Ansible para provisionar o MS SQL Server 2017 para uma caixa do CentOS 7.4 . Eu primeiro passei por este guia via linha de comando e funciona , mas meu objetivo final é "Ansible -ize" isso. No entanto, quando chego à etapa de instalar as ferramentas de linha de comando, a opção -y
não funciona para aceitar a licença.
[user@host ~]$ sudo yum install -y mssql-tools unixODBC-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mssql-tools.x86_64 0:14.0.6.0-1 will be installed
--> Processing Dependency: msodbcsql < 13.2.0.0 for package: mssql-tools-14.0.6.0-1.x86_64
--> Processing Dependency: msodbcsql >= 13.1.0.0 for package: mssql-tools-14.0.6.0-1.x86_64
---> Package unixODBC-devel.x86_64 0:2.3.1-11.el7 will be installed
--> Running transaction check
---> Package msodbcsql.x86_64 0:13.1.9.1-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mssql-tools x86_64 14.0.6.0-1 packages-microsoft-com-prod 249 k
unixODBC-devel x86_64 2.3.1-11.el7 pwbank_repo 55 k
Installing for dependencies:
msodbcsql x86_64 13.1.9.1-1 packages-microsoft-com-prod 4.0 M
Transaction Summary
================================================================================
Install 2 Packages (+1 Dependent package)
Total size: 4.2 M
Installed size: 4.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
The license terms for this product can be downloaded from
https://aka.ms/odbc131eula and found in
/usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
Installing : msodbcsql-13.1.9.1-1.x86_64 1/3
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
Installing : mssql-tools-14.0.6.0-1.x86_64 2/3
Installing : unixODBC-devel-2.3.1-11.el7.x86_64 3/3
Verifying : msodbcsql-13.1.9.1-1.x86_64 1/3
Verifying : unixODBC-devel-2.3.1-11.el7.x86_64 2/3
Verifying : mssql-tools-14.0.6.0-1.x86_64 3/3
Installed:
mssql-tools.x86_64 0:14.0.6.0-1 unixODBC-devel.x86_64 0:2.3.1-11.el7
Dependency Installed:
msodbcsql.x86_64 0:13.1.9.1-1
Complete!
Percebi que há um aviso antes de ser solicitado dizendo que RPMDB foi alterado fora do yum. Isso significa que a Microsoft modificou esse rpm especificamente de maneira própria e, por causa disso, o yum não não sabe como lidar com isso?
Meu objetivo
Embora o acima funcione para uma instalação "à mão", estou tentando "ansificar" o acima. Meu manual funciona até eu chegar a este jogo:
- name: Upgrade all installed packages, and install new ones
package:
name: '{{item}}'
state: latest
with_items:
- '*'
- mssql-server
- mssql-tools
- unixODBC-devel
O jogo acima irá atualizar todos os meus pacotes atualmente instalados e instalar o MS SQL Server 2017 muito bem, mas irá travar ao tentar instalar o pacote mssql-tools , Eu suponho porque está esperando o usuário aceitar a licença.
Minha pergunta
Como posso "ansificar" esta instalação se o meu manual parar, esperando que o usuário aceite a licença?
Para pontos de bônus, há uma etapa em que preciso executar sudo /opt/mssql/bin/mssql-conf setup
e seguir os prompts na tela, o que, mais uma vez, impede meu provisionamento. Eu estou no processo de passar por isso uma vez, encontrar seu arquivo de saída e ver se não posso simplesmente copiar isso sempre que eu re-provisionar uma nova caixa. Como alternativa, estou no processo de ler em Esperar .