Как убедиться, что среда инициатора remote-exec такая же, как запуск ssh напрямую? - PullRequest
0 голосов
/ 17 октября 2019

Я могу запустить команду в моем экземпляре, используя ssh напрямую:

ssh -o StrictHostKeyChecking=no -i myid_rsa centos@x.x.x.x sudo docker exec samdom samba-tool user create myuser Passw0rd
Warning: Permanently added 'x.x.x.x' (ECDSA) to the list of known hosts.
User 'myuser' created successfully

Я хотел бы сделать то же самое, используя поставщика удаленного исполнения:

provisioner "remote-exec" {
    connection {
      type        = "ssh"
      user        = "centos"
      ...
    }
    inline = [
      ...
      "sudo docker exec samdom samba-tool user create myuser Passw0rd",
      ...

Однако я получаю сообщение об ошибке:

aws_instance.ad_server[0] (remote-exec): ERROR(<type 'exceptions.ValueError'>): Failed to add user 'myuser':  - unable to parse dn string
aws_instance.ad_server[0] (remote-exec):   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 197, in run
aws_instance.ad_server[0] (remote-exec):     gecos=gecos, loginshell=login_shell)
aws_instance.ad_server[0] (remote-exec):   File "/usr/lib/python2.7/dist-packages/samba/samdb.py", line 356, in newuser
aws_instance.ad_server[0] (remote-exec):     dnsdomain = ldb.Dn(self, self.domain_dn()).canonical_str().replace("/", "")

Я предполагаю, что среды просто разные для каждого подхода, но я не уверен, как это исправить для поставщика terraform.

...