yunionio / cloudpods

A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台
https://www.cloudpods.org
Apache License 2.0
2.56k stars 522 forks source link

[求助/Help] 云管平台创建的windows 虚拟机 IP 与 vwmave 实际分配的IP对不上(IP分配失败) #21189

Closed ollylu closed 2 weeks ago

ollylu commented 2 weeks ago

我使用cloudpod 创建了一台虚拟机如下图: image

然后当我在 vwmave 控制台看到的虚拟机IP如下

image

请问是哪里有问题,设置不对吗

ollylu commented 2 weeks ago

在esxi-agent 我看到如下报错日志: [E 2024-09-09 21:51:33 storageman.(*SAgentStorage).AgentDeployGuest(storage_agent.go:383)] unable to DoCustomize for vm vm-73: A specified parameter was not correct: spec.identity

ollylu commented 2 weeks ago

更详细的报错日志如下: [D 2024-09-09 21:51:30 storageman.(SAgentStorage).AgentDeployGuest(storage_agent.go:356)] deployInfo: {"default_root_user":false,"enable_cloud_init":false,"enable_tty":false,"is_init":true,"password":"bkHjJep7t8Zq","public_key":{"admin_public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA14JY1Hlw3Pwq8tcbPKSjNs3iDFNGHjnTSKHIVfnIre/XNBSY2/SrbXgOqiKAtqLd1Z5uk/3fceTZ4DDKMTFEU3xEA+s0Wm/gfp/wjqQSBo70DgtB0hR6ZzphlfCzsoaXGvFGQefZtGLZ4O7YHMmWdAj8RsHxOSuvqIMWPtzmWdB44yIjpb7f79qEfpsN8eIXu6MRh2skHnF8HKo6XVLgOY6vUhSW23HLpGxpJqla8eGjW/N48Xv6OskdKXLd50mjVKWHdmfbI8tlgZyEiD2wsHwLXdRNG9oG9BpXW31fME9c0LKzo1FtQb0NfSStN+6XVuYP63KXizYcW9MIX7i3\n","project_public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDHexDZgdF5fvv0PthzU0/qTg1GOY6deGFpsf0rEYvatjdhnH1KMIQmJUWRLQNEvWJAbPl1v8DdmHOSjxB7IG/ReGzyzTUGkeCK6uwDUub+JdpipJwl/qQal8m1/Wwxs24L4mHbBAl3spPItGWD/i78EU4AxEcMptPq41B0UQpR6T4kRS8qcftLrN0Sze/UlLrmfsQls2SXB4k9Tr9MnYxA4/QkU6/O+p+8I08yoK2jMqo6W9Zel0VcieeZJlyxwbP5y9I8arjZuLBBCVl+YCfywqBxtXb80v+4qjN0ErRaXs0nAx78kUpWjVdtEu1zO2CFSyl+9D1s4t4bbtuIwir\n"},"telegraf":{"telegraf_conf":"### MANAGED BY ansible-telegraf ANSIBLE ROLE ###\n\n[global_tags]\n\n host_id = \"53c62016-31cf-4ad9-88a0-9d5c97b8dbdd\"\n vm_ip = \"172.16.25.205\"\n tenant = \"iit_system\"\n brand = \"VMware\"\n project_domain = \"IIT\"\n host = \"172-16-31-224\"\n scaling_group_id = \"\"\n domain_id = \"d461d01530b4454f802fd536a7a1cc05\"\n region_ext_id = \"\"\n tenant_id = \"c33a79c7856e4c5c885b1ad566b42767\"\n vm_id = \"b8990f79-9d15-4a5a-80a8-7bfbcf863370\"\n vm_name = \"olly-win\"\n zone = \"esxi\"\n zone_ext_id = \"\"\n status = \"start_deploy\"\n zone_id = \"7a21b9e1-848e-407d-803d-321dc95e8d44\"\n os_type = \"Linux\"\n cloudregion = \"Default\"\n cloudregion_id = \"default\"\n\n# Configuration for telegraf agent\n[agent]\n interval = \"60s\"\n debug = false\n hostname = \"\"\n round_interval = true\n flush_interval = \"60s\"\n flush_jitter = \"0s\"\n collection_jitter = \"0s\"\n metric_batch_size = 1000\n metric_buffer_limit = 10000\n quiet = false\n logfile = \"/var/log/telegraf.log\"\n logfile_rotation_max_size = \"10MB\"\n logfile_rotation_max_archives = 1\n omit_hostname = true\n\n###############################################################################\n# OUTPUTS #\n###############################################################################\n\n[[outputs.influxdb]]\n urls = [\"http://172.16.18.242:8086\"]\n database = \"telegraf\"\n insecure_skip_verify = true\n\n###############################################################################\n# INPUTS #\n###############################################################################\n[[inputs.cpu]]\n nameprefix = \"agent\"\n percpu = true\n totalcpu = true\n collect_cpu_time = false\n report_active = true\n[[inputs.disk]]\n nameprefix = \"agent\"\n ignore_fs = [\"tmpfs\", \"devtmpfs\", \"overlay\", \"squashfs\", \"iso9660\"]\n[[inputs.diskio]]\n nameprefix = \"agent\"\n skip_serial_number = false\n[[inputs.kernel]]\n nameprefix = \"agent\"\n[[inputs.kernel_vmstat]]\n nameprefix = \"agent\"\n[[inputs.mem]]\n nameprefix = \"agent\"\n[[inputs.processes]]\n nameprefix = \"agent\"\n[[inputs.swap]]\n nameprefix = \"agent\"\n[[inputs.system]]\n nameprefix = \"agent\"\n[[inputs.net]]\n nameprefix = \"agent\"\n[[inputs.netstat]]\n nameprefix = \"agent\"\n[[inputs.nstat]]\n nameprefix = \"agent\"\n[[inputs.internal]]\n nameprefix = \"agent\"\n collect_memstats = false\n[[inputs.nvidia_smi]]\n nameprefix = \"agent\"\n"},"windows_default_admin_user":false} [W 2024-09-09 21:51:31 appsrv.do_worker_watchdog(workers_watchdog.go:64)] WorkerManager RequestWorker has been busy for 2 cycles... [E 2024-09-09 21:51:33 storageman.(SAgentStorage).AgentDeployGuest(storage_agent.go:370)] unable to DeployGuestFs: context deadline exceeded [I 2024-09-09 21:51:33 esxi.(SVirtualMachine).DoCustomize(virtualmachine.go:1494)] customize spec: &types.CustomizationSpec{DynamicData:types.DynamicData{}, Options:types.BaseCustomizationOptions(nil), Identity:(types.CustomizationLinuxPrep)(0xc000d38460), GlobalIPSettings:types.CustomizationGlobalIPSettings{DynamicData:types.DynamicData{}, DnsSuffixList:[]string{"local"}, DnsServerList:[]string(nil)}, NicSettingMap:[]types.CustomizationAdapterMapping{types.CustomizationAdapterMapping{DynamicData:types.DynamicData{}, MacAddress:"00:22:56:44:5b:f4", Adapter:types.CustomizationIPSettings{DynamicData:types.DynamicData{}, Ip:(types.CustomizationFixedIp)(0xc001307ab0), SubnetMask:"255.255.240.0", Gateway:[]string{"172.16.23.254"}, IpV6Spec:(types.CustomizationIPSettingsIpV6AddressSpec)(nil), DnsServerList:[]string(nil), DnsDomain:"", PrimaryWINS:"", SecondaryWINS:"", NetBIOS:""}}}, EncryptionKey:[]uint8(nil)} [E 2024-09-09 21:51:33 storageman.(*SAgentStorage).AgentDeployGuest(storage_agent.go:383)] unable to DoCustomize for vm vm-73: A specified parameter was not correct: spec.identity

ollylu commented 2 weeks ago

部署linux虚拟机分配IP是成功的,只有windows有这个问题

ollylu commented 2 weeks ago
} else if osName == "Windows" {
    if len(hostname) > 15 {
        hostname = hostname[:15]
    }
    sysPrep := types.CustomizationSysprep{
        GuiUnattended: types.CustomizationGuiUnattended{
            TimeZone:  210,
            AutoLogon: false,
        },
        UserData: types.CustomizationUserData{
            FullName:  "Administrator",
            OrgName:   "Yunion",
            ProductId: "",
            ComputerName: &types.CustomizationFixedName{
                Name: hostname,
            },
        },
        Identification: types.CustomizationIdentification{},
    }
    spec.Identity = &sysPrep
}

----似乎出错的原因是这段代码导致的

ollylu commented 2 weeks ago

问题解决~