From 845e4e35c0d9e4faeac64359807d70de9dc3af2e Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Thu, 19 Mar 2020 12:40:23 +0100 Subject: [PATCH] Drop 'mydumper' component/recipe --- .../{ => unstable}/mydumper/buildout.cfg | 0 .../mydumper-remove-warnings-errors.patch | 0 setup.py | 1 - slapos/recipe/mydumper.py | 99 ------------------- stack/resilient/README.rst | 4 +- 5 files changed, 2 insertions(+), 102 deletions(-) rename component/{ => unstable}/mydumper/buildout.cfg (100%) rename component/{ => unstable}/mydumper/mydumper-remove-warnings-errors.patch (100%) delete mode 100644 slapos/recipe/mydumper.py diff --git a/component/mydumper/buildout.cfg b/component/unstable/mydumper/buildout.cfg similarity index 100% rename from component/mydumper/buildout.cfg rename to component/unstable/mydumper/buildout.cfg diff --git a/component/mydumper/mydumper-remove-warnings-errors.patch b/component/unstable/mydumper/mydumper-remove-warnings-errors.patch similarity index 100% rename from component/mydumper/mydumper-remove-warnings-errors.patch rename to component/unstable/mydumper/mydumper-remove-warnings-errors.patch diff --git a/setup.py b/setup.py index 57335d845..8054b1ae2 100755 --- a/setup.py +++ b/setup.py @@ -128,7 +128,6 @@ setup(name=name, 'logrotate.d = slapos.recipe.logrotate:Part', 'mkdirectory = slapos.recipe.mkdirectory:Recipe', 'mioga.instantiate = slapos.recipe.mioga.instantiate:Recipe', - 'mydumper = slapos.recipe.mydumper:Recipe', 'nbdserver = slapos.recipe.nbdserver:Recipe', 'neoppod.cluster = slapos.recipe.neoppod:Cluster', 'neoppod.admin = slapos.recipe.neoppod:Admin', diff --git a/slapos/recipe/mydumper.py b/slapos/recipe/mydumper.py deleted file mode 100644 index 10015856f..000000000 --- a/slapos/recipe/mydumper.py +++ /dev/null @@ -1,99 +0,0 @@ -############################################################################## -# -# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved. -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsibility of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# guarantees and support are strongly adviced to contract a Free Software -# Service Company -# -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 3 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -import os - -from slapos.recipe.librecipe import GenericBaseRecipe - - -def _mydumper_base_cmd(mydumper, database, user, password, - socket=None, host=None, port=None, **kw): - cmd = [mydumper] - cmd.extend(['-B', database]) - - if socket: - cmd.extend(['-S', socket]) - else: - cmd.extend(['-h', host]) - cmd.extend(['-P', port]) - - cmd.extend(['-u', user]) - if password: - cmd.extend(['-p', password]) - - return cmd - - -def do_export(args): - cmd = _mydumper_base_cmd(**args) - - if args['compression']: - cmd.append('--compress') - - if args['rows'] is not None: - cmd.extend(['-r', args['rows']]) - - cmd.extend(['-o', args['directory']]) - - os.execv(cmd[0], cmd) - - -def do_import(args): - cmd = _mydumper_base_cmd(**args) - cmd.append('--overwrite-tables') - cmd.extend(['-d', args['directory']]) - os.execv(cmd[0], cmd) - - -class Recipe(GenericBaseRecipe): - - def install(self): - config = { - 'database': self.options['database'], - 'directory': self.options['backup-directory'], - 'user': self.options['user'], - 'password': self.options.get('password'), - } - - if self.options.get('host'): - config['host'] = self.options['host'] - config['port'] = self.options.get('port', 3306) - elif self.options.get('socket'): - config['socket'] = self.options['socket'] - else: - raise ValueError("host or socket must be defined") - - if self.optionIsTrue('import', False): - function = do_import - config['mydumper'] = self.options['myloader-binary'] - else: - function = do_export - config['mydumper'] = self.options['mydumper-binary'] - config['compression'] = self.optionIsTrue('compression', default=False) - config['rows'] = self.options.get('rows') - - return self.createPythonScript(self.options['wrapper'], - '%s.%s' % (function.__module__, function.__name__), (config,)) diff --git a/stack/resilient/README.rst b/stack/resilient/README.rst index ff2a83a67..491ba2168 100644 --- a/stack/resilient/README.rst +++ b/stack/resilient/README.rst @@ -46,7 +46,7 @@ The pull-backup, upon receiving the notification, will make a copy of the data a You should provide the bin/{mysoftware}-exporter script, see for instance https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/postgres/__init__.py#L207 - https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/mydumper.py#L71 + https://lab.nexedi.com/nexedi/slapos/blob/1.0.142/slapos/recipe/mydumper.py#L71 By default, as defined in https://lab.nexedi.com/nexedi/slapos/blob/HEAD/stack/resilient/pbsready-export.cfg.in#L27 @@ -68,7 +68,7 @@ or through a monitoring + election script. You should provide the bin/{mysoftware}-importer script, see for instance https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/postgres/__init__.py#L233 - https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/mydumper.py#L71 + https://lab.nexedi.com/nexedi/slapos/blob/1.0.142/slapos/recipe/mydumper.py#L71 -- 2.30.9