Off-topic, but relevant to Ansible CM ...

On Fri, Feb 11, 2022 at 1:31 PM Sergio Belkin <[email protected]> wrote:

> Every time that I read about "automation" I wonder if something that knows
> little or nothing about Linux can take advantage of it...
>

PowerShell (originally called MONAD nearly 20 years ago), which is based on
.NET (which is originally based on several cross-licenses of Java v1.1 and
v1.4 aka Java2 , and its core class libraries), is pretty much becoming the
defacto standard in the Windows world, and almost the direct equivalent to
Python in Linux -- especially since Python is very close to Java, but Java,
unlike Python and PowerShell, doesn't have an interactive option (at least
not officially).

There is even Windows Server Nano Edition now, which finally does away with
the NT GDI, which means it breaks every single application ever developed
with Visual Studio / WinForms, even console NT programs which still had a
GDI root -- hence why Windows Server Core Edition still boots a GUI with a
GDI, unlike Nano Edition.

PowerShell is how Ansible can manage Windows, via the optional Windows SSH
service.  This is also why Ansible is very limited on Windows because,
whereas Ansible can and does push down Python, even if Ansible isn't
installed on a remote host, most GNU/Linux hosts still have Python, Windows
modules in Ansible are in PowerShell.  So the Ansible Engine running
Playbooks must push down PowerShell modules for Windows.

The biggest problem is that Microsoft doesn't know the first thing about
how to package and distribute things properly for GNU/Linux.  Red Hat, who
has been Microsoft's core partner since 2015, as even Microsoft certified
ISVs have to demonstrate they also have a Red Hat certified ISV components,
has had serious issues with this ... including with Microsoft itself.  This
is even the case where Red Hat does all the work for Microsoft, like
packaging .NET Core for their Azure team.

Microsoft itself ignores that .NET Core for RHEL/CentOS Stream exists, and
uses their own distribution of .NET Core, which forces all sorts of
dependencies that aren't in RHEL/CentOS Stream, or even Application Streams
or EPEL for that matter.  So it becomes an unmaintainable load of crap
where you're building from source anyway.  Even Canonical has given up with
Microsoft in many areas a well for their Ubuntu Tooling.

Hence ... you're both wrong (there is automation) ... and right (it's
utterly useless out-of-the-box in 9 out of 10 cases).

- bjs

P.S.  On the Windows Services for Linux (WSL) front, services aren't
integrated (no systemd or even SysV init), so trying to use Ansible to
manage WSL instances is a crapshoot.  I basically have to have WSL users
pull down a ZIP file with our Ansible roles and those roles have endless
conditionals for WSL to skip various tasks, handlers ... even the entire
role!  E.g.,

  when:  ansible_kernel.find('Microsoft') != -1



-- 
Bryan J Smith  -  http://www.linkedin.com/in/bjsmith
E-mail:  b.j.smith at ieee.org  or  me at bjsmith.me
_______________________________________________
lpi-examdev mailing list
[email protected]
https://list.lpi.org/mailman/listinfo/lpi-examdev

Reply via email to