Open Biboba opened 3 days ago
It took me a while to figure out what was going on but here are the results:
I understood that it was related to the upgrade
operation: if ArcGIS Powershell dsc was doing the install but the upgrade was done manually avoiding the following line, it works I had the 2 platform services:
https://github.com/Esri/arcgis-powershell-dsc/blob/4e1ea910cf3c237c378dfcfc1130a296de3c4bcb/Modules/ArcGIS/DSCResources/ArcGIS_ServerUpgrade/ArcGIS_ServerUpgrade.psm1#L110
Thinking the upgrade
request was done somehow differently, I recorded with Fiddler the request of the upgrade
done manually from the server manager (the one that works, ie I have the 2 platforms service at the end of the upgrade) and replayed it again after the installation done by ArcGIS Powershell dsc: it fails once again. So I came to the conclusion that by visiting the ArcGIS Manager, it had side consequences.
The manager is making the following requests:
https://geoeventserver.company.com:6443/arcgis/rest/info?f=json
https://geoeventserver.company.com:6443/arcgis/admin/security/config?f=json
https://geoeventserver.company.com:6443/arcgis/admin/mode?f=json
https://geoeventserver.company.com:6443/arcgis/admin/?f=json
https://geoeventserver.company.com:6443/arcgis/admin/publicKey?f=json
https://geoeventserver.company.com:6443/arcgis/admin/info?f=json
https://geoeventserver.company.com:6443/arcgis/admin/local?f=json
I tested them one by one:
upgrade
requestI found out that visiting the following URL:
https://geoeventserver.company.com:6443/arcgis/admin/local?f=json
before making the upgrade
request, it fixes the issue. So this GET request to arcgis/admin/local
has somehow side consequences !
Adding the following lines to the library just before the upgrade
request in ArcGIS/DSCResources/ArcGIS_ServerUpgrade/ArcGIS_ServerUpgrade.psm1#L110, solves the issue !
[string]$ServerLocalUrl = $ServerSiteURL.TrimEnd('/') + "/arcgis/admin/local"
Write-Verbose "Making request to $ServerLocalUrl to fix synchronisation platefeform missing after upgrading the site"
Invoke-ArcGISWebRequest -Url $ServerLocalUrl -HttpFormParameters @{f = 'json'} -Referer $Referer -Verbose
Do you observe the phenomena on your side ?
Thanks
Community Note
Module Version
Affected Resource(s)
Configuration Files
AnymousGeoEventDevDeployment.txt
Expected Behavior
Should be able to run the configuration after having upgraded the GeoEvent component from 11.1 to 11.3 that is to say, the plateform service "Zookeeper (Synchronization_Service)" should be deployed on ArcGIS Server following upgrade.
Actual Behavior
After successful upgrade of Geovent from 11.1 to 11.3 by running:
Invoke-ArcGISConfiguration -ConfigurationParametersFile C:\pathto\GisGeoEventDevDeployment.json -Credential (Get-Credential) -Mode Upgrade
Running the configuration again not in mode "Upgrade":
Invoke-ArcGISConfiguration -ConfigurationParametersFile C:\pathto\GisGeoEventDevDeployment.json -Credential (Get-Credential)
returns the following error:
PowerShell DSC resource ArcGIS_GeoEvent failed to execute Test-TargetResource functionality with error message: No Synchronization Service found in platform service
Here are the last lines of the log before failing:
Checking myself the Admin API of the ArcGIS Server, I confirm that in "admin/system/platformservices", there is only "Spark (Compute_Platform)" and the "Zookeeper (Synchronization_Service)" plateform service is missing.
Steps to Reproduce
Important Factoids
Upgrading manually Geoevent from 11.1 to 11.3 works: the "Zookeeper (Synchronization_Service)" plateform service exists after the upgrade.
References
I wonder if this issue could not be related to our private cloud Openstack. Last time I had an issue with ArcGIS Powershell DSC that I could not reproduce manually, it was the following issue: https://github.com/Esri/arcgis-powershell-dsc/issues/132
Any idea ? What could "unregister" this plateform service ?
Thanks !
/cc @ceddc