def _full_backup_restore_with_DNS_zone(self, reinstall=False):
        """backup, uninstall, restore"""
        with restore_checker(self.master):
            self.master.run_command([
                'ipa', 'dnszone-add',
                self.example_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            backup_path = backup(self.master)

            self.master.run_command(['ipa-server-install',
                                     '--uninstall',
                                     '-U'])

            if reinstall:
                tasks.install_master(self.master, setup_dns=True)

            dirman_password = self.master.config.dirman_password
            self.master.run_command(['ipa-restore', backup_path],
                                    stdin_text=dirman_password + '\nyes')

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            tasks.kinit_admin(self.master)
            self.master.run_command([
                'ipa', 'dnszone-add',
                self.example2_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example2_test_zone)
    def _full_backup_restore_with_DNS_zone(self, reinstall=False):
        """backup, uninstall, restore"""
        with restore_checker(self.master):
            self.master.run_command([
                'ipa', 'dnszone-add',
                self.example_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            backup_path = backup(self.master)

            self.master.run_command(['ipa-server-install',
                                     '--uninstall',
                                     '-U'])

            if reinstall:
                tasks.install_master(self.master, setup_dns=True)

            dirman_password = self.master.config.dirman_password
            self.master.run_command(['ipa-restore', backup_path],
                                    stdin_text=dirman_password + '\nyes')

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            tasks.kinit_admin(self.master)
            self.master.run_command([
                'ipa', 'dnszone-add',
                self.example2_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example2_test_zone)
Example #3
0
    def _full_backup_restore_with_DNS_zone(self, reinstall=False):
        """backup, uninstall, restore.

        Test for bug https://pagure.io/freeipa/issue/7630.
        """
        with restore_checker(self.master):
            self.master.run_command([
                'ipa',
                'dnszone-add',
                self.example_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            backup_path = tasks.get_backup_dir(self.master)

            self.master.run_command(
                ['ipa-server-install', '--uninstall', '-U'])

            tasks.uninstall_packages(self.master, ['*ipa-server-dns'])

            dirman_password = self.master.config.dirman_password
            result = self.master.run_command(['ipa-restore', backup_path],
                                             stdin_text=dirman_password +
                                             '\nyes',
                                             raiseonerr=False)
            assert 'Please install the package' in result.stderr_text

            tasks.install_packages(self.master, ['*ipa-server-dns'])
            if reinstall:
                tasks.install_master(self.master, setup_dns=True)
            self.master.run_command(['ipa-restore', backup_path],
                                    stdin_text=dirman_password + '\nyes')
            if reinstall:
                # If the server was reinstalled, reinstall may have changed
                # the uid and restore reverts to the original value.
                # clear the cache to make sure we get up-to-date values
                tasks.clear_sssd_cache(self.master)
            tasks.resolve_record(self.master.ip, self.example_test_zone)

            tasks.kinit_admin(self.master)
            self.master.run_command([
                'ipa',
                'dnszone-add',
                self.example2_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example2_test_zone)
    def _full_backup_restore_with_DNS_zone(self, reinstall=False):
        """backup, uninstall, restore.

        Test for bug https://pagure.io/freeipa/issue/7630.
        """
        with restore_checker(self.master):
            self.master.run_command([
                'ipa',
                'dnszone-add',
                self.example_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example_test_zone)

            backup_path = backup(self.master)

            self.master.run_command(
                ['ipa-server-install', '--uninstall', '-U'])

            tasks.uninstall_packages(self.master, ['*ipa-server-dns'])

            dirman_password = self.master.config.dirman_password
            result = self.master.run_command(['ipa-restore', backup_path],
                                             stdin_text=dirman_password +
                                             '\nyes',
                                             raiseonerr=False)
            assert 'Please install the package' in result.stderr_text

            tasks.install_packages(self.master, ['*ipa-server-dns'])
            if reinstall:
                tasks.install_master(self.master, setup_dns=True)
            self.master.run_command(['ipa-restore', backup_path],
                                    stdin_text=dirman_password + '\nyes')
            tasks.resolve_record(self.master.ip, self.example_test_zone)

            tasks.kinit_admin(self.master)
            self.master.run_command([
                'ipa',
                'dnszone-add',
                self.example2_test_zone,
            ])

            tasks.resolve_record(self.master.ip, self.example2_test_zone)