def check(self): if linux.os['family'] in ('RedHat', 'Oracle') and linux.os['version'] >= (6, 0): # Avoid "Can't locate Time/HiRes.pm in @INC" # with InnoDB Backup Utility v1.5.1-xtrabackup pkgmgr.installed('perl-Time-HiRes') mgr = pkgmgr.package_mgr() if not 'percona' in mgr.repos(): if linux.os['family'] in ('RedHat', 'Oracle'): url = 'http://www.percona.com/downloads/percona-release/percona-release-0.0-1.%s.rpm' % linux.os[ 'arch'] pkgmgr.YumPackageMgr().localinstall(url) if linux.os.amazon: linux.system(("sed -i 's/\$releasever/latest/g' " "/etc/yum.repos.d/Percona.repo"), shell=True) else: try: codename = linux.os['lsb_codename'] except KeyError: codename = linux.ubuntu_release_to_codename[ linux.os['lsb_release']] pkgmgr.apt_source( 'percona.list', ['deb http://repo.percona.com/apt %s main' % codename], gpg_keyserver='hkp://keys.gnupg.net', gpg_keyid='CD2EFD2A') mgr.updatedb() if software.mysql_software_info().version < (5, 5): self.package = 'percona-xtrabackup-21' else: self.package = 'percona-xtrabackup' return super(PerconaExec, self).check()
def check(self): if linux.os['family'] in ('RedHat', 'Oracle') and linux.os['version'] >= (6, 0): # Avoid "Can't locate Time/HiRes.pm in @INC" # with InnoDB Backup Utility v1.5.1-xtrabackup pkgmgr.installed('perl-Time-HiRes') mgr = pkgmgr.package_mgr() if not 'percona' in mgr.repos(): if linux.os['family'] in ('RedHat', 'Oracle'): url = 'http://www.percona.com/downloads/percona-release/percona-release-0.0-1.%s.rpm' % linux.os['arch'] pkgmgr.YumPackageMgr().localinstall(url) if linux.os.amazon: linux.system(("sed -i 's/\$releasever/latest/g' " "/etc/yum.repos.d/Percona.repo"), shell=True) else: try: codename = linux.os['lsb_codename'] except KeyError: codename = linux.ubuntu_release_to_codename[linux.os['lsb_release']] pkgmgr.apt_source( 'percona.list', ['deb http://repo.percona.com/apt %s main' % codename], gpg_keyserver='hkp://keys.gnupg.net', gpg_keyid='CD2EFD2A') mgr.updatedb() if software.mysql_software_info().version < (5, 5): self.package = 'percona-xtrabackup-21' else: self.package = 'percona-xtrabackup' return super(PerconaExec, self).check()