Jira (FACT-2790) Align Windows OS facts with Linux equivalent

14 views
Skip to first unread message

Marc McKinley (Jira)

unread,
Sep 3, 2020, 12:57:04 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
 
Facter / Improvement FACT-2790
Align Windows OS facts with Linux equivalent
Change By: Marc McKinley
Hey Folks,

First of - Really happy to see more detailed windows operating system fact information, so kudos for you folks! (y)

However, it would be _really_ great if we could now align windows operating system facts more closely with linux.

*Example:*

Right now if you put these these two facts together: ${::operatingsystem} ${::operatingsystemmajrelease} in a puppet manifest on a windows and linux box you'll get something like this:

* Linux:           "Centos 8"
Windows:   "windows 2019"
*

This is technically incorrect ^ The windows fact ${::operatingsystem} should really read "Windows Server" rather than "windows". Windows is essentially the family name rather than operating system name (when we're referring to Windows Server). So the example above should show "Windows Server 2019".

I assume this isn't a problem when managing Windows desktop operating systems i.e. "windows 10" but the majority of customers are running Windows Server, so I think we should address this.

One other small thing (in terms of consistency) - "windows" has a lowercase 'W' whereas this isn't the case with Linux based OSes.

These issues may seem small but they have a noticeable mental impact on Windows customers & help reinforce "the general market opinion" that puppet only cares about or prefers linux.

I've noticed this issue a few weeks ago but this was also raised today by one of my customers - Willis Tower Watson (https://puppet.my.salesforce.com/0010f00002JKxP2). They have a 1K node windows estate with opportunities to expand. No linux nodes apart from puppet infrastructure.

I've attached a comparison screenshot of operating system facts on linux & windows.

Thanks
Marc
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Marc McKinley (Jira)

unread,
Sep 3, 2020, 12:57:04 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley created an issue
Issue Type: Improvement Improvement
Assignee: Unassigned
Attachments: win-lin-facts.png
Created: 2020/09/03 9:56 AM
Priority: Normal Normal
Reporter: Marc McKinley

Hey Folks,

First of - Really happy to see more detailed windows operating system fact information, so kudos for you folks!

However, it would be really great if we could now align windows operating system facts more closely with linux.

Example:

Right now if you put these these two facts together: ${::operatingsystem} ${::operatingsystemmajrelease} in a puppet manifest on a windows and linux box you'll get something like this:

Linux:        "Centos 8"
Windows:   "windows 2019"

This is technically incorrect ^ The windows fact ${::operatingsystem} should really read "Windows Server" rather than "windows". Windows is essentially the family name rather than operating system name (when we're referring to Windows Server). So the example above should show "Windows Server 2019".

I assume this isn't a problem when managing Windows desktop operating systems i.e. "windows 10" but the majority of customers are running Windows Server, so I think we should address this.

One other small thing (in terms of consistency) - "windows" has a lowercase 'W' whereas this isn't the case with Linux based OSes.

These issues may seem small but they have a noticeable mental impact on Windows customers & help reinforce "the general market opinion" that puppet only cares about or prefers linux.

I've noticed this issue a few weeks ago but this was also raised today by one of my customers - Willis Tower Watson (https://puppet.my.salesforce.com/0010f00002JKxP2). They have a 1K node windows estate with opportunities to expand. No linux nodes apart from puppet infrastructure.

I've attached a comparison screenshot of operating system facts on linux & windows.

Thanks
Marc

Marc McKinley (Jira)

unread,
Sep 3, 2020, 12:58:03 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
Change By: Marc McKinley
Hey Folks,

First of - Really happy to see more detailed windows operating system fact information, so kudos for you folks! (y)

However, it would be _really_ great if we could now align windows operating system facts more closely with linux.

*Example:*


Right now if you put these these two facts together: ${::operatingsystem} ${::operatingsystemmajrelease} in a puppet manifest on a windows and linux box you'll get something like this:

*Linux:           "Centos 8" *
* Windows:   "windows 2019"*


This is technically incorrect ^ The windows fact ${::operatingsystem} should really read "Windows Server" rather than "windows". Windows is essentially the family name rather than operating system name (when we're referring to Windows Server). So the example above should show "Windows Server 2019".

I assume this isn't a problem when managing Windows desktop operating systems i.e. "windows 10" but the majority of customers are running Windows Server, so I think we should address this.

One other small thing (in terms of consistency) - "windows" has a lowercase 'W' whereas this isn't the case with Linux based OSes.

These issues may seem small but they have a noticeable mental impact on Windows customers & help reinforce "the general market opinion" that puppet only cares about or prefers linux.

I've noticed this issue a few weeks ago but this was also raised today by one of my customers - Willis Tower Watson (https://puppet.my.salesforce.com/0010f00002JKxP2). They have a 1K node windows estate with opportunities to expand. No linux nodes apart from puppet infrastructure.

I've attached a comparison screenshot of operating system facts on linux & windows.

Thanks
Marc

Marc McKinley (Jira)

unread,
Sep 3, 2020, 1:04:04 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
Hey Folks,

First of - Really happy to see more detailed windows operating system fact information, so kudos for you folks! (y)

However, it would be _really_ great if we could now align windows operating system facts more closely with linux.

*Example:*

Right now if you put these these two facts together: ${::operatingsystem} ${::operatingsystemmajrelease} in a puppet manifest on a windows and linux box you'll get something like this:

* {{ Linux:           "Centos 8" * }}
* {{ Windows:   "windows 2019" * }}


This is technically incorrect ^ The windows fact ${::operatingsystem} should really read
*{{ "Windows Server" }}* rather than *{{ "windows" }}"* . Windows is essentially the family name rather than operating system name (when we're referring to Windows Server). So the example above should show *{{ "Windows Server 2019" }}* .


I assume this isn't a problem when managing Windows desktop operating systems i.e.
" windows 10 " but the majority of customers are running Windows Server, so I think we should address this.


One other small thing (in terms of consistency) -
{{ "windows" }} has a lowercase 'W' whereas this isn't the case with Linux based OSes.

These issues may seem small but they have a noticeable mental impact on Windows customers & help reinforce "the general market opinion" that puppet only cares about or prefers linux.

I've noticed this issue a few weeks ago but this was also raised today by one of my customers - Willis Tower Watson (https://puppet.my.salesforce.com/0010f00002JKxP2). They have a 1K node windows estate with opportunities to expand. No linux nodes apart from puppet infrastructure.

I've attached a comparison screenshot of operating system facts on linux & windows.

Thanks
Marc

Marc McKinley (Jira)

unread,
Sep 3, 2020, 1:08:04 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
Hey Folks,

First of - Really happy to see more detailed windows operating system fact information, so kudos for you folks! (y)

However, it would be _really_ great if we could now align windows operating system facts more closely with linux.

*Example:*

Right now if you put these these two facts together: ${::operatingsystem} ${::operatingsystemmajrelease} in a puppet manifest on a windows and linux box you'll get something like this:

* {{Linux:           "Centos 8"}} *
* {{Windows:   "windows 2019"}} *


This is technically incorrect ^ The windows fact ${::operatingsystem} should really read *{{"Windows Server"}}* rather than *{{"windows"}}"*. Windows is essentially the family name rather than operating system name (when we're referring to Windows Server). So the example above should show *{{"Windows Server 2019"}}*.

I assume this isn't a problem when managing Windows desktop operating systems i.e.
*{{   windows 10 }}* but the majority of customers are running Windows Server, so I think we should address this.

One other small thing (in terms of consistency)
- * {{"windows"}} * has a lowercase * ' W w ' whereas this isn't the case with Linux based OSes.


These issues may seem small but they have a noticeable mental impact on Windows customers & help reinforce "the general market opinion" that puppet only cares about or prefers linux.

I've noticed this issue a few weeks ago but this was also raised today by one of my customers - Willis Tower Watson ( [ https://puppet.my.salesforce.com/0010f00002JKxP2 ] ). They have a 1K node windows estate with opportunities to expand. No linux nodes apart from puppet infrastructure.


I've attached a comparison screenshot of operating system facts on linux & windows.

Thanks
Marc

Marc McKinley (Jira)

unread,
Sep 3, 2020, 1:09:03 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
Change By: Marc McKinley
Priority: Normal High

Marc McKinley (Jira)

unread,
Sep 3, 2020, 1:10:03 PM9/3/20
to puppe...@googlegroups.com
Marc McKinley updated an issue
Change By: Marc McKinley
Priority: High Medium

Mihai Buzgau (Jira)

unread,
Sep 7, 2020, 7:46:04 AM9/7/20
to puppe...@googlegroups.com
Mihai Buzgau commented on Improvement FACT-2790
 
Re: Align Windows OS facts with Linux equivalent

Hi Marc McKinley

Thank you for the feedback.

Making the changes that you've mentioned, from facters perspective, is fairly easy. However, the operatingsystem is one of the most widely used fact in Modules, a quick search shows that:

  • it's being used more than 4000 times in our github organizations, 
  • it's being used more than 200 times in the voxpupuli github organization

Based on this, changing the fact value - either by adding the type or changing the capitalization could have dire consequences.

Please note that just on Windows we do provide extra facts (os.windows) that contain information about the operating system like the edition, the installation type, the product name. Here you've got a blog post from our colleague John  O'Conner that provides some insight into these core facts: https://puppet.com/blog/new-puppet-facts-for-windows/

 

 

 

Reply all
Reply to author
Forward
0 new messages