Size: a a a

2020 April 28

ZS

Zloi S in terraform_ru
Victor Tur
если там в имедже можно сделать cloud-init - можно через него выкрутиться
клауд-инит тянет за собой установку системы... этого хочется избежать.. зачем на дебиан ставить виртуалку с дебианом?
источник

VT

Victor Tur in terraform_ru
Zloi S
клауд-инит тянет за собой установку системы... этого хочется избежать.. зачем на дебиан ставить виртуалку с дебианом?
так нет же - в lxd был точно cloud-init
источник

VT

Victor Tur in terraform_ru
не знаю насколько это возможно через этот провайдер
источник

ZS

Zloi S in terraform_ru
ну судя по документации cloud-init работает с виртуалками ... не работает он с контейнерами
источник

VT

Victor Tur in terraform_ru
Ты меня lxc запутал без примера кода ресурса.
источник

ZS

Zloi S in terraform_ru
ну вот к примеру
resource "proxmox_lxc" "workenv" {
 features {
   keyctl  = true
   nesting = true
 }
 hostname = "workenv.home.local"
 network {
   name   = "eth0"
   bridge = "vmbr0"
   ip     = "dhcp"
 }
 ostemplate = "CASE:vztmpl/ubuntu-19.04-standard_19.04-1_amd64.tar.gz"
 /*  password     = "rootroot" */
 storage      = "WORK"
 rootfs       = "16"
 target_node  = "pve"
 unprivileged = true
 cmode        = "shell"
 memory       = 2048
 swap         = 2048
 start        = true

 provisioner "file" {
   source      = "script.sh"
   destination = "/tmp/script.sh"
 }

 provisioner "remote-exec" {
   inline = [
     "chmod +x /tmp/script.sh",
     "/tmp/script.sh args",
   ]
 }
}
источник
2020 April 29

KG

Kirill Galinurov in terraform_ru
коллеги у кого нибудь есть положительный опыт использования https://github.com/Telmate/terraform-provider-proxmox
источник

KG

Kirill Galinurov in terraform_ru
Виртуалка то создается
источник

KG

Kirill Galinurov in terraform_ru
проблема с назначением ip адреса
источник

KG

Kirill Galinurov in terraform_ru
resource "proxmox_vm_qemu" "docker-swarm-node" {
       agent = 1
       count = 1
       name = "sdp-docker-swarm-node1"
       target_node = var.proxmox_sdp_swarm_node
       clone = var.sdp_docker_template_name
       os_type = "cloud-init"
       cores = var.sdp_swarm_node_profile["vcpu"]
       sockets = 1
       memory = var.sdp_swarm_node_profile["memory"]
       full_clone = true

               disk {
                       id = 0
                       size = 20
                       storage = "hv03-1700gb"
                       type = "scsi"
                       format = "qcow2"
               }

               network {
                       id = 0
                       model = "virtio"
                       bridge = "vmbr1"
                       tag = var.sdp_swarm_node_profile["internal_vlan"]
                       }

               network {

                       id = 1
                       model = "virtio"
                       bridge = "vmbr1"
                       tag  = var.sdp_swarm_node_profile["mngt_vlan"]

                       }

lifecycle {
   ignore_changes  = [
     network,
   ]
 }



}
источник

KG

Kirill Galinurov in terraform_ru
как только добавляю срочку из примера ipconfig0 = "ip=10.0.2.99/16,gw=10.0.2.2"
источник

KG

Kirill Galinurov in terraform_ru
так оно крашется
источник

KG

Kirill Galinurov in terraform_ru
или может кто другой провайдер посоветует
источник

VT

Victor Tur in terraform_ru
Kirill Galinurov
или может кто другой провайдер посоветует
Посмотри выше коллега писал что использует его.
Если крашится - смотри логи.
Провайдер далёк от совершенства, простенький. И API у proxmox так себе - если что не хватает - смотри код и добавляй что не хватает.
источник

KG

Kirill Galinurov in terraform_ru
вобщем разобрался я с ним
источник

KG

Kirill Galinurov in terraform_ru
там именно проблема в том что в провайдер плохонький
источник

KG

Kirill Galinurov in terraform_ru
и там захардкожено такое
источник

KG

Kirill Galinurov in terraform_ru
if config.HasCloudInit() {
   if d.Get("ssh_forward_ip") != nil {
     sshHost = d.Get("ssh_forward_ip").(string)
   }
   if sshHost == "" {
     // parse IP address out of ipconfig0
     ipMatch := rxIPconfig.FindStringSubmatch(d.Get("ipconfig0").(string))
     sshHost = ipMatch[1]
   }
   // Check if we got a speficied port
   if strings.Contains(sshHost, ":") {
     sshParts := strings.Split(sshHost, ":")
     sshHost = sshParts[0]
     sshPort = sshParts[1]
   }
 } else {
   log.Print("[DEBUG] setting up SSH forward")
   sshPort, err = pxapi.SshForwardUsernet(vmr, client)
   if err != nil {
     pmParallelEnd(pconf)
     return err
   }
   sshHost = d.Get("ssh_forward_ip").(string)
 }
источник

KG

Kirill Galinurov in terraform_ru
соотвественно если ipconfig1 то беда
источник

VT

Victor Tur in terraform_ru
Добавь условие :) или перепиши эту балалайку.
источник