mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Add more test tasks
- install_client - connect_replica - disconnect_replica - prepare_host - kinit_admin
This commit is contained in:
@@ -24,7 +24,7 @@ import os
|
|||||||
import nose
|
import nose
|
||||||
|
|
||||||
from ipapython.ipa_log_manager import log_mgr
|
from ipapython.ipa_log_manager import log_mgr
|
||||||
from ipatests.test_integration.config import get_global_config, env_to_script
|
from ipatests.test_integration.config import get_global_config
|
||||||
from ipatests.test_integration import tasks
|
from ipatests.test_integration import tasks
|
||||||
from ipatests.order_plugin import ordered
|
from ipatests.order_plugin import ordered
|
||||||
|
|
||||||
@@ -74,10 +74,7 @@ class IntegrationTest(object):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def prepare_host(cls, host):
|
def prepare_host(cls, host):
|
||||||
cls.log.info('Preparing host %s', host.hostname)
|
cls.log.info('Preparing host %s', host.hostname)
|
||||||
env_filename = os.path.join(host.config.test_dir, 'env.sh')
|
tasks.prepare_host(host)
|
||||||
cls.collect_log(host, env_filename)
|
|
||||||
host.mkdir_recursive(host.config.test_dir)
|
|
||||||
host.put_file_contents(env_filename, env_to_script(host.to_env()))
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def install(cls):
|
def install(cls):
|
||||||
|
|||||||
@@ -273,8 +273,6 @@ class Host(object):
|
|||||||
else:
|
else:
|
||||||
self.log.critical('No SSH credentials configured')
|
self.log.critical('No SSH credentials configured')
|
||||||
raise RuntimeError('No SSH credentials configured')
|
raise RuntimeError('No SSH credentials configured')
|
||||||
# Clean up the test directory
|
|
||||||
self.run_command(['rm', '-rvf', self.config.test_dir])
|
|
||||||
return transport
|
return transport
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
@@ -25,10 +25,18 @@ import re
|
|||||||
|
|
||||||
from ipapython import ipautil
|
from ipapython import ipautil
|
||||||
from ipapython.ipa_log_manager import log_mgr
|
from ipapython.ipa_log_manager import log_mgr
|
||||||
|
from ipatests.test_integration.config import env_to_script
|
||||||
|
|
||||||
log = log_mgr.get_logger(__name__)
|
log = log_mgr.get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def prepare_host(host):
|
||||||
|
env_filename = os.path.join(host.config.test_dir, 'env.sh')
|
||||||
|
host.collect_log(env_filename)
|
||||||
|
host.mkdir_recursive(host.config.test_dir)
|
||||||
|
host.put_file_contents(env_filename, env_to_script(host.to_env()))
|
||||||
|
|
||||||
|
|
||||||
def apply_common_fixes(host):
|
def apply_common_fixes(host):
|
||||||
fix_etc_hosts(host)
|
fix_etc_hosts(host)
|
||||||
fix_hostname(host)
|
fix_hostname(host)
|
||||||
@@ -93,6 +101,9 @@ def unapply_fixes(host):
|
|||||||
restore_files(host)
|
restore_files(host)
|
||||||
restore_hostname(host)
|
restore_hostname(host)
|
||||||
|
|
||||||
|
# Clean up the test directory
|
||||||
|
host.run_command(['rm', '-rvf', host.config.test_dir])
|
||||||
|
|
||||||
|
|
||||||
def restore_files(host):
|
def restore_files(host):
|
||||||
backupname = os.path.join(host.config.test_dir, 'file_backup')
|
backupname = os.path.join(host.config.test_dir, 'file_backup')
|
||||||
@@ -147,8 +158,7 @@ def install_master(host):
|
|||||||
|
|
||||||
enable_replication_debugging(host)
|
enable_replication_debugging(host)
|
||||||
|
|
||||||
host.run_command(['kinit', 'admin'],
|
kinit_admin(host)
|
||||||
stdin_text=host.config.admin_password)
|
|
||||||
|
|
||||||
|
|
||||||
def install_replica(master, replica, setup_ca=True):
|
def install_replica(master, replica, setup_ca=True):
|
||||||
@@ -178,16 +188,36 @@ def install_replica(master, replica, setup_ca=True):
|
|||||||
|
|
||||||
enable_replication_debugging(replica)
|
enable_replication_debugging(replica)
|
||||||
|
|
||||||
replica.run_command(['kinit', 'admin'],
|
kinit_admin(replica)
|
||||||
stdin_text=replica.config.admin_password)
|
|
||||||
|
def install_client(master, client):
|
||||||
|
client.collect_log('/var/log/ipaclient-install.log')
|
||||||
|
|
||||||
|
apply_common_fixes(client)
|
||||||
|
|
||||||
|
client.run_command(['ipa-client-install', '-U',
|
||||||
|
'--domain', client.domain.name,
|
||||||
|
'--realm', client.domain.realm,
|
||||||
|
'-p', client.config.admin_name,
|
||||||
|
'-w', client.config.admin_password,
|
||||||
|
'--server', master.hostname])
|
||||||
|
|
||||||
|
kinit_admin(client)
|
||||||
|
|
||||||
|
|
||||||
def connect_replica(master, replica=None):
|
def connect_replica(master, replica):
|
||||||
if replica is None:
|
kinit_admin(replica)
|
||||||
args = [replica.hostname, master.hostname]
|
replica.run_command(['ipa-replica-manage', 'connect', master.hostname])
|
||||||
else:
|
|
||||||
args = [master.hostname]
|
|
||||||
replica.run_command(['ipa-replica-manage', 'connect'] + args)
|
def disconnect_replica(master, replica):
|
||||||
|
kinit_admin(replica)
|
||||||
|
replica.run_command(['ipa-replica-manage', 'disconnect', master.hostname])
|
||||||
|
|
||||||
|
|
||||||
|
def kinit_admin(host):
|
||||||
|
host.run_command(['kinit', 'admin'],
|
||||||
|
stdin_text=host.config.admin_password)
|
||||||
|
|
||||||
|
|
||||||
def uninstall_master(host):
|
def uninstall_master(host):
|
||||||
|
|||||||
Reference in New Issue
Block a user