Do not run slmgr.vbs on Nano Server
Licensing info and activation do not apply to Nano Server. Co-Authored-By: Cosmin Poieana <cpoieana@cloudbasesolutions.com> Change-Id: Icab01ab3e9d43be5f8be2920af803f6e294095c4 Closes-Bug: #1495306
This commit is contained in:
		 Alessandro Pilotti
					Alessandro Pilotti
				
			
				
					committed by
					
						 Cosmin Poieana
						Cosmin Poieana
					
				
			
			
				
	
			
			
			 Cosmin Poieana
						Cosmin Poieana
					
				
			
						parent
						
							69a18423f4
						
					
				
				
					commit
					1117441f32
				
			| @@ -60,12 +60,16 @@ class WindowsLicensingPlugin(base.BasePlugin): | |||||||
|     def execute(self, service, shared_data): |     def execute(self, service, shared_data): | ||||||
|         osutils = osutils_factory.get_os_utils() |         osutils = osutils_factory.get_os_utils() | ||||||
|  |  | ||||||
|         license_info = self._run_slmgr(osutils, ['/dlv']) |         if osutils.is_nano_server(): | ||||||
|         LOG.info('Microsoft Windows license info:\n%s' % license_info) |             LOG.info("Licensing info and activation are not available on " | ||||||
|  |                      "Nano Server") | ||||||
|  |         else: | ||||||
|  |             license_info = self._run_slmgr(osutils, ['/dlv']) | ||||||
|  |             LOG.info('Microsoft Windows license info:\n%s' % license_info) | ||||||
|  |  | ||||||
|         if CONF.activate_windows: |             if CONF.activate_windows: | ||||||
|             LOG.info("Activating Windows") |                 LOG.info("Activating Windows") | ||||||
|             activation_result = self._run_slmgr(osutils, ['/ato']) |                 activation_result = self._run_slmgr(osutils, ['/ato']) | ||||||
|             LOG.debug("Activation result:\n%s" % activation_result) |                 LOG.debug("Activation result:\n%s" % activation_result) | ||||||
|  |  | ||||||
|         return base.PLUGIN_EXECUTION_DONE, False |         return base.PLUGIN_EXECUTION_DONE, False | ||||||
|   | |||||||
| @@ -81,8 +81,9 @@ class WindowsLicensingPluginTests(unittest.TestCase): | |||||||
|     @mock.patch('cloudbaseinit.plugins.windows.licensing' |     @mock.patch('cloudbaseinit.plugins.windows.licensing' | ||||||
|                 '.WindowsLicensingPlugin._run_slmgr') |                 '.WindowsLicensingPlugin._run_slmgr') | ||||||
|     def _test_execute(self, mock_run_slmgr, mock_get_os_utils, |     def _test_execute(self, mock_run_slmgr, mock_get_os_utils, | ||||||
|                       activate_windows): |                       activate_windows=None, nano=False): | ||||||
|         mock_osutils = mock.MagicMock() |         mock_osutils = mock.MagicMock() | ||||||
|  |         mock_osutils.is_nano_server.return_value = nano | ||||||
|         run_slmgr_calls = [mock.call(mock_osutils, ['/dlv'])] |         run_slmgr_calls = [mock.call(mock_osutils, ['/dlv'])] | ||||||
|         mock_get_os_utils.return_value = mock_osutils |         mock_get_os_utils.return_value = mock_osutils | ||||||
|  |  | ||||||
| @@ -90,6 +91,8 @@ class WindowsLicensingPluginTests(unittest.TestCase): | |||||||
|             response = self._licensing.execute(service=None, shared_data=None) |             response = self._licensing.execute(service=None, shared_data=None) | ||||||
|  |  | ||||||
|         mock_get_os_utils.assert_called_once_with() |         mock_get_os_utils.assert_called_once_with() | ||||||
|  |         if nano: | ||||||
|  |             return    # no activation available | ||||||
|         if activate_windows: |         if activate_windows: | ||||||
|             run_slmgr_calls.append(mock.call(mock_osutils, ['/ato'])) |             run_slmgr_calls.append(mock.call(mock_osutils, ['/ato'])) | ||||||
|  |  | ||||||
| @@ -101,3 +104,6 @@ class WindowsLicensingPluginTests(unittest.TestCase): | |||||||
|  |  | ||||||
|     def test_execute_activate_windows_false(self): |     def test_execute_activate_windows_false(self): | ||||||
|         self._test_execute(activate_windows=False) |         self._test_execute(activate_windows=False) | ||||||
|  |  | ||||||
|  |     def test_execute_activate_windows_nano(self): | ||||||
|  |         self._test_execute(nano=True) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user