Updates for ZEDW

Hey all

So, I was working away on my Ziti network, when I got a popup saying the there was an update that was going to auto-install at a time, which I didn’t get to read before it disappeared. It then cut my Ziti updates. I then waited and created the connection again. After a few minutes, the process repeated itself.

image

Can the update process be changed, to ask if it is OK to apply the update without trying to auto-install without any notification?

Yes, that’s a feature we want to implement, it’s just not implemented yet. Currently the ZDEW will keep the client up to date when it detects a new version. The pop-up is supposed to give you a warning that it’s coming, but the screen shot looks to be the same time. That seems like a different bug. I don’t believe there’s a way to disable this feature entirely at this time.

Did you client successfully update? It’s strange that it happened for you twice, that’s definitely unexpected.

It appears it might have updated?! It says the client is 1.11.5, which is the latest client. That client is dated April which proceeds when I started to play around with Ziti (I think), so interesting that it decided to want to install. I didn’t see any sign that it was in fact installing anything, so was not sure when it was finished (if in fact installing).

So, a couple of thoughts (ie what do you think)?..
a) Since there is an updating mechanism already in the client, how about an option, like MAIN MENU > About > Check for Updates?
b) Can we have on the popup that shows identifying what version it is updating from and to?
c) Maybe some options to enable/disable auto-update (controller through Registry - Windows, config file - Linux, preferences file for Mac)
d) Maybe a yes/no button to proceed with update. I was working over ziti connection when it decided to update. We dont want someone working away on something critical (ie remotely applying updates for example), and Ziti decides to chop the update as it thinks it is more important than what you are doing LOL.

This would be quite surprising to me. The code to detect updates only has ever allowed upgrading, never down. The 2.0.0 client has had a couple of bugs in areas related to posture checks and as a result, we have marked it as a pre-release for now. Could you close the UI and open it again? The ZitiMonitorService logs should clearly indicate whether an update was detected or not. You can see the version of the service under Main Menu -> About. I've seen it (though it's rare) where the UI doesn't close but does get upgraded. Closing the app (or quitting the UI) is the best way to make sure it reports the proper version.
image

Yep. It's just a feature that needs to be implemented. I like your thoughtful and detailed outline of how it would work. Would you mind filing an issue on the repository at GitHub - openziti/desktop-edge-win: Provides a Ziti client for Windows? It does get a little tricky since each OS delivers applications slightly differently.

This seems like another bug to be honest. You should have had time to respond to the automatic upgrade event and close what you were working on. I'll file a bug for this. We'll have to test it and make sure.

Thanks for pointing me toward logs files

Correct - it was trying to update to the 2.0.0 client. I am still on the 1.11.5 client. Here are some interesting log file entries for the update around the time…

ZitiUpdateService20220621.log

