code: def ssh_dir(request):
      """Start the ssh service with docker-compose
  
      Fixture returns the directory
      """
      repo_root = os.path.abspath(
          os.path.join(ipp.__file__, os.pardir, os.pardir)
      )
      ci_directory = os.environ.get(
          "CI_DIR", os.path.join(repo_root, "ci")
      )
      ssh_dir = os.path.join(ci_directory, "ssh")
  
      # only run ssh test if service was started before
      try:
          out = check_output(
              ["docker-compose", "ps", "-q"], cwd=ssh_dir
          )
      except Exception:
          pytest.skip("Needs docker compose")
      else:
          if not out.strip():
              pytest.skip("ssh service not running")
  
      # below is necessary for building/starting service as part of fixture
      # currently we use whether the service is already started to decide whether to run the tests
      # # build image
      # check_call(["docker-compose", "build"], cwd=ssh_dir)
      # # launch service
      # check_call(["docker-compose", "up", "-d"], cwd=ssh_dir)
      # # shutdown service when we exit
      # request.addfinalizer(lambda: check_call(["docker-compose", "down"], cwd=ssh_dir))
      return ssh_dir
  
imports: import inspect
  import logging
  import os
  import sys
  from contextlib import contextmanager
  from pathlib import Path
  from subprocess import check_call, check_output
  from tempfile import NamedTemporaryFile, TemporaryDirectory
  from unittest import mock
  import IPython.paths
  import pytest
  import zmq
  from IPython.core.profiledir import ProfileDir
  from IPython.terminal.interactiveshell import TerminalInteractiveShell
  from traitlets.config import Config
  import ipyparallel
  from .None import setup, teardown
label_desc: Use image node_id 13 for calling a global function with example usage: ssh_dir(request) and returns: ssh_dir