diff --git a/doc/source/conf.py b/doc/source/conf.py index 6d5c489..ca7a79d 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -36,7 +36,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -copyright = u'2015, Sahara team' +copyright = '2015, Sahara team' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -155,8 +155,8 @@ htmlhelp_basename = 'saharamaprplugin-testsdoc' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'doc-sahara-plugin-mapr.tex', u'Sahara MapR Plugin Documentation', - u'Sahara team', 'manual'), + ('index', 'doc-sahara-plugin-mapr.tex', 'Sahara MapR Plugin Documentation', + 'Sahara team', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -186,8 +186,8 @@ smartquotes_excludes = {'builders': ['latex']} # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'sahara-plugin-mapr', u'sahara-plugin-mapr Documentation', - [u'Sahara team'], 1) + ('index', 'sahara-plugin-mapr', 'sahara-plugin-mapr Documentation', + ['Sahara team'], 1) ] # If true, show URL addresses after external links. @@ -200,8 +200,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'sahara-plugin-mapr', u'sahara-plugin-mapr Documentation', - u'Sahara team', 'sahara-plugin-mapr', 'One line description of project.', + ('index', 'sahara-plugin-mapr', 'sahara-plugin-mapr Documentation', + 'Sahara team', 'sahara-plugin-mapr', 'One line description of project.', 'Miscellaneous'), ] diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 67b71c1..d865f33 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -33,7 +33,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -copyright = u'2015, Sahara Developers' +copyright = '2015, Sahara Developers' # Release do not need a version number in the title, they # cover multiple versions. @@ -142,8 +142,8 @@ htmlhelp_basename = 'SaharaMapRReleaseNotesdoc' # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'SaharaMapRReleaseNotes.tex', - u'Sahara MapR Plugin Release Notes Documentation', - u'Sahara Developers', 'manual'), + 'Sahara MapR Plugin Release Notes Documentation', + 'Sahara Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -173,8 +173,8 @@ latex_documents = [ # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'saharamaprreleasenotes', - u'Sahara MapR Plugin Release Notes Documentation', - [u'Sahara Developers'], 1) + 'Sahara MapR Plugin Release Notes Documentation', + ['Sahara Developers'], 1) ] # If true, show URL addresses after external links. @@ -188,8 +188,8 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ ('index', 'SaharaMapRReleaseNotes', - u'Sahara MapR Plugin Release Notes Documentation', - u'Sahara Developers', 'SaharaMapRReleaseNotes', + 'Sahara MapR Plugin Release Notes Documentation', + 'Sahara Developers', 'SaharaMapRReleaseNotes', 'One line description of project.', 'Miscellaneous'), ] diff --git a/requirements.txt b/requirements.txt index 434ca8b..45195a5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,4 +16,3 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 oslo.utils>=3.33.0 # Apache-2.0 requests>=2.14.2 # Apache-2.0 sahara>=10.0.0.0b1 -six>=1.10.0 # MIT diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/cluster_context.py b/sahara_plugin_mapr/plugins/mapr/abstract/cluster_context.py index 72abc9c..2e8a27b 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/cluster_context.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/cluster_context.py @@ -15,11 +15,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractClusterContext(object): +class AbstractClusterContext(object, metaclass=abc.ABCMeta): @abc.abstractproperty def mapr_home(self): return diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/cluster_validator.py b/sahara_plugin_mapr/plugins/mapr/abstract/cluster_validator.py index 79f6a3d..8bc9ced 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/cluster_validator.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/cluster_validator.py @@ -15,11 +15,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractValidator(object): +class AbstractValidator(object, metaclass=abc.ABCMeta): @abc.abstractmethod def validate(self, cluster_context): pass diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/configurer.py b/sahara_plugin_mapr/plugins/mapr/abstract/configurer.py index 6756b45..8b00bab 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/configurer.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/configurer.py @@ -15,11 +15,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractConfigurer(object): +class AbstractConfigurer(object, metaclass=abc.ABCMeta): @abc.abstractmethod def configure(self, cluster_context, instances=None): pass diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/health_checker.py b/sahara_plugin_mapr/plugins/mapr/abstract/health_checker.py index 7050fed..3e80bcf 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/health_checker.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/health_checker.py @@ -14,11 +14,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractHealthChecker(object): +class AbstractHealthChecker(object, metaclass=abc.ABCMeta): @abc.abstractmethod def get_checks(self, cluster_context, instances=None): pass diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/node_manager.py b/sahara_plugin_mapr/plugins/mapr/abstract/node_manager.py index 3447d6c..ceb427f 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/node_manager.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/node_manager.py @@ -15,11 +15,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractNodeManager(object): +class AbstractNodeManager(object, metaclass=abc.ABCMeta): @abc.abstractmethod def start(self, cluster_context, instances=None): pass diff --git a/sahara_plugin_mapr/plugins/mapr/abstract/version_handler.py b/sahara_plugin_mapr/plugins/mapr/abstract/version_handler.py index 0931184..6b45292 100644 --- a/sahara_plugin_mapr/plugins/mapr/abstract/version_handler.py +++ b/sahara_plugin_mapr/plugins/mapr/abstract/version_handler.py @@ -15,11 +15,8 @@ import abc -import six - -@six.add_metaclass(abc.ABCMeta) -class AbstractVersionHandler(object): +class AbstractVersionHandler(object, metaclass=abc.ABCMeta): @abc.abstractmethod def get_node_processes(self): return diff --git a/sahara_plugin_mapr/plugins/mapr/base/base_cluster_configurer.py b/sahara_plugin_mapr/plugins/mapr/base/base_cluster_configurer.py index 03cb418..4caa351 100644 --- a/sahara_plugin_mapr/plugins/mapr/base/base_cluster_configurer.py +++ b/sahara_plugin_mapr/plugins/mapr/base/base_cluster_configurer.py @@ -16,7 +16,6 @@ import abc from oslo_log import log as logging -import six from sahara.plugins import conductor from sahara.plugins import context @@ -57,8 +56,7 @@ SERVICE_INSTALL_PRIORITY = [ ] -@six.add_metaclass(abc.ABCMeta) -class BaseConfigurer(ac.AbstractConfigurer): +class BaseConfigurer(ac.AbstractConfigurer, metaclass=abc.ABCMeta): def configure(self, cluster_context, instances=None): instances = instances or cluster_context.get_instances() self._configure_ssh_connection(cluster_context, instances) @@ -168,7 +166,7 @@ class BaseConfigurer(ac.AbstractConfigurer): LOG.debug("Configuring cluster topology") topology_map = cluster_context.topology_map - topology_map = ("%s %s" % item for item in six.iteritems(topology_map)) + topology_map = ("%s %s" % item for item in topology_map.items()) topology_map = "\n".join(topology_map) + "\n" data_path = "%s/topology.data" % cluster_context.mapr_home @@ -390,7 +388,7 @@ class BaseConfigurer(ac.AbstractConfigurer): def _restart_services(self, cluster_context): restart = cluster_context.should_be_restarted - for service, instances in six.iteritems(restart): + for service, instances in restart.items(): service.restart(util.unique_list(instances)) def _post_configure_sh(self, cluster_context, instances): diff --git a/sahara_plugin_mapr/plugins/mapr/domain/configuration_file.py b/sahara_plugin_mapr/plugins/mapr/domain/configuration_file.py index e428520..5eb699f 100644 --- a/sahara_plugin_mapr/plugins/mapr/domain/configuration_file.py +++ b/sahara_plugin_mapr/plugins/mapr/domain/configuration_file.py @@ -18,15 +18,13 @@ import os import re import jinja2 as j2 -import six import sahara.plugins.exceptions as e import sahara.plugins.utils as utils from sahara_plugin_mapr.i18n import _ -@six.add_metaclass(abc.ABCMeta) -class FileAttr(object): +class FileAttr(object, metaclass=abc.ABCMeta): def __init__(self, path, data, mode, owner): self.path = path self.data = data @@ -34,8 +32,7 @@ class FileAttr(object): self.owner = owner -@six.add_metaclass(abc.ABCMeta) -class BaseConfigurationFile(object): +class BaseConfigurationFile(object, metaclass=abc.ABCMeta): def __init__(self, file_name): self.f_name = file_name self._config_dict = dict() @@ -66,14 +63,14 @@ class BaseConfigurationFile(object): self.parse(content) def load_properties(self, config_dict): - for k, v in six.iteritems(config_dict): + for k, v in config_dict.items(): self.add_property(k, v) def add_property(self, name, value): self._config_dict[name] = value def add_properties(self, properties): - for prop in six.iteritems(properties): + for prop in properties.items(): self.add_property(*prop) def _get_config_value(self, name): @@ -127,7 +124,7 @@ class PropertiesFile(BaseConfigurationFile): def render(self): lines = ['%s%s%s' % (k, self.separator, v) for k, v in - six.iteritems(self._config_dict)] + self._config_dict.items()] return "\n".join(lines) + '\n' @@ -176,7 +173,7 @@ class EnvironmentConfig(BaseConfigurationFile): string = string.decode("utf-8") except AttributeError: pass - string = six.text_type(string).strip() + string = str(string).strip() string = string.replace("\"", "") return string @@ -191,5 +188,5 @@ class EnvironmentConfig(BaseConfigurationFile): del self._config_dict[name] else: result.append(line) - extra_ops = [self._tmpl % i for i in six.iteritems(self._config_dict)] + extra_ops = [self._tmpl % i for i in self._config_dict.items()] return '\n'.join(result + extra_ops) + '\n' diff --git a/sahara_plugin_mapr/plugins/mapr/domain/service.py b/sahara_plugin_mapr/plugins/mapr/domain/service.py index 742a13f..85fd631 100644 --- a/sahara_plugin_mapr/plugins/mapr/domain/service.py +++ b/sahara_plugin_mapr/plugins/mapr/domain/service.py @@ -15,7 +15,6 @@ from oslo_log import log as logging from oslo_serialization import jsonutils as json -import six import sahara.plugins.exceptions as ex import sahara.plugins.provisioning as p @@ -33,8 +32,7 @@ SERVICE_UI = 'Web UI' _INSTALL_PACKAGES_TIMEOUT = 3600 -@six.add_metaclass(g.Singleton) -class Service(object): +class Service(object, metaclass=g.Singleton): def __init__(self): self._name = None self._ui_name = None diff --git a/sahara_plugin_mapr/plugins/mapr/services/mysql/mysql.py b/sahara_plugin_mapr/plugins/mapr/services/mysql/mysql.py index a6cbf75..d891b88 100644 --- a/sahara_plugin_mapr/plugins/mapr/services/mysql/mysql.py +++ b/sahara_plugin_mapr/plugins/mapr/services/mysql/mysql.py @@ -16,7 +16,6 @@ import collections as c from oslo_log import log as logging -import six import sahara.plugins.utils as u import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as cf @@ -186,7 +185,7 @@ class MySQL(s.Service): script.parse(u.get_file_text( 'plugins/mapr/services/mysql/resources/%s' % template, 'sahara_plugin_mapr')) - for k, v in six.iteritems(kwargs): + for k, v in kwargs.items(): script.add_property(k, v) return script diff --git a/sahara_plugin_mapr/plugins/mapr/util/service_utils.py b/sahara_plugin_mapr/plugins/mapr/util/service_utils.py index cc02243..de47a4b 100644 --- a/sahara_plugin_mapr/plugins/mapr/util/service_utils.py +++ b/sahara_plugin_mapr/plugins/mapr/util/service_utils.py @@ -13,8 +13,6 @@ # under the License. -import six - from sahara_plugin_mapr.i18n import _ @@ -24,7 +22,7 @@ def get_node_process_name(node_process): if isinstance(node_process, np.NodeProcess): return node_process.ui_name - if isinstance(node_process, six.string_types): + if isinstance(node_process, str): return node_process raise TypeError(_("Invalid argument type %s") % type(node_process)) diff --git a/sahara_plugin_mapr/tests/unit/plugins/mapr/test_base_handler.py b/sahara_plugin_mapr/tests/unit/plugins/mapr/test_base_handler.py index 199d292..e7d3412 100644 --- a/sahara_plugin_mapr/tests/unit/plugins/mapr/test_base_handler.py +++ b/sahara_plugin_mapr/tests/unit/plugins/mapr/test_base_handler.py @@ -12,8 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -import six - from sahara.plugins import provisioning as p from sahara.plugins import testutils as tu import sahara_plugin_mapr.plugins.mapr.abstract.cluster_context as a_context @@ -78,8 +76,8 @@ class TestHandler(b.SaharaTestCase): np_dict = self.handler.get_node_processes() self.assertIsNotNone(np_dict) self.assertIsInstance(np_dict, dict) - for k, v in six.iteritems(np_dict): - self.assertIsInstance(k, six.string_types) + for k, v in np_dict.items(): + self.assertIsInstance(k, str) self.assertIsInstance(v, list) self.assertNotEqual(0, len(v)) @@ -100,8 +98,8 @@ class TestHandler(b.SaharaTestCase): def test_get_configs_dict(self): configs_dict = self.handler.get_configs_dict() self.assertIsInstance(configs_dict, dict) - for k, v in six.iteritems(configs_dict): - self.assertIsInstance(k, six.string_types) + for k, v in configs_dict.items(): + self.assertIsInstance(k, str) self.assertIsInstance(v, dict) def test_get_open_ports(self):