2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.Checkers.GithubCheck	upgrade "2.0.0" is available. Published version: 2.0.0.0 is newer than the current version: 1.11.5.0	
[2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.UpdateService	update is available.	
[2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.UpdateService	copying update package	
[2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.Checkers.GithubCheck	ZDEInstaller is marked as critical because the major/minor version has changed	
[2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.UpdateService	package is in C:\Program Files (x86)\NetFoundry, Inc\Ziti Desktop Edge\updates\Ziti.Desktop.Edge.Client-2.0.0.exe - moving to install phase	
[2022-06-21T10:15:31.340Z]  INFO	ZitiUpdateService.Checkers.GithubCheck	download started for: https://github.com/openziti/desktop-edge-win/releases/download/2.0.0/Ziti.Desktop.Edge.Client-2.0.0.exe.sha256 to C:\Program Files (x86)\NetFoundry, Inc\Ziti Desktop Edge\updates\Ziti.Desktop.Edge.Client-2.0.0.exe.sha256	
[2022-06-21T10:15:32.246Z]  INFO	ZitiUpdateService.Checkers.GithubCheck	download complete to: C:\Program Files (x86)\NetFoundry, Inc\Ziti Desktop Edge\updates\Ziti.Desktop.Edge.Client-2.0.0.exe.sha256	
[2022-06-21T10:15:33.194Z]  INFO	ZitiUpdateService.Checkers.PeFile.SignedFileValidator	Certificates extracted: 3	
[2022-06-21T10:15:33.194Z]  INFO	ZitiUpdateService.Checkers.PeFile.SignedFileValidator	Checking certificate: [B521AA3C77C5DD2D5E2FE9E9D32FB23CD8444E77] [Subject]
  E=support@netfoundry.io, CN=NetFoundry Inc., O=NetFoundry Inc., STREET=101 S Tryon St Ste 2700, L=Charlotte, S=North Carolina, C=US, OID.1.3.6.1.4.1.3...

What is the killer is in the ZitiDesktopEdge log I get

[2022-06-21T10:15:35.931Z]  INFO	ZitiDesktopEdge.MainWindow	The monitor has indicated an upgrade is in progress. Shutting down the UI	
[2022-06-21T10:15:35.939Z]  WARN	ZitiDesktopEdge.MainWindow	unexpected exception in MonitorClient_OnShutdownEvent? The calling thread cannot access this object because a different thread owns it.	System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
   at System.Windows.Threading.Dispatcher.VerifyAccess()
   at System.Windows.Application.CriticalShutdown(Int32 exitCode)
   at ZitiDesktopEdge.MainWindow.MonitorClient_OnServiceStatusEvent(Object sender, MonitorServiceStatusEvent evt)
[2022-06-21T10:16:07.487Z]  INFO	ZitiDesktopEdge.MainWindow	============================== UI started ==============================	
[2022-06-21T10:16:07.530Z]  INFO	ZitiDesktopEdge.MainWindow	logger initialized	
[2022-06-21T10:16:07.530Z]  INFO	ZitiDesktopEdge.MainWindow	    - version   : 1.11.5.0	
[2022-06-21T10:16:07.530Z]  INFO	ZitiDesktopEdge.MainWindow	    - using file: True	
[2022-06-21T10:16:07.530Z]  INFO	ZitiDesktopEdge.MainWindow	========================================================================	
[2022-06-21T10:16:08.363Z]  INFO	ZitiDesktopEdge.ServiceClient.DataClient	service is down. attempting to connect to service...	
[2022-06-21T10:16:08.510Z]  INFO	ZitiDesktopEdge.MainWindow	Service is started	
[2022-06-21T10:16:24.664Z]  WARN	ZitiDesktopEdge.MainMenu	Could not get service version/revision?	System.NullReferenceException: Object reference not set to an instance of an object.
   at ZitiDesktopEdge.MainMenu.UpdateState()
[2022-06-21T10:16:38.639Z]  WARN	ZitiDesktopEdge.MainMenu	Could not get service version/revision?	System.NullReferenceException: Object reference not set to an instance of an object.
   at ZitiDesktopEdge.MainMenu.UpdateState()
[2022-06-21T10:16:45.087Z] ERROR	ZitiDesktopEdge.ServiceClient.DataClient	Unexpected error	System.IO.IOException: Unexpected error when sending data to service. Object reference not set to an instance of an object.
   at ZitiDesktopEdge.ServiceClient.AbstractClient.<sendAsync>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at ZitiDesktopEdge.ServiceClient.DataClient.<zitiDump>d__62.MoveNext()
[2022-06-21T10:17:03.386Z]  INFO	ZitiDesktopEdge.MainMenu	Log files found at : C:\Program Files (x86)\NetFoundry, Inc\Ziti Desktop Edge\logs\2022-06-21_221703.zip	
[2022-06-21T10:17:04.412Z]  INFO	ZitiDesktopEdge.MainMenu	Removing temp file: C:\Users\Kelvin.S\AppData\Local\Temp\133002802050443622-ziti.eml	
[2022-06-21T10:17:08.475Z]  INFO	ZitiDesktopEdge.ServiceClient.DataClient	reconnect has not completed and has been running for 1.00181787833333 minutes	
[2022-06-21T10:17:29.542Z]  INFO	ZitiDesktopEdge.ServiceClient.DataClient	reconnect has not completed and has been running for 1.35294928833333 minutes	
[2022-06-21T10:17:34.498Z]  INFO	ZitiDesktopEdge.MainWindow	============================== UI started ==============================	
[2022-06-21T10:17:34.533Z]  INFO	ZitiDesktopEdge.MainWindow	logger initialized	
[2022-06-21T10:17:34.533Z]  INFO	ZitiDesktopEdge.MainWindow	    - version   : 1.11.5.0	
...

I am not a local administrator on my machine, so if the installer is expecting that I am, then it will fail.

This log entry has also peaked my interest…

[2022-06-21T02:03:26.349Z]  WARN	ZitiUpdateService.UpdateService	dns probe failed due to error. This has happened 1020 times	DnsClient.DnsResponseException: Query 58766 => dew-dns-probe.openziti.org IN A on 100.64.0.1:53 timed out or is a transient error. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
   at DnsClient.DnsUdpMessageHandler.Query(IPEndPoint server, DnsRequestMessage request, TimeSpan timeout)

I can understand wanting to do a check, but it shouldn’t be resolving to 10.64.x.x as that would be my ziti network?

The automatic update is handled by the system itself. You need to be admin during the initial installation, after that you don't need to be.

Would you be willing to send me a full "Main Menu->Feedback" report? It gathers a bunch of system information, so please review it if you don't want to send it over. You can send it to help at openziti.org.

The logs you sent all seem "ok" believe it or not. It's not clear yet why your automatic update didn't update successfully. Right now 2.0.0 is 'unpublished' so it won't try to upgrade again but we are possibly going to roll out a 2.0.1 soon to address some bugs in various systems others have experienced.

This is harmless at this time other than adding to your logs. I'll file a ticket to remove or reinstate the probe.

Done - sent to help@…

It’s been a couple of days and I haven’t gotten the email. Did it perhaps bounce back? Checked my spam and I don’t see it in there either. Odd. 2.0.1 will hopefully be released tomorrow around 11 am ET (1400/3pm UTC).

If you don’t mind, one more time? If they still don’t make it, we’ll have to figure something else out to get them here

Just sent this through now.

they came through this time

I went to look at the desktop, but it has upgraded fine. I am now on 2.0.1.

FYI 2.1.2 is out now… and perhaps a 2.1.3 soon. The lack of being notified is a real bug though that I hope to be looking into soon

If you still have troubles, make sure you are running node v16.15.1+. The easiest thing for that is to install nvm and let it install it for you. This guide was helpful: https://heynode.com/tutorial/install-nodejs-locally-nvm/

@TheLumberjack - I think the last comment on the wrong thread LOL.

Also, yes, I have just updated to 2.1.2 with the same finese as the first one (ie I doing an update now…goodbye). Just saying this for completeness and understand this is a known issue. The reason why I think the last upgrade went smoothly was that it was not running, where it was this time (if you can follow that)

Whoops! Indeed. Thanks!

The update is “abrupt” right now. You’re supposed to get a notification, and a reminder and notification that it’ll happen in “2 hours” if you don’t do it now manually. It then should uninstall the old version, and install the new version. The install process also doesn’t re-open the UI either (another long-standing feature request that hasn’t been gratified yet, open the UI post upgrade)

Still, it should be “smooth” insofar as the upgrade will happen, and data services are restored seamlessly and the update happens. That’s the case, right? It upgrades your client - just “abruptly”, correct?

Correct. I glad you called out about auto-restarting the client as well - that was on my wish list to dicuss :slight_smile:

FYI - as per my 3rd party certs discussion, but related to this, is there a windows ziti.exe somewhere that should be installed?

I'm sorry, I'm not following what you mean. Oh - you want the ziti CLI available in windows? There's no powershell script equivalent yet for the ziti-cli-functions.sh yet. You can download from Release v0.31.0 · openziti/ziti · GitHub

Direct link as of Jun 29 https://github.com/openziti/ziti/releases/download/v0.25.13/ziti-windows-amd64-0.25.13.zip

Unzip that and it'll have ziti.exe in it

The next release will contain a change that allows you to ignore automatic updates for a configurable period. It’ll default to 7 days. You’ll also be reminded of the update via Windows Notification every 4 hours (also configurable if you don’t want to be nagged that much).

The next release is expected to come around the week of Aug 1st. After that, you can expect this functionality to be in place and functional again. When an update is about to happen you’ll see the tray icon changes:
image

And the app itself adds a note to the main menu:
image

And you’ll see:
image