From c5ebf8deecaca633695a73af903def94b7825e66 Mon Sep 17 00:00:00 2001 From: Claudiu Popa Date: Thu, 20 Nov 2014 10:48:37 +0200 Subject: [PATCH] Move non-Windows specific plugins to common Most of the Windows-specific plugins were able to work on other platforms as well, as long as osutils provides the relevant functionalities. This restructuring is an effort for helping future additions of other platforms. Change-Id: I21a35eb6eb8e2439cfdf861c59afc51c3618a779 --- cloudbaseinit/init.py | 4 +-- cloudbaseinit/plugins/{ => common}/base.py | 0 .../plugins/{ => common}/constants.py | 0 .../plugins/{windows => common}/createuser.py | 4 +-- cloudbaseinit/plugins/{ => common}/factory.py | 18 +++++------ .../{windows => common}/fileexecutils.py | 0 .../{windows => common}/localscripts.py | 4 +-- .../plugins/{windows => common}/mtu.py | 2 +- .../{windows => common}/networkconfig.py | 2 +- .../plugins/{windows => common}/ntpclient.py | 2 +- .../{windows => common}/sethostname.py | 2 +- .../{windows => common}/setuserpassword.py | 6 ++-- .../{windows => common}/sshpublickeys.py | 4 +-- .../plugins/{windows => common}/userdata.py | 6 ++-- .../userdataplugins/__init__.py | 0 .../userdataplugins/base.py | 0 .../userdataplugins/cloudboothook.py | 2 +- .../userdataplugins/cloudconfig.py | 4 +-- .../cloudconfigplugins/__init__.py | 0 .../cloudconfigplugins/base.py | 0 .../cloudconfigplugins/factory.py | 2 +- .../cloudconfigplugins/write_files.py | 2 +- .../userdataplugins/factory.py | 12 +++---- .../userdataplugins/heat.py | 4 +-- .../userdataplugins/multipartmixed.py | 2 +- .../userdataplugins/parthandler.py | 2 +- .../userdataplugins/shellscript.py | 4 +-- .../{windows => common}/userdatautils.py | 0 .../plugins/windows/extendvolumes.py | 2 +- cloudbaseinit/plugins/windows/licensing.py | 2 +- .../plugins/windows/winrmcertificateauth.py | 4 +-- .../plugins/windows/winrmlistener.py | 2 +- .../{windows => common}/test_createuser.py | 6 ++-- .../{windows => common}/test_fileexecutils.py | 2 +- .../{windows => common}/test_localscripts.py | 8 ++--- .../{windows => common}/test_networkconfig.py | 4 +-- .../{windows => common}/test_ntpclient.py | 10 +++--- .../{windows => common}/test_sethostname.py | 4 +-- .../test_setuserpassword.py | 14 ++++---- .../{windows => common}/test_sshpublickeys.py | 6 ++-- .../{windows => common}/test_userdata.py | 32 +++++++++---------- .../{windows => common}/test_userdatautils.py | 7 ++-- .../userdataplugins/__init__.py | 0 .../userdataplugins/test_cloudboothook.py | 7 ++-- .../userdataplugins/test_cloudconfig.py | 5 +-- .../userdataplugins/test_factory.py | 5 +-- .../userdataplugins/test_heat.py | 6 ++-- .../userdataplugins/test_parthandler.py | 7 ++-- .../userdataplugins/test_shellscript.py | 7 ++-- cloudbaseinit/tests/plugins/test_factory.py | 2 +- .../tests/plugins/windows/test_licensing.py | 2 +- .../tests/plugins/windows/test_mtu.py | 6 ++-- .../windows/test_winrmcertificateauth.py | 8 ++--- .../plugins/windows/test_winrmlistener.py | 3 +- cloudbaseinit/tests/test_init.py | 4 +-- 55 files changed, 121 insertions(+), 132 deletions(-) rename cloudbaseinit/plugins/{ => common}/base.py (100%) rename cloudbaseinit/plugins/{ => common}/constants.py (100%) rename cloudbaseinit/plugins/{windows => common}/createuser.py (96%) rename cloudbaseinit/plugins/{ => common}/factory.py (71%) rename cloudbaseinit/plugins/{windows => common}/fileexecutils.py (100%) rename cloudbaseinit/plugins/{windows => common}/localscripts.py (93%) rename cloudbaseinit/plugins/{windows => common}/mtu.py (97%) rename cloudbaseinit/plugins/{windows => common}/networkconfig.py (98%) rename cloudbaseinit/plugins/{windows => common}/ntpclient.py (98%) rename cloudbaseinit/plugins/{windows => common}/sethostname.py (98%) rename cloudbaseinit/plugins/{windows => common}/setuserpassword.py (96%) rename cloudbaseinit/plugins/{windows => common}/sshpublickeys.py (94%) rename cloudbaseinit/plugins/{windows => common}/userdata.py (97%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/__init__.py (100%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/base.py (100%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudboothook.py (94%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudconfig.py (95%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudconfigplugins/__init__.py (100%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudconfigplugins/base.py (100%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudconfigplugins/factory.py (93%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/cloudconfigplugins/write_files.py (98%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/factory.py (74%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/heat.py (93%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/multipartmixed.py (92%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/parthandler.py (96%) rename cloudbaseinit/plugins/{windows => common}/userdataplugins/shellscript.py (92%) rename cloudbaseinit/plugins/{windows => common}/userdatautils.py (100%) rename cloudbaseinit/tests/plugins/{windows => common}/test_createuser.py (94%) rename cloudbaseinit/tests/plugins/{windows => common}/test_fileexecutils.py (97%) rename cloudbaseinit/tests/plugins/{windows => common}/test_localscripts.py (90%) rename cloudbaseinit/tests/plugins/{windows => common}/test_networkconfig.py (98%) rename cloudbaseinit/tests/plugins/{windows => common}/test_ntpclient.py (95%) rename cloudbaseinit/tests/plugins/{windows => common}/test_sethostname.py (97%) rename cloudbaseinit/tests/plugins/{windows => common}/test_setuserpassword.py (94%) rename cloudbaseinit/tests/plugins/{windows => common}/test_sshpublickeys.py (94%) rename cloudbaseinit/tests/plugins/{windows => common}/test_userdata.py (92%) rename cloudbaseinit/tests/plugins/{windows => common}/test_userdatautils.py (94%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/__init__.py (100%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_cloudboothook.py (85%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_cloudconfig.py (94%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_factory.py (89%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_heat.py (93%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_parthandler.py (90%) rename cloudbaseinit/tests/plugins/{windows => common}/userdataplugins/test_shellscript.py (91%) diff --git a/cloudbaseinit/init.py b/cloudbaseinit/init.py index b5370c2d..67f7b08a 100644 --- a/cloudbaseinit/init.py +++ b/cloudbaseinit/init.py @@ -19,8 +19,8 @@ from oslo.config import cfg from cloudbaseinit.metadata import factory as metadata_factory from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base as plugins_base -from cloudbaseinit.plugins import factory as plugins_factory +from cloudbaseinit.plugins.common import base as plugins_base +from cloudbaseinit.plugins.common import factory as plugins_factory opts = [ cfg.BoolOpt('allow_reboot', default=True, help='Allows OS reboots ' diff --git a/cloudbaseinit/plugins/base.py b/cloudbaseinit/plugins/common/base.py similarity index 100% rename from cloudbaseinit/plugins/base.py rename to cloudbaseinit/plugins/common/base.py diff --git a/cloudbaseinit/plugins/constants.py b/cloudbaseinit/plugins/common/constants.py similarity index 100% rename from cloudbaseinit/plugins/constants.py rename to cloudbaseinit/plugins/common/constants.py diff --git a/cloudbaseinit/plugins/windows/createuser.py b/cloudbaseinit/plugins/common/createuser.py similarity index 96% rename from cloudbaseinit/plugins/windows/createuser.py rename to cloudbaseinit/plugins/common/createuser.py index a08c9661..6432f318 100644 --- a/cloudbaseinit/plugins/windows/createuser.py +++ b/cloudbaseinit/plugins/common/createuser.py @@ -16,8 +16,8 @@ from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins import constants +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import constants opts = [ cfg.StrOpt('username', default='Admin', help='User to be added to the ' diff --git a/cloudbaseinit/plugins/factory.py b/cloudbaseinit/plugins/common/factory.py similarity index 71% rename from cloudbaseinit/plugins/factory.py rename to cloudbaseinit/plugins/common/factory.py index 943e78aa..fbaa532a 100644 --- a/cloudbaseinit/plugins/factory.py +++ b/cloudbaseinit/plugins/common/factory.py @@ -20,23 +20,23 @@ opts = [ cfg.ListOpt( 'plugins', default=[ - 'cloudbaseinit.plugins.windows.mtu.MTUPlugin', - 'cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin', - 'cloudbaseinit.plugins.windows.sethostname.SetHostNamePlugin', - 'cloudbaseinit.plugins.windows.createuser.CreateUserPlugin', - 'cloudbaseinit.plugins.windows.networkconfig.NetworkConfigPlugin', + 'cloudbaseinit.plugins.common.mtu.MTUPlugin', + 'cloudbaseinit.plugins.common.ntpclient.NTPClientPlugin', + 'cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin', + 'cloudbaseinit.plugins.common.createuser.CreateUserPlugin', + 'cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin', 'cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin', - 'cloudbaseinit.plugins.windows.sshpublickeys.' + 'cloudbaseinit.plugins.common.sshpublickeys.' 'SetUserSSHPublicKeysPlugin', 'cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin', - 'cloudbaseinit.plugins.windows.userdata.UserDataPlugin', - 'cloudbaseinit.plugins.windows.setuserpassword.' + 'cloudbaseinit.plugins.common.userdata.UserDataPlugin', + 'cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin', 'cloudbaseinit.plugins.windows.winrmlistener.' 'ConfigWinRMListenerPlugin', 'cloudbaseinit.plugins.windows.winrmcertificateauth.' 'ConfigWinRMCertificateAuthPlugin', - 'cloudbaseinit.plugins.windows.localscripts.LocalScriptsPlugin', + 'cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin', ], help='List of enabled plugin classes, ' 'to executed in the provided order'), diff --git a/cloudbaseinit/plugins/windows/fileexecutils.py b/cloudbaseinit/plugins/common/fileexecutils.py similarity index 100% rename from cloudbaseinit/plugins/windows/fileexecutils.py rename to cloudbaseinit/plugins/common/fileexecutils.py diff --git a/cloudbaseinit/plugins/windows/localscripts.py b/cloudbaseinit/plugins/common/localscripts.py similarity index 93% rename from cloudbaseinit/plugins/windows/localscripts.py rename to cloudbaseinit/plugins/common/localscripts.py index c3165dbc..01aacbf4 100644 --- a/cloudbaseinit/plugins/windows/localscripts.py +++ b/cloudbaseinit/plugins/common/localscripts.py @@ -16,8 +16,8 @@ import os from oslo.config import cfg -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import fileexecutils +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import fileexecutils opts = [ cfg.StrOpt('local_scripts_path', default=None, diff --git a/cloudbaseinit/plugins/windows/mtu.py b/cloudbaseinit/plugins/common/mtu.py similarity index 97% rename from cloudbaseinit/plugins/windows/mtu.py rename to cloudbaseinit/plugins/common/mtu.py index e2f25b15..94a683ad 100644 --- a/cloudbaseinit/plugins/windows/mtu.py +++ b/cloudbaseinit/plugins/common/mtu.py @@ -18,7 +18,7 @@ from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base from cloudbaseinit.utils import dhcp opts = [ diff --git a/cloudbaseinit/plugins/windows/networkconfig.py b/cloudbaseinit/plugins/common/networkconfig.py similarity index 98% rename from cloudbaseinit/plugins/windows/networkconfig.py rename to cloudbaseinit/plugins/common/networkconfig.py index 88036f1f..30d7b2e0 100644 --- a/cloudbaseinit/plugins/windows/networkconfig.py +++ b/cloudbaseinit/plugins/common/networkconfig.py @@ -17,7 +17,7 @@ from cloudbaseinit import exception from cloudbaseinit.metadata.services import base as service_base from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base as plugin_base +from cloudbaseinit.plugins.common import base as plugin_base LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/ntpclient.py b/cloudbaseinit/plugins/common/ntpclient.py similarity index 98% rename from cloudbaseinit/plugins/windows/ntpclient.py rename to cloudbaseinit/plugins/common/ntpclient.py index 3e8ea230..f750e8d2 100644 --- a/cloudbaseinit/plugins/windows/ntpclient.py +++ b/cloudbaseinit/plugins/common/ntpclient.py @@ -20,7 +20,7 @@ from oslo.config import cfg from cloudbaseinit import exception from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base from cloudbaseinit.utils import dhcp opts = [ diff --git a/cloudbaseinit/plugins/windows/sethostname.py b/cloudbaseinit/plugins/common/sethostname.py similarity index 98% rename from cloudbaseinit/plugins/windows/sethostname.py rename to cloudbaseinit/plugins/common/sethostname.py index ed72d2ad..13ce96ad 100644 --- a/cloudbaseinit/plugins/windows/sethostname.py +++ b/cloudbaseinit/plugins/common/sethostname.py @@ -19,7 +19,7 @@ from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base opts = [ cfg.BoolOpt('netbios_host_name_compatibility', default=True, diff --git a/cloudbaseinit/plugins/windows/setuserpassword.py b/cloudbaseinit/plugins/common/setuserpassword.py similarity index 96% rename from cloudbaseinit/plugins/windows/setuserpassword.py rename to cloudbaseinit/plugins/common/setuserpassword.py index ed9ee439..9e8dba79 100644 --- a/cloudbaseinit/plugins/windows/setuserpassword.py +++ b/cloudbaseinit/plugins/common/setuserpassword.py @@ -18,8 +18,8 @@ from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins import constants +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import constants from cloudbaseinit.utils import crypt @@ -31,7 +31,7 @@ opts = [ CONF = cfg.CONF CONF.register_opts(opts) -CONF.import_opt('username', 'cloudbaseinit.plugins.windows.createuser') +CONF.import_opt('username', 'cloudbaseinit.plugins.common.createuser') LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/sshpublickeys.py b/cloudbaseinit/plugins/common/sshpublickeys.py similarity index 94% rename from cloudbaseinit/plugins/windows/sshpublickeys.py rename to cloudbaseinit/plugins/common/sshpublickeys.py index 56dbb4fc..3cf66200 100644 --- a/cloudbaseinit/plugins/windows/sshpublickeys.py +++ b/cloudbaseinit/plugins/common/sshpublickeys.py @@ -19,10 +19,10 @@ from oslo.config import cfg from cloudbaseinit import exception from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base CONF = cfg.CONF -CONF.import_opt('username', 'cloudbaseinit.plugins.windows.createuser') +CONF.import_opt('username', 'cloudbaseinit.plugins.common.createuser') LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/userdata.py b/cloudbaseinit/plugins/common/userdata.py similarity index 97% rename from cloudbaseinit/plugins/windows/userdata.py rename to cloudbaseinit/plugins/common/userdata.py index 3bd60d8d..6d1f2850 100644 --- a/cloudbaseinit/plugins/windows/userdata.py +++ b/cloudbaseinit/plugins/common/userdata.py @@ -18,9 +18,9 @@ import io from cloudbaseinit.metadata.services import base as metadata_services_base from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows.userdataplugins import factory -from cloudbaseinit.plugins.windows import userdatautils +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common.userdataplugins import factory +from cloudbaseinit.plugins.common import userdatautils from cloudbaseinit.utils import encoding diff --git a/cloudbaseinit/plugins/windows/userdataplugins/__init__.py b/cloudbaseinit/plugins/common/userdataplugins/__init__.py similarity index 100% rename from cloudbaseinit/plugins/windows/userdataplugins/__init__.py rename to cloudbaseinit/plugins/common/userdataplugins/__init__.py diff --git a/cloudbaseinit/plugins/windows/userdataplugins/base.py b/cloudbaseinit/plugins/common/userdataplugins/base.py similarity index 100% rename from cloudbaseinit/plugins/windows/userdataplugins/base.py rename to cloudbaseinit/plugins/common/userdataplugins/base.py diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudboothook.py b/cloudbaseinit/plugins/common/userdataplugins/cloudboothook.py similarity index 94% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudboothook.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudboothook.py index 064fbdc0..066207df 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/cloudboothook.py +++ b/cloudbaseinit/plugins/common/userdataplugins/cloudboothook.py @@ -13,7 +13,7 @@ # under the License. from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows.userdataplugins import base +from cloudbaseinit.plugins.common.userdataplugins import base LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfig.py b/cloudbaseinit/plugins/common/userdataplugins/cloudconfig.py similarity index 95% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudconfig.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudconfig.py index 85abd3c2..58eb4201 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfig.py +++ b/cloudbaseinit/plugins/common/userdataplugins/cloudconfig.py @@ -17,8 +17,8 @@ from oslo.config import cfg import yaml from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows.userdataplugins import base -from cloudbaseinit.plugins.windows.userdataplugins.cloudconfigplugins import ( +from cloudbaseinit.plugins.common.userdataplugins import base +from cloudbaseinit.plugins.common.userdataplugins.cloudconfigplugins import ( factory ) diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/__init__.py b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/__init__.py similarity index 100% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/__init__.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/__init__.py diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/base.py b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/base.py similarity index 100% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/base.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/base.py diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/factory.py b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/factory.py similarity index 93% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/factory.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/factory.py index 815f7c25..79c82b5d 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/factory.py +++ b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/factory.py @@ -18,7 +18,7 @@ from cloudbaseinit.utils import classloader # TODO(cpopa): replace the static list of plugins with something # discovered at runtime. PLUGINS = { - 'write_files': 'cloudbaseinit.plugins.windows.userdataplugins.' + 'write_files': 'cloudbaseinit.plugins.common.userdataplugins.' 'cloudconfigplugins.write_files.WriteFilesPlugin', } diff --git a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/write_files.py b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/write_files.py similarity index 98% rename from cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/write_files.py rename to cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/write_files.py index becf201d..face23cf 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/cloudconfigplugins/write_files.py +++ b/cloudbaseinit/plugins/common/userdataplugins/cloudconfigplugins/write_files.py @@ -21,7 +21,7 @@ import six from cloudbaseinit import exception from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows.userdataplugins.cloudconfigplugins import ( +from cloudbaseinit.plugins.common.userdataplugins.cloudconfigplugins import ( base ) diff --git a/cloudbaseinit/plugins/windows/userdataplugins/factory.py b/cloudbaseinit/plugins/common/userdataplugins/factory.py similarity index 74% rename from cloudbaseinit/plugins/windows/userdataplugins/factory.py rename to cloudbaseinit/plugins/common/userdataplugins/factory.py index 92040495..8e195424 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/factory.py +++ b/cloudbaseinit/plugins/common/userdataplugins/factory.py @@ -20,17 +20,17 @@ opts = [ cfg.ListOpt( 'user_data_plugins', default=[ - 'cloudbaseinit.plugins.windows.userdataplugins.parthandler.' + 'cloudbaseinit.plugins.common.userdataplugins.parthandler.' 'PartHandlerPlugin', - 'cloudbaseinit.plugins.windows.userdataplugins.cloudconfig.' + 'cloudbaseinit.plugins.common.userdataplugins.cloudconfig.' 'CloudConfigPlugin', - 'cloudbaseinit.plugins.windows.userdataplugins.cloudboothook.' + 'cloudbaseinit.plugins.common.userdataplugins.cloudboothook.' 'CloudBootHookPlugin', - 'cloudbaseinit.plugins.windows.userdataplugins.shellscript.' + 'cloudbaseinit.plugins.common.userdataplugins.shellscript.' 'ShellScriptPlugin', - 'cloudbaseinit.plugins.windows.userdataplugins.multipartmixed.' + 'cloudbaseinit.plugins.common.userdataplugins.multipartmixed.' 'MultipartMixedPlugin', - 'cloudbaseinit.plugins.windows.userdataplugins.heat.' + 'cloudbaseinit.plugins.common.userdataplugins.heat.' 'HeatPlugin', ], help='List of enabled userdata content plugins'), diff --git a/cloudbaseinit/plugins/windows/userdataplugins/heat.py b/cloudbaseinit/plugins/common/userdataplugins/heat.py similarity index 93% rename from cloudbaseinit/plugins/windows/userdataplugins/heat.py rename to cloudbaseinit/plugins/common/userdataplugins/heat.py index d063c4fc..0b448e22 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/heat.py +++ b/cloudbaseinit/plugins/common/userdataplugins/heat.py @@ -18,8 +18,8 @@ import os from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows.userdataplugins import base -from cloudbaseinit.plugins.windows import userdatautils +from cloudbaseinit.plugins.common.userdataplugins import base +from cloudbaseinit.plugins.common import userdatautils from cloudbaseinit.utils import encoding opts = [ diff --git a/cloudbaseinit/plugins/windows/userdataplugins/multipartmixed.py b/cloudbaseinit/plugins/common/userdataplugins/multipartmixed.py similarity index 92% rename from cloudbaseinit/plugins/windows/userdataplugins/multipartmixed.py rename to cloudbaseinit/plugins/common/userdataplugins/multipartmixed.py index 3e8bdc2b..4931559d 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/multipartmixed.py +++ b/cloudbaseinit/plugins/common/userdataplugins/multipartmixed.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -from cloudbaseinit.plugins.windows.userdataplugins import base +from cloudbaseinit.plugins.common.userdataplugins import base class MultipartMixedPlugin(base.BaseUserDataPlugin): diff --git a/cloudbaseinit/plugins/windows/userdataplugins/parthandler.py b/cloudbaseinit/plugins/common/userdataplugins/parthandler.py similarity index 96% rename from cloudbaseinit/plugins/windows/userdataplugins/parthandler.py rename to cloudbaseinit/plugins/common/userdataplugins/parthandler.py index 59290d6a..e3c72080 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/parthandler.py +++ b/cloudbaseinit/plugins/common/userdataplugins/parthandler.py @@ -17,7 +17,7 @@ import os import tempfile from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows.userdataplugins import base +from cloudbaseinit.plugins.common.userdataplugins import base from cloudbaseinit.utils import classloader LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/userdataplugins/shellscript.py b/cloudbaseinit/plugins/common/userdataplugins/shellscript.py similarity index 92% rename from cloudbaseinit/plugins/windows/userdataplugins/shellscript.py rename to cloudbaseinit/plugins/common/userdataplugins/shellscript.py index 0a441e40..63d4159c 100644 --- a/cloudbaseinit/plugins/windows/userdataplugins/shellscript.py +++ b/cloudbaseinit/plugins/common/userdataplugins/shellscript.py @@ -17,8 +17,8 @@ import os import tempfile from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins.windows import fileexecutils -from cloudbaseinit.plugins.windows.userdataplugins import base +from cloudbaseinit.plugins.common import fileexecutils +from cloudbaseinit.plugins.common.userdataplugins import base from cloudbaseinit.utils import encoding LOG = logging.getLogger(__name__) diff --git a/cloudbaseinit/plugins/windows/userdatautils.py b/cloudbaseinit/plugins/common/userdatautils.py similarity index 100% rename from cloudbaseinit/plugins/windows/userdatautils.py rename to cloudbaseinit/plugins/common/userdatautils.py diff --git a/cloudbaseinit/plugins/windows/extendvolumes.py b/cloudbaseinit/plugins/windows/extendvolumes.py index 97287d96..9ee8d652 100644 --- a/cloudbaseinit/plugins/windows/extendvolumes.py +++ b/cloudbaseinit/plugins/windows/extendvolumes.py @@ -18,7 +18,7 @@ import re from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base from cloudbaseinit.utils.windows import vds ole32 = ctypes.windll.ole32 diff --git a/cloudbaseinit/plugins/windows/licensing.py b/cloudbaseinit/plugins/windows/licensing.py index c4e82343..12bd12ee 100644 --- a/cloudbaseinit/plugins/windows/licensing.py +++ b/cloudbaseinit/plugins/windows/licensing.py @@ -19,7 +19,7 @@ from oslo.config import cfg from cloudbaseinit import exception from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base opts = [ cfg.BoolOpt('activate_windows', default=False, diff --git a/cloudbaseinit/plugins/windows/winrmcertificateauth.py b/cloudbaseinit/plugins/windows/winrmcertificateauth.py index 4d7f8ff0..9211abc6 100644 --- a/cloudbaseinit/plugins/windows/winrmcertificateauth.py +++ b/cloudbaseinit/plugins/windows/winrmcertificateauth.py @@ -15,8 +15,8 @@ from cloudbaseinit import exception from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins import constants +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import constants from cloudbaseinit.utils.windows import security from cloudbaseinit.utils.windows import winrmconfig from cloudbaseinit.utils.windows import x509 diff --git a/cloudbaseinit/plugins/windows/winrmlistener.py b/cloudbaseinit/plugins/windows/winrmlistener.py index ff7ffc0c..655d6b49 100644 --- a/cloudbaseinit/plugins/windows/winrmlistener.py +++ b/cloudbaseinit/plugins/windows/winrmlistener.py @@ -16,7 +16,7 @@ from oslo.config import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base from cloudbaseinit.utils.windows import security from cloudbaseinit.utils.windows import winrmconfig from cloudbaseinit.utils.windows import x509 diff --git a/cloudbaseinit/tests/plugins/windows/test_createuser.py b/cloudbaseinit/tests/plugins/common/test_createuser.py similarity index 94% rename from cloudbaseinit/tests/plugins/windows/test_createuser.py rename to cloudbaseinit/tests/plugins/common/test_createuser.py index e5461736..1924536a 100644 --- a/cloudbaseinit/tests/plugins/windows/test_createuser.py +++ b/cloudbaseinit/tests/plugins/common/test_createuser.py @@ -20,8 +20,8 @@ except ImportError: import mock from oslo.config import cfg -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import createuser +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import createuser from cloudbaseinit.tests import testutils CONF = cfg.CONF @@ -41,7 +41,7 @@ class CreateUserPluginTests(unittest.TestCase): @testutils.ConfPatcher('groups', ['Admins']) @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') - @mock.patch('cloudbaseinit.plugins.windows.createuser.CreateUserPlugin' + @mock.patch('cloudbaseinit.plugins.common.createuser.CreateUserPlugin' '._get_password') def _test_execute(self, mock_get_password, mock_get_os_utils, user_exists=True): diff --git a/cloudbaseinit/tests/plugins/windows/test_fileexecutils.py b/cloudbaseinit/tests/plugins/common/test_fileexecutils.py similarity index 97% rename from cloudbaseinit/tests/plugins/windows/test_fileexecutils.py rename to cloudbaseinit/tests/plugins/common/test_fileexecutils.py index 940167d1..84a4df92 100644 --- a/cloudbaseinit/tests/plugins/windows/test_fileexecutils.py +++ b/cloudbaseinit/tests/plugins/common/test_fileexecutils.py @@ -20,7 +20,7 @@ except ImportError: import mock from cloudbaseinit.plugins.common import execcmd -from cloudbaseinit.plugins.windows import fileexecutils +from cloudbaseinit.plugins.common import fileexecutils @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') diff --git a/cloudbaseinit/tests/plugins/windows/test_localscripts.py b/cloudbaseinit/tests/plugins/common/test_localscripts.py similarity index 90% rename from cloudbaseinit/tests/plugins/windows/test_localscripts.py rename to cloudbaseinit/tests/plugins/common/test_localscripts.py index 0fd8af04..bef86296 100644 --- a/cloudbaseinit/tests/plugins/windows/test_localscripts.py +++ b/cloudbaseinit/tests/plugins/common/test_localscripts.py @@ -20,8 +20,8 @@ try: except ImportError: import mock -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import localscripts +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import localscripts from cloudbaseinit.tests import testutils @@ -45,9 +45,9 @@ class LocalScriptsPluginTests(unittest.TestCase): @testutils.ConfPatcher('local_scripts_path', mock.sentinel.mock_local_scripts_path) - @mock.patch('cloudbaseinit.plugins.windows.localscripts' + @mock.patch('cloudbaseinit.plugins.common.localscripts' '.LocalScriptsPlugin._get_files_in_dir') - @mock.patch('cloudbaseinit.plugins.windows.fileexecutils.exec_file') + @mock.patch('cloudbaseinit.plugins.common.fileexecutils.exec_file') def test_execute(self, mock_exec_file, mock_get_files_in_dir): mock_service = mock.MagicMock() fake_path = os.path.join('fake', 'path') diff --git a/cloudbaseinit/tests/plugins/windows/test_networkconfig.py b/cloudbaseinit/tests/plugins/common/test_networkconfig.py similarity index 98% rename from cloudbaseinit/tests/plugins/windows/test_networkconfig.py rename to cloudbaseinit/tests/plugins/common/test_networkconfig.py index fb97a2a1..4bab1776 100644 --- a/cloudbaseinit/tests/plugins/windows/test_networkconfig.py +++ b/cloudbaseinit/tests/plugins/common/test_networkconfig.py @@ -23,8 +23,8 @@ except ImportError: from cloudbaseinit import exception from cloudbaseinit.metadata.services import base as service_base -from cloudbaseinit.plugins import base as plugin_base -from cloudbaseinit.plugins.windows import networkconfig +from cloudbaseinit.plugins.common import base as plugin_base +from cloudbaseinit.plugins.common import networkconfig class TestNetworkConfigPlugin(unittest.TestCase): diff --git a/cloudbaseinit/tests/plugins/windows/test_ntpclient.py b/cloudbaseinit/tests/plugins/common/test_ntpclient.py similarity index 95% rename from cloudbaseinit/tests/plugins/windows/test_ntpclient.py rename to cloudbaseinit/tests/plugins/common/test_ntpclient.py index a95387b5..ecdf47e5 100644 --- a/cloudbaseinit/tests/plugins/windows/test_ntpclient.py +++ b/cloudbaseinit/tests/plugins/common/test_ntpclient.py @@ -20,8 +20,8 @@ except ImportError: import mock from cloudbaseinit import exception -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import ntpclient +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import ntpclient from cloudbaseinit.tests import testutils from cloudbaseinit.utils import dhcp @@ -39,7 +39,7 @@ class NTPClientPluginTests(unittest.TestCase): "start/networkon", "stop/networkoff"]) @mock.patch('time.sleep') - @mock.patch('cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin.' + @mock.patch('cloudbaseinit.plugins.common.ntpclient.NTPClientPlugin.' '_set_ntp_trigger_mode') def _test_check_w32time_svc_status(self, mock_set_ntp_trigger_mode, mock_sleep, start_mode, @@ -106,9 +106,9 @@ class NTPClientPluginTests(unittest.TestCase): @testutils.ConfPatcher('ntp_use_dhcp_config', True) @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') @mock.patch('cloudbaseinit.utils.dhcp.get_dhcp_options') - @mock.patch('cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin.' + @mock.patch('cloudbaseinit.plugins.common.ntpclient.NTPClientPlugin.' '_check_w32time_svc_status') - @mock.patch('cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin.' + @mock.patch('cloudbaseinit.plugins.common.ntpclient.NTPClientPlugin.' '_unpack_ntp_hosts') def _test_execute(self, mock_unpack_ntp_hosts, mock_check_w32time_svc_status, diff --git a/cloudbaseinit/tests/plugins/windows/test_sethostname.py b/cloudbaseinit/tests/plugins/common/test_sethostname.py similarity index 97% rename from cloudbaseinit/tests/plugins/windows/test_sethostname.py rename to cloudbaseinit/tests/plugins/common/test_sethostname.py index 01ca5990..9ccaff19 100644 --- a/cloudbaseinit/tests/plugins/windows/test_sethostname.py +++ b/cloudbaseinit/tests/plugins/common/test_sethostname.py @@ -19,8 +19,8 @@ try: except ImportError: import mock -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import sethostname +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import sethostname from cloudbaseinit.tests.metadata import fake_json_response from cloudbaseinit.tests import testutils diff --git a/cloudbaseinit/tests/plugins/windows/test_setuserpassword.py b/cloudbaseinit/tests/plugins/common/test_setuserpassword.py similarity index 94% rename from cloudbaseinit/tests/plugins/windows/test_setuserpassword.py rename to cloudbaseinit/tests/plugins/common/test_setuserpassword.py index 33c85b5a..56a7b7f9 100644 --- a/cloudbaseinit/tests/plugins/windows/test_setuserpassword.py +++ b/cloudbaseinit/tests/plugins/common/test_setuserpassword.py @@ -20,8 +20,8 @@ except ImportError: import mock from oslo.config import cfg -from cloudbaseinit.plugins import constants -from cloudbaseinit.plugins.windows import setuserpassword +from cloudbaseinit.plugins.common import constants +from cloudbaseinit.plugins.common import setuserpassword from cloudbaseinit.tests.metadata import fake_json_response from cloudbaseinit.tests import testutils @@ -92,9 +92,9 @@ class SetUserPasswordPluginTests(unittest.TestCase): with testutils.ConfPatcher('inject_user_password', False): self._test_get_password(inject_password=False) - @mock.patch('cloudbaseinit.plugins.windows.setuserpassword.' + @mock.patch('cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin._get_ssh_public_key') - @mock.patch('cloudbaseinit.plugins.windows.setuserpassword.' + @mock.patch('cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin._encrypt_password') def _test_set_metadata_password(self, mock_encrypt_password, mock_get_key, ssh_pub_key): @@ -124,7 +124,7 @@ class SetUserPasswordPluginTests(unittest.TestCase): def test_set_metadata_password_no_ssh_key(self): self._test_set_metadata_password(ssh_pub_key=None) - @mock.patch('cloudbaseinit.plugins.windows.setuserpassword.' + @mock.patch('cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin._get_password') def test_set_password(self, mock_get_password): mock_service = mock.MagicMock() @@ -138,9 +138,9 @@ class SetUserPasswordPluginTests(unittest.TestCase): 'fake password') self.assertEqual(response, 'fake password') - @mock.patch('cloudbaseinit.plugins.windows.setuserpassword.' + @mock.patch('cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin._set_password') - @mock.patch('cloudbaseinit.plugins.windows.setuserpassword.' + @mock.patch('cloudbaseinit.plugins.common.setuserpassword.' 'SetUserPasswordPlugin._set_metadata_password') @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') def test_execute(self, mock_get_os_utils, mock_set_metadata_password, diff --git a/cloudbaseinit/tests/plugins/windows/test_sshpublickeys.py b/cloudbaseinit/tests/plugins/common/test_sshpublickeys.py similarity index 94% rename from cloudbaseinit/tests/plugins/windows/test_sshpublickeys.py rename to cloudbaseinit/tests/plugins/common/test_sshpublickeys.py index 7d00c9e3..47a9ca0c 100644 --- a/cloudbaseinit/tests/plugins/windows/test_sshpublickeys.py +++ b/cloudbaseinit/tests/plugins/common/test_sshpublickeys.py @@ -21,8 +21,8 @@ except ImportError: import mock from cloudbaseinit import exception -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import sshpublickeys +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import sshpublickeys from cloudbaseinit.tests.metadata import fake_json_response from cloudbaseinit.tests import testutils @@ -53,7 +53,7 @@ class SetUserSSHPublicKeysPluginTests(unittest.TestCase): self._set_ssh_keys_plugin.execute, mock_service, fake_shared_data) else: - with mock.patch('cloudbaseinit.plugins.windows.sshpublickeys' + with mock.patch('cloudbaseinit.plugins.common.sshpublickeys' '.open', mock.mock_open(), create=True): response = self._set_ssh_keys_plugin.execute(mock_service, diff --git a/cloudbaseinit/tests/plugins/windows/test_userdata.py b/cloudbaseinit/tests/plugins/common/test_userdata.py similarity index 92% rename from cloudbaseinit/tests/plugins/windows/test_userdata.py rename to cloudbaseinit/tests/plugins/common/test_userdata.py index 9c6256e0..94d97848 100644 --- a/cloudbaseinit/tests/plugins/windows/test_userdata.py +++ b/cloudbaseinit/tests/plugins/common/test_userdata.py @@ -23,8 +23,8 @@ except ImportError: import mock from cloudbaseinit.metadata.services import base as metadata_services_base -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import userdata +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import userdata from cloudbaseinit.tests.metadata import fake_json_response @@ -49,9 +49,9 @@ class UserDataPluginTest(unittest.TestCase): self.fake_data = fake_json_response.get_fake_metadata_json( '2013-04-04') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._process_user_data') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._check_gzip_compression') def _test_execute(self, mock_check_gzip_compression, mock_process_user_data, ret_val): @@ -111,15 +111,15 @@ class UserDataPluginTest(unittest.TestCase): mock_get_as_string.return_value) self.assertEqual(response, mock_message_from_string().walk()) - @mock.patch('cloudbaseinit.plugins.windows.userdataplugins.factory.' + @mock.patch('cloudbaseinit.plugins.common.userdataplugins.factory.' 'load_plugins') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._parse_mime') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._process_part') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._end_part_process_event') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._process_non_multi_part') def _test_process_user_data(self, mock_process_non_multi_part, mock_end_part_process_event, @@ -154,9 +154,9 @@ class UserDataPluginTest(unittest.TestCase): self._test_process_user_data(user_data=b'Content-Type: non-multipart', reboot=False) - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._add_part_handlers') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._get_plugin_return_value') def _test_process_part(self, mock_get_plugin_return_value, mock_add_part_handlers, @@ -219,7 +219,7 @@ class UserDataPluginTest(unittest.TestCase): user_data_plugin=user_data_plugin, content_type=False) - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._begin_part_process_event') def _test_add_part_handlers(self, mock_begin_part_process_event, ret_val): mock_user_data_plugins = mock.MagicMock(spec=dict) @@ -265,9 +265,9 @@ class UserDataPluginTest(unittest.TestCase): mock_handler_func.assert_called_once_with(None, "__end__", None, None) - @mock.patch('cloudbaseinit.plugins.windows.userdatautils' + @mock.patch('cloudbaseinit.plugins.common.userdatautils' '.execute_user_data_script') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._get_plugin_return_value') def test_process_non_multi_part(self, mock_get_plugin_return_value, mock_execute_user_data_script): @@ -278,9 +278,9 @@ class UserDataPluginTest(unittest.TestCase): mock_execute_user_data_script()) self.assertEqual(mock_get_plugin_return_value.return_value, response) - @mock.patch('cloudbaseinit.plugins.windows.userdataplugins.factory.' + @mock.patch('cloudbaseinit.plugins.common.userdataplugins.factory.' 'load_plugins') - @mock.patch('cloudbaseinit.plugins.windows.userdata.UserDataPlugin' + @mock.patch('cloudbaseinit.plugins.common.userdata.UserDataPlugin' '._get_plugin_return_value') def test_process_non_multi_part_cloud_config( self, mock_get_plugin_return_value, mock_load_plugins): diff --git a/cloudbaseinit/tests/plugins/windows/test_userdatautils.py b/cloudbaseinit/tests/plugins/common/test_userdatautils.py similarity index 94% rename from cloudbaseinit/tests/plugins/windows/test_userdatautils.py rename to cloudbaseinit/tests/plugins/common/test_userdatautils.py index e01b63ed..1875bade 100644 --- a/cloudbaseinit/tests/plugins/windows/test_userdatautils.py +++ b/cloudbaseinit/tests/plugins/common/test_userdatautils.py @@ -22,7 +22,7 @@ except ImportError: import mock from cloudbaseinit.plugins.common import execcmd -from cloudbaseinit.plugins.windows import userdatautils +from cloudbaseinit.plugins.common import userdatautils def _safe_remove(filepath): @@ -74,16 +74,17 @@ class UserDataUtilsTest(unittest.TestCase): retval = userdatautils.execute_user_data_script(b"unknown") self.assertEqual(0, retval) - @mock.patch('cloudbaseinit.plugins.windows.userdatautils.' + @mock.patch('cloudbaseinit.plugins.common.userdatautils.' '_get_command') def test_execute_user_data_script_fails(self, mock_get_command, _): mock_get_command.return_value.side_effect = ValueError + retval = userdatautils.execute_user_data_script( mock.sentinel.user_data) self.assertEqual(0, retval) - @mock.patch('cloudbaseinit.plugins.windows.userdatautils.' + @mock.patch('cloudbaseinit.plugins.common.userdatautils.' '_get_command') def test_execute_user_data_script(self, mock_get_command, _): mock_get_command.return_value.return_value = ( diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/__init__.py b/cloudbaseinit/tests/plugins/common/userdataplugins/__init__.py similarity index 100% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/__init__.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/__init__.py diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudboothook.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudboothook.py similarity index 85% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudboothook.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudboothook.py index 2ce5e25e..a43cfd99 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudboothook.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudboothook.py @@ -18,11 +18,8 @@ try: import unittest.mock as mock except ImportError: import mock -from oslo.config import cfg -from cloudbaseinit.plugins.windows.userdataplugins import cloudboothook - -CONF = cfg.CONF +from cloudbaseinit.plugins.common.userdataplugins import cloudboothook class CloudBootHookPluginTests(unittest.TestCase): @@ -30,7 +27,7 @@ class CloudBootHookPluginTests(unittest.TestCase): def setUp(self): self._cloud_hook = cloudboothook.CloudBootHookPlugin() - @mock.patch('cloudbaseinit.plugins.windows.userdataplugins.base' + @mock.patch('cloudbaseinit.plugins.common.userdataplugins.base' '.BaseUserDataPlugin.get_mime_type') def test_process(self, mock_get_mime_type): mock_part = mock.MagicMock() diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudconfig.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudconfig.py similarity index 94% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudconfig.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudconfig.py index f3eac368..542660ef 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_cloudconfig.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_cloudconfig.py @@ -21,7 +21,7 @@ except ImportError: from oslo.config import cfg -from cloudbaseinit.plugins.windows.userdataplugins import cloudconfig +from cloudbaseinit.plugins.common.userdataplugins import cloudconfig from cloudbaseinit.tests import testutils CONF = cfg.CONF @@ -41,6 +41,7 @@ class CloudConfigPluginTests(unittest.TestCase): ('dummy1', 2), ('invalid', 3), ] + try: executor = cloudconfig.CloudConfigPluginExecutor( dummy=1, @@ -62,7 +63,7 @@ class CloudConfigPluginTests(unittest.TestCase): self.assertIsInstance(executor, cloudconfig.CloudConfigPluginExecutor) def test_invalid_type(self): - with testutils.LogSnatcher('cloudbaseinit.plugins.windows.' + with testutils.LogSnatcher('cloudbaseinit.plugins.common.' 'userdataplugins.cloudconfig') as snatcher: self.plugin.process_non_multipart({'unsupported'}) diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_factory.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_factory.py similarity index 89% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_factory.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_factory.py index fa93ee95..0da64664 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_factory.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_factory.py @@ -18,11 +18,8 @@ try: import unittest.mock as mock except ImportError: import mock -from oslo.config import cfg -from cloudbaseinit.plugins.windows.userdataplugins import factory - -CONF = cfg.CONF +from cloudbaseinit.plugins.common.userdataplugins import factory class UserDataPluginsFactoryTests(unittest.TestCase): diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_heat.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_heat.py similarity index 93% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_heat.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_heat.py index 6c3839f0..6e6de5b2 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_heat.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_heat.py @@ -21,7 +21,7 @@ except ImportError: import mock from oslo.config import cfg -from cloudbaseinit.plugins.windows.userdataplugins import heat +from cloudbaseinit.plugins.common.userdataplugins import heat CONF = cfg.CONF @@ -47,9 +47,9 @@ class HeatUserDataHandlerTests(unittest.TestCase): mock_exists.assert_called_once_with(fake_dir) mock_makedirs.assert_called_once_with(fake_dir) - @mock.patch('cloudbaseinit.plugins.windows.userdatautils' + @mock.patch('cloudbaseinit.plugins.common.userdatautils' '.execute_user_data_script') - @mock.patch('cloudbaseinit.plugins.windows.userdataplugins.heat' + @mock.patch('cloudbaseinit.plugins.common.userdataplugins.heat' '.HeatPlugin._check_dir') @mock.patch('cloudbaseinit.utils.encoding.write_file') def _test_process(self, mock_write_file, mock_check_dir, diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_parthandler.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_parthandler.py similarity index 90% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_parthandler.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_parthandler.py index 8cb259e3..d93ce98f 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_parthandler.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_parthandler.py @@ -19,11 +19,8 @@ try: import unittest.mock as mock except ImportError: import mock -from oslo.config import cfg -from cloudbaseinit.plugins.windows.userdataplugins import parthandler - -CONF = cfg.CONF +from cloudbaseinit.plugins.common.userdataplugins import parthandler class PartHandlerPluginTests(unittest.TestCase): @@ -41,7 +38,7 @@ class PartHandlerPluginTests(unittest.TestCase): mock_load_module.return_value = mock_part_handler mock_part_handler.list_types.return_value = ['fake part'] - with mock.patch('cloudbaseinit.plugins.windows.userdataplugins.' + with mock.patch('cloudbaseinit.plugins.common.userdataplugins.' 'parthandler.open', mock.mock_open(read_data='fake data'), create=True): response = self._parthandler.process(mock_part) diff --git a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_shellscript.py b/cloudbaseinit/tests/plugins/common/userdataplugins/test_shellscript.py similarity index 91% rename from cloudbaseinit/tests/plugins/windows/userdataplugins/test_shellscript.py rename to cloudbaseinit/tests/plugins/common/userdataplugins/test_shellscript.py index 448378e4..d684b462 100644 --- a/cloudbaseinit/tests/plugins/windows/userdataplugins/test_shellscript.py +++ b/cloudbaseinit/tests/plugins/common/userdataplugins/test_shellscript.py @@ -20,7 +20,8 @@ try: except ImportError: import mock -from cloudbaseinit.plugins.windows.userdataplugins import shellscript + +from cloudbaseinit.plugins.common.userdataplugins import shellscript class ShellScriptPluginTests(unittest.TestCase): @@ -30,7 +31,7 @@ class ShellScriptPluginTests(unittest.TestCase): @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') @mock.patch('tempfile.gettempdir') - @mock.patch('cloudbaseinit.plugins.windows.fileexecutils.exec_file') + @mock.patch('cloudbaseinit.plugins.common.fileexecutils.exec_file') @mock.patch('cloudbaseinit.utils.encoding.write_file') def _test_process(self, mock_write_file, mock_exec_file, mock_gettempdir, mock_get_os_utils, exception=False): @@ -45,7 +46,7 @@ class ShellScriptPluginTests(unittest.TestCase): if exception: mock_exec_file.side_effect = [Exception] - with mock.patch("cloudbaseinit.plugins.windows.userdataplugins." + with mock.patch("cloudbaseinit.plugins.common.userdataplugins." "shellscript.open", mock.mock_open(), create=True): response = self._shellscript.process(mock_part) diff --git a/cloudbaseinit/tests/plugins/test_factory.py b/cloudbaseinit/tests/plugins/test_factory.py index 4e92c944..eec6c49d 100644 --- a/cloudbaseinit/tests/plugins/test_factory.py +++ b/cloudbaseinit/tests/plugins/test_factory.py @@ -20,7 +20,7 @@ except ImportError: import mock from oslo.config import cfg -from cloudbaseinit.plugins import factory +from cloudbaseinit.plugins.common import factory CONF = cfg.CONF diff --git a/cloudbaseinit/tests/plugins/windows/test_licensing.py b/cloudbaseinit/tests/plugins/windows/test_licensing.py index e25fd600..41c2f873 100644 --- a/cloudbaseinit/tests/plugins/windows/test_licensing.py +++ b/cloudbaseinit/tests/plugins/windows/test_licensing.py @@ -21,7 +21,7 @@ except ImportError: import mock from cloudbaseinit import exception -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base from cloudbaseinit.plugins.windows import licensing from cloudbaseinit.tests import testutils diff --git a/cloudbaseinit/tests/plugins/windows/test_mtu.py b/cloudbaseinit/tests/plugins/windows/test_mtu.py index ac146e41..16475f11 100644 --- a/cloudbaseinit/tests/plugins/windows/test_mtu.py +++ b/cloudbaseinit/tests/plugins/windows/test_mtu.py @@ -20,8 +20,8 @@ except ImportError: import mock import six -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins.windows import mtu +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import mtu from cloudbaseinit.utils import dhcp @@ -56,7 +56,7 @@ class MTUPluginTests(unittest.TestCase): return_value) def test_disabled_use_dhcp(self, mock_get_os_utils): - with mock.patch('cloudbaseinit.plugins.windows.' + with mock.patch('cloudbaseinit.plugins.common.' 'mtu.CONF') as mock_conf: mock_conf.mtu_use_dhcp_config = False diff --git a/cloudbaseinit/tests/plugins/windows/test_winrmcertificateauth.py b/cloudbaseinit/tests/plugins/windows/test_winrmcertificateauth.py index c22c4854..a4d2ca59 100644 --- a/cloudbaseinit/tests/plugins/windows/test_winrmcertificateauth.py +++ b/cloudbaseinit/tests/plugins/windows/test_winrmcertificateauth.py @@ -19,14 +19,10 @@ try: import unittest.mock as mock except ImportError: import mock -from oslo.config import cfg from cloudbaseinit import exception -from cloudbaseinit.plugins import base -from cloudbaseinit.plugins import constants - - -CONF = cfg.CONF +from cloudbaseinit.plugins.common import base +from cloudbaseinit.plugins.common import constants class ConfigWinRMCertificateAuthPluginTests(unittest.TestCase): diff --git a/cloudbaseinit/tests/plugins/windows/test_winrmlistener.py b/cloudbaseinit/tests/plugins/windows/test_winrmlistener.py index 9f131901..f066cbe1 100644 --- a/cloudbaseinit/tests/plugins/windows/test_winrmlistener.py +++ b/cloudbaseinit/tests/plugins/windows/test_winrmlistener.py @@ -21,8 +21,7 @@ except ImportError: import mock from oslo.config import cfg -from cloudbaseinit.plugins import base - +from cloudbaseinit.plugins.common import base CONF = cfg.CONF diff --git a/cloudbaseinit/tests/test_init.py b/cloudbaseinit/tests/test_init.py index ee146e2f..a3f7e5fe 100644 --- a/cloudbaseinit/tests/test_init.py +++ b/cloudbaseinit/tests/test_init.py @@ -22,7 +22,7 @@ except ImportError: from oslo.config import cfg from cloudbaseinit import init -from cloudbaseinit.plugins import base +from cloudbaseinit.plugins.common import base CONF = cfg.CONF @@ -138,7 +138,7 @@ class InitManagerTest(unittest.TestCase): @mock.patch('cloudbaseinit.init.InitManager' '._check_plugin_os_requirements') @mock.patch('cloudbaseinit.init.InitManager._exec_plugin') - @mock.patch('cloudbaseinit.plugins.factory.load_plugins') + @mock.patch('cloudbaseinit.plugins.common.factory.load_plugins') @mock.patch('cloudbaseinit.osutils.factory.get_os_utils') @mock.patch('cloudbaseinit.metadata.factory.get_metadata_service') def test_configure_host(self, mock_get_metadata_service,