def METHOD_NAME(request, session):
    """Submit an EventObservationPlan.
    Parameters
    ----------
    request : skyportal.models.ObservationPlanRequest
        The request to add to the queue and the SkyPortal database.
    """
    from ..models import FacilityTransaction
    altdata = request.allocation.altdata
    if not altdata:
        raise ValueError('Missing allocation information.')
    req = GenericRequest()
    requestgroup = req._build_observation_plan_payload(request)
    payload = {
        'targets': requestgroup["targets"],
        'queue_name': requestgroup["queue_name"],
        'validity_window_mjd': requestgroup["validity_window_mjd"],
        'queue_type': 'list',
        'user': request.requester.username,
    }
    with tempfile.NamedTemporaryFile(mode='w') as f:
        tab = get_table(payload)
        tab.write(f, format='csv')
        f.seek(0)
        ssh = SSHClient()
        ssh.load_system_host_keys()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(
            hostname=altdata['host'],
            port=altdata['port'],
            username=altdata['username'],
            password=altdata['password'],
        )
        scp = SCPClient(ssh.get_transport())
        scp.put(
            f.name,
            os.path.join(altdata['directory'], payload["queue_name"] + '.csv'),
        )
        scp.close()
        request.status = 'submitted'
        transaction = FacilityTransaction(
            request=None,
            response=None,
            observation_plan_request=request,
            initiator_id=request.last_modified_by_id,
        )
        session.add(transaction)