Beispiel #1
0
    def __init__(self, params):
        self.mount_dir = params.get("nfs_mount_dir")
        self.mount_options = params.get("nfs_mount_options")
        self.mount_src = params.get("nfs_mount_src")
        self.nfs_setup = False
        os_dep.command("mount")
        self.unexportfs_in_clean = False

        if params.get("setup_local_nfs") == "yes":
            self.nfs_setup = True
            os_dep.command("service")
            os_dep.command("exportfs")
            self.nfs_service = service.SpecificServiceManager("nfs")
            self.enable_pattern = r"nfsd.*?running"
            self.disable_pattern = r"nfsd.*?stopped"
            if "Loaded: error" in self.nfs_service.status():
                self.nfs_service = service.SpecificServiceManager("nfs-server")
                self.enable_pattern = r"Active: active"
                self.disable_pattern = r"Active: inactive"

            self.export_dir = (params.get("export_dir")
                               or self.mount_src.split(":")[-1])
            self.export_ip = params.get("export_ip", "*")
            self.export_options = params.get("export_options", "").strip()
            self.exportfs = Exportfs(self.export_dir, self.export_ip,
                                     self.export_options)
            self.mount_src = "127.0.0.1:%s" % self.export_dir
Beispiel #2
0
def restart_service(daemon_process=None):
    """
    Restart the docker service using host OS's service manager

    :param daemon_process: Opaque daemon_process object (not for direct use)
    """
    if daemon_process:
        daemon_process.kill_func()
        daemon_process.wait_for(10)
    # _SpecificServiceManager creates it's methods during __init__()
    if service.get_name_of_init() == "systemd":
        utils.run("systemctl start docker.socket", ignore_status=True)
    service.SpecificServiceManager("docker").start()  # pylint: disable=E1101
Beispiel #3
0
def start(docker_path, docker_args):
    """
    Start new docker daemon with special args.

    :param docker_path: Full path to executable
    :param docker_args: List of string of command-line arguments to pass
    :returns: Opaque daemon_process object (not for direct use)
    """
    # _SpecificServiceManager creates it's methods during __init__()
    if service.get_name_of_init() == "systemd":
        # pylint: disable=E1101
        utils.run("systemctl stop docker.socket", ignore_status=True)
    service.SpecificServiceManager("docker").stop()  # pylint: disable=E1101
    cmd = [docker_path]
    cmd += docker_args

    daemon_process = utils.AsyncJob(" ".join(cmd), close_fds=True)
    return daemon_process
Beispiel #4
0
    def __init__(self, params):
        self.mount_dir = params.get("nfs_mount_dir")
        self.mount_options = params.get("nfs_mount_options")
        self.mount_src = params.get("nfs_mount_src")
        self.nfs_setup = False
        os_dep.command("mount")
        self.unexportfs_in_clean = False

        if params.get("setup_local_nfs") == "yes":
            self.nfs_setup = True
            os_dep.command("service")
            os_dep.command("exportfs")
            self.nfs_service = service.SpecificServiceManager("nfs")

            self.export_dir = (params.get("export_dir")
                               or self.mount_src.split(":")[-1])
            self.export_ip = params.get("export_ip", "*")
            self.export_options = params.get("export_options", "").strip()
            self.exportfs = Exportfs(self.export_dir, self.export_ip,
                                     self.export_options)
            self.mount_src = "127.0.0.1:%s" % self.export_dir
Beispiel #5
0
 def __init__(self):
     self._service_manager = service.SpecificServiceManager("cgconfig")