-
Notifications
You must be signed in to change notification settings - Fork 290
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
Windows Install #626
Comments
|
So you are actually talking about two different issues, both which I (believe, could be wrong) have been fixed but neither fixes have been published. So here's where we are at: "latest" doesn't exist because the repos that this module is looking at are out of date. If you use this on your linux hosts it will install old versions to boot. There's a ticket on this, but I don't know that it's been fixed yet (latest agent is technically 0.28 now, this installs 0.26 on linux). The "sensu client" issue is actually a bug as the module attempts to create a user even though Windows runs under local system in Windows and doesn't need this at all. I was actually told this was fixed, but never tested the latest master branch. So how do we fix it? Well you can either download directly from this repo and try to see if the new fixes actually work, or you can go "plan b" route which is what I did: create a separate class to create the sensu user. then, in the sensu class, set 'manage_user => false'. This basically tells this module you will control the creation of the account. Then use a "case" or similar statement to tell puppet to configure your sensu account with enough rights based on OS. Go ahead and give sensu "Real" rights in Linux, but on the windows boxes tell it to create a basic user and disable it. The Sensu agent doesn't even need it the account the module is just looking for it so this will pass that test. Bingo: windows agents install. Word of warning: do that on a DC and you end up with "sensu" as a domain user. Make sure you think that one through :) |
|
@Justin-DynamicD I'm not sure I follow. The windows package provider doesn't support "upgradeable" so latest will not work until that has been added. My concern is I think this needs to be addressed 2 ways: cc @cwjohnston |
#625 has been merged, thanks for that!
Setting a default version and checksum is probably a good idea. Depending on your point of view, this might be something that could wait until Sensu Core 1.0 ships, which we hope will be within the next few weeks.
I think ideally there would be an API to retrieve latest Sensu Core version, artifact URL(s), checksums, and so on, but we're not there yet. Maybe someday .... 🌴 |
|
@cwjohnston Thanks I think the API is nice but for people who want to maintain local artifacts it's probably not ideal to make external call. Preferably would probably be to move to a solution like publishing these packages to a nuget repository that can be mirrored internally and then can use The other option I think might be to have the package and package_checksum.txt published... use some method to retrieve the checksum from the contents of the |
Although it's intended as a workaround for now, we do have a redirect rule in place that should allow the hardcoded URL you mention to work for accessing the newer Sensu MSIs under the
We don't have any specific plans around this right now, but I think it would make a lot of sense. I'll bring it up with the team.
We have this metadata being generated already but it's not uploaded along side the MSI. I've opened sensu/package-deployer#12 to track this as a desired improvement. |
@cdenneen We've enhanced our package deployment process to include the JSON formatted metadata for MSI artifacts, e.g. http://repositories.sensuapp.org/msi/2012r2/sensu-0.28.5-2-x64.msi.metadata.json now reflects the checksum and other metadata generated by our build process. |
|
@jeffmccune what's the status on this since we merged your windows work? |
Looking into it now. |
|
@jeffmccune <https://github.com/jeffmccune> what's the status on this since we merged your windows work?
@ghoneycutt Recommend we close this as resolved.
Current status as of #699
sensu::version now defaults to `installed` on all platforms. Previously, it defaulted to `latest`. Symlinks have been added to https://repositories.sensuapp.org/msi/{2008,208r2,2012,2012r2,2016}/sensu-latest-{x86,x64}.msi <https://repositories.sensuapp.org/msi/> to facilitate support of sensu::version => latest. These symlinks should be updated as new versions are released.
The sensu::package class has been modified to handle `latest`. If sensu::windows_pkg_url is not specified and version is latest, the URL is computed from the os.release.major fact and the os.architecture fact. Package[sensu] is declared with ensure => installed and a source of the downloaded copy of the computed URL.
NB: When new upstream versions are released, they will not be automatically installed on Windows. That is to say, ensure => latest works, but has the same behavior as ensure => installed on Windows.
|
|
Thanks @jeffmccune @cdenneen please try release v2.8.0 and re-open if you have any issues. |
Doing the following:
include sensuDoesn't work on windows because it won't support
latest.Complains trying to create the
File['C:/opt/sensu/conf.d]'because ofPackage[sensu]dependency and I believe it's because of the package.pp usessensu::package_checksumfor remote_file to install and that isn't a valid parameter for the sensu class currently.#625 opened to fix this but appears travis hasn't been updated.
How is anyone installing this on Windows with this parameter missing?
The text was updated successfully, but these errors were encountered: