Как создать Multiple Network интерфейс в OpenStack, прикрепленный в указанном порядке к экземпляру с помощью Terraform? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытался добавить несколько сетей / подсетей в экземпляр Openstack, используя приведенный ниже код HCL.

    resource "openstack_compute_instance_v2"  "test" {
      name = "test-4.64"
      image_name = "test-v4.64"
      flavor_name = "m1.medium"
      key_pair = openstack_compute_keypair_v2.vmkeypair.name
      security_groups = [openstack_networking_secgroup_v2.func_sec_grp.name]
      network {
        uuid = openstack_networking_network_v2.auto_networks["mgmt"].id
        fixed_ip_v4 = "10.0.1.100"
      }
      network {
        uuid = openstack_networking_network_v2.auto_networks["traffic1"].id
        fixed_ip_v4 = "10.0.2.100"
        }

        network {
        uuid = openstack_networking_network_v2.auto_networks["traffic2"].id
        fixed_ip_v4 = "10.0.3.100"

        }

    }

    resource "openstack_networking_port_v2" "test_mgmt_port" {
      name           = "port-0"
      network_id     = openstack_networking_network_v2.auto_networks["mgmt"].id
      admin_state_up = "true"
    }

    resource "openstack_networking_port_v2" "test_traffic1_port" {
      name           = "port-1"
      network_id     = openstack_networking_network_v2.auto_networks["traffic1"].id
      admin_state_up = "true"
    }

    resource "openstack_networking_port_v2" "test_traffic2_port" {
      name           = "port-2"
      network_id     = openstack_networking_network_v2.auto_networks["traffic2"].id
      admin_state_up = "true"
    }

    resource "openstack_compute_interface_attach_v2" "attach_test_mgmt" {
      instance_id = openstack_compute_instance_v2.test.id
      port_id     = openstack_networking_port_v2.test_mgmt_port.id
    }

    resource "openstack_compute_interface_attach_v2" "attach_sp_traffic_1" {
      instance_id = openstack_compute_instance_v2.test.id
      port_id     = openstack_networking_port_v2.test_traffic1_port.id
    }

    resource "openstack_compute_interface_attach_v2" "attach_test_traffic_2" {
      instance_id = openstack_compute_instance_v2.test.id
      port_id     = openstack_networking_port_v2.test_traffic2_port.id
    }
  resource "openstack_networking_network_v2" "auto_networks" {
  for_each = module.globals.subnets # list of subnets loaded from module
  name = each.key
  admin_state_up = "true"
  tags = module.globals.common_tags
  }

Я могу подключить 2 сетевых интерфейса с вышеуказанным кодом. Однако мне нужно добавить все эти 3 NIC в указанном порядке, скажем - Ni c -1 mgmt, Ni c -2 трафика1, Ni c -3 трафика2. При развертывании вышеупомянутого я получаю сетевые карты, назначаемые случайным образом при загрузке экземпляра.

...