Я могу запустить команду в моем экземпляре, используя 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.