From 6f04f87a139c0ed844f56b4d9e70f71c096f4a66 Mon Sep 17 00:00:00 2001 From: Jordan Borean Date: Tue, 14 Jan 2020 11:22:39 +1000 Subject: [PATCH] Deprecate Windows 2008, and 2008 R2 (#66257) * Deprecate Windows 2008, and 2008 R2 * Remove shippable nodes * Update windows_faq.rst Be less specific about 2008/R2 timeframes * Update setup.ps1 tweak warning text Co-authored-by: Matt Davis --- changelogs/fragments/server2008-dep.yaml | 2 ++ .../rst/porting_guides/porting_guide_2.10.rst | 2 +- docs/docsite/rst/user_guide/windows_faq.rst | 14 +++++++++++--- lib/ansible/modules/windows/setup.ps1 | 8 ++++++++ shippable.yml | 14 -------------- 5 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 changelogs/fragments/server2008-dep.yaml diff --git a/changelogs/fragments/server2008-dep.yaml b/changelogs/fragments/server2008-dep.yaml new file mode 100644 index 00000000000..c4192336fe0 --- /dev/null +++ b/changelogs/fragments/server2008-dep.yaml @@ -0,0 +1,2 @@ +minor_changes: +- Windows - add deprecation notice in the Windows setup module when running on Server 2008, 2008 R2, and Windows 7 diff --git a/docs/docsite/rst/porting_guides/porting_guide_2.10.rst b/docs/docsite/rst/porting_guides/porting_guide_2.10.rst index c4cf9030bd9..960d14b51c3 100644 --- a/docs/docsite/rst/porting_guides/porting_guide_2.10.rst +++ b/docs/docsite/rst/porting_guides/porting_guide_2.10.rst @@ -31,7 +31,7 @@ No notable changes Deprecated ========== -No notable changes +* Windows Server 2008 and 2008 R2 will no longer be supported or tested in the next Ansible release, see :ref:`windows_faq_server2008`. Modules diff --git a/docs/docsite/rst/user_guide/windows_faq.rst b/docs/docsite/rst/user_guide/windows_faq.rst index 5c9da043bc4..3f58b874195 100644 --- a/docs/docsite/rst/user_guide/windows_faq.rst +++ b/docs/docsite/rst/user_guide/windows_faq.rst @@ -14,19 +14,27 @@ Does Ansible work with Windows XP or Server 2003? `````````````````````````````````````````````````` Ansible does not work with Windows XP or Server 2003 hosts. Ansible does work with these Windows operating system versions: -* Windows Server 2008 -* Windows Server 2008 R2 +* Windows Server 2008 :sup:`1` +* Windows Server 2008 R2 :sup:`1` * Windows Server 2012 * Windows Server 2012 R2 * Windows Server 2016 * Windows Server 2019 -* Windows 7 +* Windows 7 :sup:`1` * Windows 8.1 * Windows 10 +1 - See the :ref:`Server 2008 FAQ ` entry for more details. + Ansible also has minimum PowerShell version requirements - please see :ref:`windows_setup` for the latest information. +.. _windows_faq_server2008: + +Are Server 2008, 2008 R2 and Windows 7 supported? +````````````````````````````````````````````````` +Microsoft ended Extended Support for these versions of Windows on January 14th, 2020, and Ansible deprecated official support in the 2.10 release. No new feature development will occur targeting these operating systems, and automated testing has ceased. However, existing modules and features will likely continue to work, and simple pull requests to resolve issues with these Windows versions may be accepted. + Can I manage Windows Nano Server with Ansible? `````````````````````````````````````````````` Ansible does not currently work with Windows Nano Server, since it does diff --git a/lib/ansible/modules/windows/setup.ps1 b/lib/ansible/modules/windows/setup.ps1 index 83daf117fdf..50647239860 100644 --- a/lib/ansible/modules/windows/setup.ps1 +++ b/lib/ansible/modules/windows/setup.ps1 @@ -140,6 +140,14 @@ $ansible_facts = @{ $osversion = [Environment]::OSVersion +if ($osversion.Version -lt [version]"6.2") { + # Server 2008, 2008 R2, and Windows 7 are not tested in CI and we want to let customers know about it before + # removing support altogether. + $version_string = "{0}.{1}" -f ($osversion.Version.Major, $osversion.Version.Minor) + $msg = "Windows version '$version_string' will no longer be supported or tested in the next Ansible release" + Add-DeprecationWarning -obj $result -message $msg -version "2.11" +} + if($gather_subset.Contains('all_ipv4_addresses') -or $gather_subset.Contains('all_ipv6_addresses')) { $netcfg = Get-LazyCimInstance Win32_NetworkAdapterConfiguration diff --git a/shippable.yml b/shippable.yml index 507296fdc5a..cfd25f0051f 100644 --- a/shippable.yml +++ b/shippable.yml @@ -28,50 +28,36 @@ matrix: - env: T=units/3.7/2 - env: T=units/3.8/2 - - env: T=windows/2008/1 - - env: T=windows/2008-R2/1 - env: T=windows/2012/1 - env: T=windows/2012-R2/1 - env: T=windows/2016/1 - env: T=windows/2019/1 - - env: T=windows/2008/2 - - env: T=windows/2008-R2/2 - env: T=windows/2012/2 - env: T=windows/2012-R2/2 - env: T=windows/2016/2 - env: T=windows/2019/2 - - env: T=windows/2008/3 - - env: T=windows/2008-R2/3 - env: T=windows/2012/3 - env: T=windows/2012-R2/3 - env: T=windows/2016/3 - env: T=windows/2019/3 - - env: T=windows/2008/4 - - env: T=windows/2008-R2/4 - env: T=windows/2012/4 - env: T=windows/2012-R2/4 - env: T=windows/2016/4 - env: T=windows/2019/4 - - env: T=windows/2008/5 - - env: T=windows/2008-R2/5 - env: T=windows/2012/5 - env: T=windows/2012-R2/5 - env: T=windows/2016/5 - env: T=windows/2019/5 - - env: T=windows/2008/6 - - env: T=windows/2008-R2/6 - env: T=windows/2012/6 - env: T=windows/2012-R2/6 - env: T=windows/2016/6 - env: T=windows/2019/6 - - env: T=windows/2008/7 - - env: T=windows/2008-R2/7 - env: T=windows/2012/7 - env: T=windows/2012-R2/7 - env: T=windows/2016/7