-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] win_pkg weirdness in 3006.1 #64519
Comments
Hmm...actually I just confirmed it. Then I ran Since some installers have the same name, maybe it would be a good idea to have a versioned cache. Or just re-download the file every time.
Created a quick hacky state:
Running |
https/http caching..... see PR 61391 |
Nice. Looks like PR #61391 will do the job! |
Normally you would have |
Yeah--unfortunately TeamViewer doesn't release versioned MSI files. That hands you a generically named Since it's a stupid process requiring authentication and zip extraction, it's easier to just upload the I suppose I could rename it myself and toss a version number into the file...but then again, winrepo should probably just support clearing the cache (or the etags PR) and do the right thing as there are plenty of companies that don't release installers with version numbers (i.e. Chrome, Edge, etc...). |
Oh...and just using the tag 'latest'....I don't think that does what I want. If I use But then 2.0.0 gets released...and the system sees the |
@darkpixel most have version numbers even if the file does not have a version number, sometime you need to install it to find the version number. And then use this to include a name in the file. Having the version number in the file also allows you to role it out to pilot users first. |
win_pkg uses
|
Maybe I'm just not understanding what you're saying or I was unclear in my previous comment. From my brief testing, the caching mechanism doesn't seem to care about the version definition in winrepo. Then when I update the definition of I'm not saying that Salt won't try to upgrade it--just that there's the caching issue with the file. Because the URL to the file doesn't have anything unique in it, it doesn't change, and salt thinks it already has the latest copy downloaded. The etags PR should fix that for most sites and CDNs, and I checked my specific use-case and it fixes mine. Maybe for odd edge cases, it might be nice to have a parameter that can be passed to |
win_pkg does not use eTag option (its off by default) when it calls |
Right...hence the PR you mentioned that will bring etags support which will fix things in the case of the CDN I use. |
The If you're hosting these on your own file server, I would recommend adding the version number to the file name and updating the package definition file. Etag support was added in 3005, so it should be available in 3006.1. The |
Right. Again....if I have a package definition for something like That's fine for Chrome which keeps itself up-to-date automatically...but for terrible applications like TeamViewer it doesn't work. There is no updating to newer versions unless I put version numbers in the winrepo definition and either upload it to my CDN with a version number or delete the old cache files. |
When dealing with MSI files, msiexec doesn't care what the extension of the filename is, so you can add the version number as a parameter to the URL to invalidate the cache. i.e.
|
I believe the Above PR addresses the issue |
Description
win_pkg is behaving strangely when updating an application.
I have about 380 Windows minions all running 3006.1.
A new version of TeamViewer came out and I updated my custom definition.
I told all the minions to refresh the database.
I told all the minions to install the latest version.
Only ~130 out of the 380 updated the application...but all of them reported some level of success.
Setup
My
cait_teamviewer.sls
definition:Please be as specific as possible and give set-up details.
Steps to Reproduce the behavior
Here's one of the minions that failed to update:
After running that, I connect in to the machine and see an older version of TeamViewer installed.
If I run the Windows Installer manually:
...and I can sign in to the machine and see it's running the latest version.
Contrast all of that with a machine that worked correctly:
Expected behavior
I would expect it to either report an error (if there was one) or that the upgrade was successful, but it appears to be reporting a successful upgrade without showing the version numbers when it really didn't do anything.
Minions are all Windows 10 or Windows 11 64-bit machines.
The successful machines are a mix of Windows 10 and 11.
The failing machines are a mix of Windows 10 and 11.
I'm stumped as to why it only works on some machines, but my manual msiexec command (which appears to match what
pkg.installed
runs on successful machines) works perfectly.Is there a minion cache of installer files I'm unaware of that isn't updated by
pkg.refresh_db
?The text was updated successfully, but these errors were encountered: