4.13.0
This commit is contained in:
@@ -39,8 +39,10 @@ func flattenCompute(d *schema.ResourceData, computeRec *compute.RecordCompute, p
|
||||
d.Set("boot_disk_id", bootDisk.ID)
|
||||
// we intentionally use the SizeMax field, do not change it until the BootDiskSize field is fixed on the platform
|
||||
d.Set("boot_disk_size", bootDisk.SizeMax)
|
||||
d.Set("boot_disk_discard", bootDisk.Discard)
|
||||
d.Set("boot_image_id", bootDisk.ImageID)
|
||||
d.Set("chipset", computeRec.Chipset)
|
||||
d.Set("clock", computeRec.Clock)
|
||||
d.Set("cd_image_id", computeRec.CdImageId)
|
||||
d.Set("clone_reference", computeRec.CloneReference)
|
||||
d.Set("clones", computeRec.Clones)
|
||||
@@ -85,6 +87,7 @@ func flattenCompute(d *schema.ResourceData, computeRec *compute.RecordCompute, p
|
||||
d.Set("registered", computeRec.Registered)
|
||||
d.Set("res_name", computeRec.ResName)
|
||||
d.Set("reserved_node_cpus", computeRec.ReservedNodeCpus)
|
||||
d.Set("resized_online", computeRec.ResizedOnline)
|
||||
d.Set("rg_name", computeRec.RGName)
|
||||
d.Set("rg_id", computeRec.RGID)
|
||||
d.Set("snap_sets", flattenSnapSets(computeRec.SnapSets))
|
||||
@@ -111,12 +114,26 @@ func flattenCompute(d *schema.ResourceData, computeRec *compute.RecordCompute, p
|
||||
d.Set("zone_id", computeRec.ZoneID)
|
||||
d.Set("os_version", computeRec.OSVersion)
|
||||
d.Set("cpu_pin", computeRec.CPUPin)
|
||||
d.Set("cpu_alignment_profile", computeRec.CPUAlignmentProfile.Name)
|
||||
d.Set("numa_affinity", computeRec.NumaAffinity)
|
||||
d.Set("hp_backed", computeRec.HPBacked)
|
||||
d.Set("weight", computeRec.Weight)
|
||||
return nil
|
||||
}
|
||||
|
||||
func flattenCPUAlignmentProfile(profile compute.CPUAlignmentProfile) []map[string]interface{} {
|
||||
if profile.Name == "" && profile.Model == "" && profile.Vendor == "" {
|
||||
return nil
|
||||
}
|
||||
return []map[string]interface{}{
|
||||
{
|
||||
"name": profile.Name,
|
||||
"model": profile.Model,
|
||||
"vendor": profile.Vendor,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func flattenPCI(pciList compute.ListPCIDevices) []uint64 {
|
||||
res := make([]uint64, 0, len(pciList.Data))
|
||||
|
||||
@@ -145,10 +162,11 @@ func flattenSnapSets(snaps compute.ListSnapshots) []map[string]interface{} {
|
||||
|
||||
for _, snap := range snaps {
|
||||
res = append(res, map[string]interface{}{
|
||||
"disks": snap.Disks,
|
||||
"guid": snap.GUID,
|
||||
"label": snap.Label,
|
||||
"timestamp": snap.Timestamp,
|
||||
"disks": snap.Disks,
|
||||
"guid": snap.GUID,
|
||||
"label": snap.Label,
|
||||
"timestamp": snap.Timestamp,
|
||||
"memory_dump_image": snap.MemoryDumpImage,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -174,32 +192,33 @@ func flattenInterfaces(ifaces compute.ListInterfaces) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(ifaces))
|
||||
for _, iface := range ifaces {
|
||||
res = append(res, map[string]interface{}{
|
||||
"bus_number": iface.BusNumber,
|
||||
"conn_id": iface.ConnID,
|
||||
"conn_type": iface.ConnType,
|
||||
"def_gw": iface.DefGW,
|
||||
"enabled": iface.Enabled,
|
||||
"enable_secgroups": iface.EnableSecGroups,
|
||||
"flip_group_id": iface.FLIPGroupID,
|
||||
"guid": iface.GUID,
|
||||
"ip_address": iface.IPAddress,
|
||||
"listen_ssh": iface.ListenSSH,
|
||||
"mac": iface.MAC,
|
||||
"mtu": iface.MTU,
|
||||
"name": iface.Name,
|
||||
"net_id": iface.NetID,
|
||||
"netmask": iface.NetMask,
|
||||
"net_type": iface.NetType,
|
||||
"node_id": iface.NodeID,
|
||||
"pci_slot": iface.PCISlot,
|
||||
"qos": flattenQOS(iface.QOS),
|
||||
"sdn_interface_id": iface.SDNInterfaceID,
|
||||
"security_groups": iface.SecGroups,
|
||||
"target": iface.Target,
|
||||
"type": iface.Type,
|
||||
"trunk_tags": iface.TrunkTags,
|
||||
"vnfs": iface.VNFs,
|
||||
"libvirt_settings": flattenLibvirtSettings(iface.LibvirtSettings),
|
||||
"bus_number": iface.BusNumber,
|
||||
"conn_id": iface.ConnID,
|
||||
"conn_type": iface.ConnType,
|
||||
"def_gw": iface.DefGW,
|
||||
"enabled": iface.Enabled,
|
||||
"enable_secgroups": iface.EnableSecGroups,
|
||||
"enable_default_gateway": iface.EnableDefaultGateway,
|
||||
"flip_group_id": iface.FLIPGroupID,
|
||||
"guid": iface.GUID,
|
||||
"ip_address": iface.IPAddress,
|
||||
"listen_ssh": iface.ListenSSH,
|
||||
"mac": iface.MAC,
|
||||
"mtu": iface.MTU,
|
||||
"name": iface.Name,
|
||||
"net_id": iface.NetID,
|
||||
"netmask": iface.NetMask,
|
||||
"net_type": iface.NetType,
|
||||
"node_id": iface.NodeID,
|
||||
"pci_slot": iface.PCISlot,
|
||||
"qos": flattenQOS(iface.QOS),
|
||||
"sdn_interface_id": iface.SDNInterfaceID,
|
||||
"security_groups": iface.SecGroups,
|
||||
"target": iface.Target,
|
||||
"type": iface.Type,
|
||||
"trunk_tags": iface.TrunkTags,
|
||||
"vnfs": iface.VNFs,
|
||||
"libvirt_settings": flattenLibvirtSettings(iface.LibvirtSettings),
|
||||
})
|
||||
}
|
||||
return res
|
||||
@@ -273,6 +292,7 @@ func flattenComputeDisks(disksList compute.ListDisks, disksBlocks, extraDisks []
|
||||
"pci_slot": disk.PCISlot,
|
||||
"bus_number": disk.BusNumber,
|
||||
"pool": disk.Pool,
|
||||
"read_only": disk.ReadOnly,
|
||||
"desc": disk.Description,
|
||||
"image_id": disk.ImageID,
|
||||
"independent": disk.Independent,
|
||||
@@ -291,7 +311,7 @@ func flattenComputeDisks(disksList compute.ListDisks, disksBlocks, extraDisks []
|
||||
"delete_time": disk.DeletedTime,
|
||||
"update_time": disk.UpdatedTime,
|
||||
"cache": disk.Cache,
|
||||
"blk_discard": disk.BLKDiscard,
|
||||
"discard": disk.Discard,
|
||||
"block_size": disk.BlockSize,
|
||||
"provision": disk.Provision,
|
||||
"iotune": flattenIOTune(disk.IOTune),
|
||||
@@ -346,6 +366,7 @@ func flattenComputeList(computes *compute.ListComputes) []map[string]interface{}
|
||||
"arch": computeItem.Arch,
|
||||
"auto_start_w_node": computeItem.AutoStart,
|
||||
"chipset": computeItem.Chipset,
|
||||
"clock": computeItem.Clock,
|
||||
"cd_image_id": computeItem.CdImageId,
|
||||
"boot_order": computeItem.BootOrder,
|
||||
"boot_image_id": computeItem.BootImageID,
|
||||
@@ -367,6 +388,7 @@ func flattenComputeList(computes *compute.ListComputes) []map[string]interface{}
|
||||
"guid": computeItem.GUID,
|
||||
"hp_backed": computeItem.HPBacked,
|
||||
"compute_id": computeItem.ID,
|
||||
"cpu_alignment_profiles": flattenCPUAlignmentProfile(computeItem.CPUAlignmentProfile),
|
||||
"cpu_pin": computeItem.CPUPin,
|
||||
"interfaces": flattenInterfaces(computeItem.Interfaces),
|
||||
"live_migration_job_id": computeItem.LiveMigrationJobID,
|
||||
@@ -390,6 +412,7 @@ func flattenComputeList(computes *compute.ListComputes) []map[string]interface{}
|
||||
"registered": computeItem.Registered,
|
||||
"res_name": computeItem.ResName,
|
||||
"reserved_node_cpus": computeItem.ReservedNodeCpus,
|
||||
"resized_online": computeItem.ResizedOnline,
|
||||
"rg_id": computeItem.RGID,
|
||||
"rg_name": computeItem.RGName,
|
||||
"snap_sets": flattenSnapSets(computeItem.SnapSets),
|
||||
@@ -438,6 +461,7 @@ func flattenDeletedComputeList(computes *compute.ListDeletedComputes) []map[stri
|
||||
"arch": computeItem.Arch,
|
||||
"auto_start_w_node": computeItem.AutoStart,
|
||||
"chipset": computeItem.Chipset,
|
||||
"clock": computeItem.Clock,
|
||||
"cd_image_id": computeItem.CdImageId,
|
||||
"boot_order": computeItem.BootOrder,
|
||||
"bootdisk_size": computeItem.BootDiskSize,
|
||||
@@ -459,6 +483,7 @@ func flattenDeletedComputeList(computes *compute.ListDeletedComputes) []map[stri
|
||||
"guid": computeItem.GUID,
|
||||
"hp_backed": computeItem.HPBacked,
|
||||
"compute_id": computeItem.ID,
|
||||
"cpu_alignment_profiles": flattenCPUAlignmentProfile(computeItem.CPUAlignmentProfile),
|
||||
"cpu_pin": computeItem.CPUPin,
|
||||
"interfaces": flattenInterfaces(computeItem.Interfaces),
|
||||
"lock_status": computeItem.LockStatus,
|
||||
@@ -479,6 +504,7 @@ func flattenDeletedComputeList(computes *compute.ListDeletedComputes) []map[stri
|
||||
"registered": computeItem.Registered,
|
||||
"res_name": computeItem.ResName,
|
||||
"reserved_node_cpus": computeItem.ReservedNodeCpus,
|
||||
"resized_online": computeItem.ResizedOnline,
|
||||
"rg_id": computeItem.RGID,
|
||||
"rg_name": computeItem.RGName,
|
||||
"snap_sets": flattenSnapSets(computeItem.SnapSets),
|
||||
@@ -580,7 +606,8 @@ func flattenDisks(disks []compute.InfoDisk) []map[string]interface{} {
|
||||
// "bus_number": disk.BusNumber,
|
||||
"disk_id": disk.ID,
|
||||
// "pci_slot": disk.PCISlot,
|
||||
"sep_id": disk.SepID,
|
||||
"sep_id": disk.SepID,
|
||||
"read_only": disk.ReadOnly,
|
||||
}
|
||||
res = append(res, temp)
|
||||
}
|
||||
@@ -779,10 +806,12 @@ func flattenDataCompute(d *schema.ResourceData, compFacts *compute.RecordCompute
|
||||
d.Set("boot_order", compFacts.BootOrder)
|
||||
d.Set("boot_image_id", compFacts.ImageID)
|
||||
d.Set("chipset", compFacts.Chipset)
|
||||
d.Set("clock", compFacts.Clock)
|
||||
d.Set("cd_image_id", compFacts.CdImageId)
|
||||
d.Set("clone_reference", compFacts.CloneReference)
|
||||
d.Set("clones", compFacts.Clones)
|
||||
d.Set("computeci_id", compFacts.ComputeCIID)
|
||||
d.Set("cpu_alignment_profiles", flattenCPUAlignmentProfile(compFacts.CPUAlignmentProfile))
|
||||
d.Set("cpu_pin", compFacts.CPUPin)
|
||||
d.Set("cpus", compFacts.CPUs)
|
||||
d.Set("created_by", compFacts.CreatedBy)
|
||||
@@ -824,6 +853,7 @@ func flattenDataCompute(d *schema.ResourceData, compFacts *compute.RecordCompute
|
||||
d.Set("registered", compFacts.Registered)
|
||||
d.Set("res_name", compFacts.ResName)
|
||||
d.Set("reserved_node_cpus", compFacts.ReservedNodeCpus)
|
||||
d.Set("resized_online", compFacts.ResizedOnline)
|
||||
d.Set("rg_id", compFacts.RGID)
|
||||
d.Set("rg_name", compFacts.RGName)
|
||||
d.Set("snap_sets", flattenSnapSets(compFacts.SnapSets))
|
||||
@@ -882,6 +912,7 @@ func parseComputeInterfacesToNetworks(networks []interface{}, ifaces compute.Lis
|
||||
elem["sdn_interface_id"] = value.SDNInterfaceID
|
||||
elem["weight"] = flattenNetworkWeight(networks, value.NetID, value.NetType)
|
||||
elem["enabled"] = value.Enabled
|
||||
elem["enable_default_gateway"] = value.EnableDefaultGateway
|
||||
|
||||
result = append(result, elem)
|
||||
}
|
||||
@@ -907,7 +938,7 @@ func flattenDisk(diskList compute.ListDisks) []map[string]interface{} {
|
||||
"ckey": disk.CKey,
|
||||
"meta": flattens.FlattenMeta(disk.Meta),
|
||||
"account_id": disk.AccountID,
|
||||
"blk_discard": disk.BLKDiscard,
|
||||
"discard": disk.Discard,
|
||||
"block_size": disk.BlockSize,
|
||||
"boot_partition": disk.BootPartition,
|
||||
"bus_number": disk.BusNumber,
|
||||
@@ -957,6 +988,7 @@ func flattenDisk(diskList compute.ListDisks) []map[string]interface{} {
|
||||
"to_clean": disk.ToClean,
|
||||
"provision": disk.Provision,
|
||||
"updated_time": disk.UpdatedTime,
|
||||
"read_only": disk.ReadOnly,
|
||||
}
|
||||
res = append(res, temp)
|
||||
}
|
||||
@@ -1005,6 +1037,7 @@ func flattendDiskSnapshotList(sl compute.ListDetailedSnapshots) []interface{} {
|
||||
temp := map[string]interface{}{
|
||||
"guid": snapshot.GUID,
|
||||
"label": snapshot.Label,
|
||||
"pool_name": snapshot.PoolName,
|
||||
"res_id": snapshot.ResID,
|
||||
"snap_set_guid": snapshot.SnapSetGUID,
|
||||
"snap_set_time": snapshot.SnapSetTime,
|
||||
@@ -1063,3 +1096,193 @@ func flattenQemuQuest(qemuQuest compute.QemuQuest) []map[string]interface{} {
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
func flattenMigrateStorageInfo(d *schema.ResourceData, info *compute.RecordMigrateStorageInfo) {
|
||||
d.Set("completed", info.Completed)
|
||||
d.Set("cpu_set", info.CPUSet)
|
||||
d.Set("daemon_addr", info.DaemonAddr)
|
||||
d.Set("domain_name", info.DomainName)
|
||||
d.Set("domain_uuid", info.DomainUUID)
|
||||
d.Set("elapsed_time", info.ElapsedTime)
|
||||
d.Set("gid", info.GID)
|
||||
d.Set("guid", info.GUID)
|
||||
d.Set("migration_id", info.ID)
|
||||
d.Set("interfaces", flattenShadowComputeInterfaces(info.Interfaces))
|
||||
d.Set("log", info.Log)
|
||||
d.Set("new_disk_xmls", info.NewDiskXmls)
|
||||
d.Set("new_disks", info.NewDisks)
|
||||
d.Set("old_disks", info.OldDisks)
|
||||
d.Set("pid", info.PID)
|
||||
d.Set("source_node_id", info.SourceNodeID)
|
||||
d.Set("source_numa_node_id", info.SourceNumaNodeID)
|
||||
d.Set("source_reserved_node_cpus", info.SourceReservedNodeCpus)
|
||||
d.Set("source_url", info.SourceURL)
|
||||
d.Set("status", info.Status)
|
||||
d.Set("target_shadow_compute", flattenShadowCompute(info.TargetShadowCompute))
|
||||
d.Set("target_node_id", info.TargetNodeID)
|
||||
d.Set("target_url", info.TargetURL)
|
||||
d.Set("vmlog_dir", info.VMLogDir)
|
||||
}
|
||||
|
||||
func flattenShadowCompute(sc compute.ShadowCompute) []map[string]interface{} {
|
||||
customFields, _ := json.Marshal(sc.CustomFields)
|
||||
devices, _ := json.Marshal(sc.Devices)
|
||||
userData, _ := json.Marshal(sc.Userdata)
|
||||
|
||||
return []map[string]interface{}{
|
||||
{
|
||||
"account_id": sc.AccountID,
|
||||
"acl": flattenListACLInterface(sc.ACL),
|
||||
"affinity_label": sc.AffinityLabel,
|
||||
"affinity_rules": flattenShadowComputeRules(sc.AffinityRules),
|
||||
"affinity_weight": sc.AffinityWeight,
|
||||
"anti_affinity_rules": flattenShadowComputeRules(sc.AntiAffinityRules),
|
||||
"arch": sc.Arch,
|
||||
"auto_start": sc.AutoStart,
|
||||
"boot_image_id": sc.BootImageID,
|
||||
"boot_order": sc.BootOrder,
|
||||
"boot_type": sc.BootType,
|
||||
"bootdisk_size": sc.BootDiskSize,
|
||||
"cd_image_id": sc.CDImageID,
|
||||
"chipset": sc.Chipset,
|
||||
"clock": sc.Clock,
|
||||
"clone_reference": sc.CloneReference,
|
||||
"clones": sc.Clones,
|
||||
"computeci_id": sc.ComputeCIID,
|
||||
"cpu_alignment_profile": flattenCPUAlignmentProfile(sc.CPUAlignmentProfile),
|
||||
"cpupin": sc.CPUPin,
|
||||
"cpus": sc.CPUs,
|
||||
"custom_fields": string(customFields),
|
||||
"desc": sc.Description,
|
||||
"devices": string(devices),
|
||||
"disks": flattenShadowComputeDisks(sc.Disks),
|
||||
"driver": sc.Driver,
|
||||
"gid": sc.GID,
|
||||
"guid": sc.GUID,
|
||||
"hp_backed": sc.HPBacked,
|
||||
"hot_resize": sc.HotResize,
|
||||
"id": sc.ID,
|
||||
"interfaces": flattenShadowComputeInterfaces(sc.Interfaces),
|
||||
"live_migration_job_id": sc.LiveMigrationJobID,
|
||||
"loader_type": sc.LoaderType,
|
||||
"lock_status": sc.LockStatus,
|
||||
"manager_id": sc.ManagerID,
|
||||
"manager_type": sc.ManagerType,
|
||||
"migrationjob": sc.MigrationJob,
|
||||
"milestones": sc.Milestones,
|
||||
"name": sc.Name,
|
||||
"need_reboot": sc.NeedReboot,
|
||||
"network_interface_naming": sc.NetworkInterfaceNaming,
|
||||
"node_id": sc.NodeID,
|
||||
"numa_affinity": sc.NumaAffinity,
|
||||
"numa_node_id": sc.NumaNodeID,
|
||||
"os_users": flattenOSUsers(sc.OSUsers),
|
||||
"os_version": sc.OSVersion,
|
||||
"pinned_to_node": sc.PinnedToNode,
|
||||
"preferred_cpu": sc.PreferredCPU,
|
||||
"qemu_guest": flattenQemuQuest(sc.QemuGuest),
|
||||
"read_only": sc.ReadOnly,
|
||||
"ram": sc.RAM,
|
||||
"reference_id": sc.ReferenceID,
|
||||
"reserved_node_cpus": sc.ReservedNodeCpus,
|
||||
"resized_online": sc.ResizedOnline,
|
||||
"res_name": sc.ResName,
|
||||
"rg_id": sc.RGID,
|
||||
"snap_sets": flattenShadowComputeSnapshots(sc.SnapSets),
|
||||
"stateless_sep_id": sc.StatelessSEPID,
|
||||
"stateless_sep_type": sc.StatelessSEPType,
|
||||
"status": sc.Status,
|
||||
"tags": flattenTags(sc.Tags),
|
||||
"tech_status": sc.TechStatus,
|
||||
"user_managed": sc.UserManaged,
|
||||
"userdata": string(userData),
|
||||
"vgpus": sc.VGPUs,
|
||||
"vnc_passwd": sc.VNCPassword,
|
||||
"weight": sc.Weight,
|
||||
"zone_id": sc.ZoneID,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func flattenShadowComputeDisks(disks []compute.ItemShadowComputeDisk) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(disks))
|
||||
|
||||
for _, disk := range disks {
|
||||
res = append(res, map[string]interface{}{
|
||||
"id": disk.ID,
|
||||
})
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
func flattenShadowComputeInterfaces(ifaces []compute.ItemShadowComputeInterface) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(ifaces))
|
||||
|
||||
for _, iface := range ifaces {
|
||||
res = append(res, map[string]interface{}{
|
||||
"name": iface.Name,
|
||||
"target": iface.Target,
|
||||
"pci_slot": iface.PCISlot,
|
||||
"bus_number": iface.BusNumber,
|
||||
"mac": iface.MAC,
|
||||
"mtu": iface.MTU,
|
||||
"type": iface.Type,
|
||||
"conn_type": iface.ConnType,
|
||||
"conn_id": iface.ConnID,
|
||||
"flip_group_id": iface.FLIPGroupID,
|
||||
"net_type": iface.NetType,
|
||||
"net_id": iface.NetID,
|
||||
"ip_address": iface.IPAddress,
|
||||
"net_mask": iface.NetMask,
|
||||
"def_gw": iface.DefGW,
|
||||
"vnfs": iface.VNFs,
|
||||
"qos": flattenQOS(iface.QOS),
|
||||
"libvirt_settings": flattenLibvirtSettings(iface.LibvirtSettings),
|
||||
"guid": iface.GUID,
|
||||
"listen_ssh": iface.ListenSSH,
|
||||
"enabled": iface.Enabled,
|
||||
"enable_default_gateway": iface.EnableDefaultGateway,
|
||||
"node_id": iface.NodeID,
|
||||
"sdn_interface_id": iface.SDNInterfaceID,
|
||||
"security_groups": iface.SecGroups,
|
||||
"enable_secgroups": iface.EnableSecGroups,
|
||||
"trunk_tags": iface.TrunkTags,
|
||||
})
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// no guid
|
||||
func flattenShadowComputeRules(rules compute.ListShadowComputeRules) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(rules))
|
||||
|
||||
for _, rule := range rules {
|
||||
res = append(res, map[string]interface{}{
|
||||
"key": rule.Key,
|
||||
"mode": rule.Mode,
|
||||
"policy": rule.Policy,
|
||||
"topology": rule.Topology,
|
||||
"value": rule.Value,
|
||||
})
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// no compute/memory_dump_image
|
||||
func flattenShadowComputeSnapshots(snaps compute.ListShadowComputeSnapshots) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(snaps))
|
||||
|
||||
for _, snap := range snaps {
|
||||
res = append(res, map[string]interface{}{
|
||||
"disks": snap.Disks,
|
||||
"guid": snap.GUID,
|
||||
"label": snap.Label,
|
||||
"timestamp": snap.Timestamp,
|
||||
})
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user