I'm working on a vCenter upgrade via CLI, and am using the JSON templates provided by VMWare to prep the upgrade. Running the pre check validation, the it throws this error:
Error: Quotation mark parsing error.
Cause: A '}', or ']', or ':', or ',' could be missing between line 22 (character
1) and line 23 (character 19), or quotation marks ('"') may not be properly
escaped.
Here's the template in its entirety:
{
"__version": "2.13.0",
"__comments": "Sample template to upgrade a vCenter Server Appliance 6.7 with an embedded Platform Services Controller to a vCenter Server Appliance 7.0 with an embedded Platform Services Controller on a vCenter Server instance.",
"new_vcsa": {
"vc": {
"__comments": [
"'datacenter' must end with a datacenter name, and only with a datacenter name. ",
"'target' must end with an ESXi hostname, a cluster name, or a resource pool name. ",
"The item 'Resources' must precede the resource pool name. ",
"All names are case-sensitive. ",
"For details and examples, refer to template help, i.e. vcsa-deploy {install|upgrade|migrate} --template-help"
],
"hostname": "server1.domain.net",
"username": "administrator@vsphere.local",
"password": "placeholder",
"deployment_network": "Colo Production 40",
"datacenter": [
"COLO Servers"
],
"datastore": "PM50_PRDFS_Server",
"target": [
"COLO Servers"
"COLO Prod Cluster",
]
},
"appliance": {
"__comments": [
"You must provide the 'deployment_option' key with a value, which will affect the vCenter Server Appliance's configuration parameters, such as the vCenter Server Appliance's number of vCPUs, the memory size, the storage size, and the maximum numbers of ESXi hosts and VMs which can be managed. For a list of acceptable values, run the supported deployment sizes help, i.e. vcsa-deploy --supported-deployment-sizes"
],
"thin_disk_mode": true,
"deployment_option": "small",
"name": "NEWSERVER"
},
"os": {
"ssh_enable": false
},
"temporary_network": {
"ip_family": "IPv4",
"mode": "static",
"ip": "10.10.40.60",
"prefix": "24",
"gateway": "10.10.40.5",
"dns_servers": [
"10.10.40.44",
"10.10.1.39"
]
},
"user_options": {
"__comments": [
"Select the data that you want to copy from the source vCenter Server.",
"'core' = 'Configuration and Inventory',",
"'core_events_tasks' = 'Configuration, Inventory, Tasks and Events'",
"'all' = 'Configuration Inventory, Tasks, Events and Performance Metrics'"
],
"vcdb_migrateSet": "all"
}
},
"source_vc": {
"description": {
"__comments": [
"This section describes the source appliance which you want to",
"upgrade and the ESXi host on which the appliance is running. "
]
},
"managing_esxi_or_vc": {
"hostname": "server1.domain.net",
"username": "administrator@vsphere.local",
"password": "placeholder"
},
"vc_vcsa": {
"hostname": "server.domain.net",
"username": "administrator@vsphere.local",
"password": "placeholder",
"root_password": "placeholder"
}
},
"ceip": {
"description": {
"__comments": [
"++++VMware Customer Experience Improvement Program (CEIP)++++",
"VMware's Customer Experience Improvement Program (CEIP) ",
"provides VMware with information that enables VMware to ",
"improve its products and services, to fix problems, ",
"and to advise you on how best to deploy and use our ",
"products. As part of CEIP, VMware collects technical ",
"information about your organization's use of VMware ",
"products and services on a regular basis in association ",
"with your organization's VMware license key(s). This ",
"information does not personally identify any individual. ",
"",
"Additional information regarding the data collected ",
"through CEIP and the purposes for which it is used by ",
"VMware is set forth in the Trust & Assurance Center at ",
"http://www.vmware.com/trustvmware/ceip.html . If you ",
"prefer not to participate in VMware's CEIP for this ",
"product, you should disable CEIP by setting ",
"'ceip_enabled': false. You may join or leave VMware's ",
"CEIP for this product at any time. Please confirm your ",
"acknowledgement by passing in the parameter ",
"--acknowledge-ceip in the command line.",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
]
},
"settings": {
"ceip_enabled": false
}
}
}
I've tried adding a comma after "COLO Prod Cluster" as well as various other permutations with and without delimiters. The reading I've done so far hasn't been especially helpful unfortunately, though I suspect it's something simple that's eluding me. Any help is greatly appreciated.
you have only one invalid place of your json ,
"target": [
"COLO Servers"
"COLO Prod Cluster",
]
should be
"target": [
"COLO Servers",
"COLO Prod Cluster"
]