Skip to content

Commit

Permalink
Fixues
Browse files Browse the repository at this point in the history
  • Loading branch information
oyvindeide committed Nov 1, 2024
1 parent 413b41e commit ad2cd54
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 45 deletions.
6 changes: 3 additions & 3 deletions src/everest/bin/everest_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import threading
from functools import partial

from ert.config.queue_config import LocalQueueOptions
from everest.config import EverestConfig
from everest.detached import (
ServerStatus,
everserver_status,
generate_everserver_ert_config,
server_is_running,
start_server,
wait_for_server,
Expand Down Expand Up @@ -98,8 +98,8 @@ async def run_everest(options):
logger.info("Everest forward model contains job {}".format(job_name))

makedirs_if_needed(options.config.output_dir, roll_if_exists=True)

await start_server(options.config, LocalQueueOptions())
server_config = generate_everserver_ert_config(options.config)
await start_server(options.config, server_config)
print("Waiting for server ...")
wait_for_server(options.config, timeout=600)
print("Everest server found!")
Expand Down
4 changes: 2 additions & 2 deletions src/everest/config/everest_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,8 @@ class EverestConfig(BaseModelWithPropertySupport): # type: ignore
evaluated.
""",
)
server: Optional[ServerConfig] = Field(
default=None,
server: ServerConfig = Field(
default_factory=ServerConfig,
description="""Defines Everest server settings, i.e., which queue system,
queue name and queue options are used for the everest server.
The main reason for changing this section is situations where everest
Expand Down
4 changes: 2 additions & 2 deletions src/everest/config/server_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ class ServerConfig(BaseModel, HasErtQueueOptions): # type: ignore
Examples to set memory requirement is:
* rusage[mem=1000]""",
)
queue_system: Optional[Literal["lsf", "local", "slurm"]] = Field(
None,
queue_system: Literal["lsf", "local", "slurm"] = Field(
"local",
description="Defines which queue system the everest server runs on.",
)
model_config = ConfigDict(
Expand Down
41 changes: 3 additions & 38 deletions src/everest/detached/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from seba_sqlite.exceptions import ObjectNotFoundError
from seba_sqlite.snapshot import SebaSnapshot

from ert.config import ErtConfig, QueueSystem
from ert.config import QueueSystem
from ert.config.queue_config import QueueOptions
from ert.scheduler import create_driver
from ert.scheduler.driver import FailedSubmit
Expand All @@ -27,7 +27,6 @@
OPT_PROGRESS_ID,
SIM_PROGRESS_ENDPOINT,
SIM_PROGRESS_ID,
SIMULATION_DIR,
STOP_ENDPOINT,
)
from everest.util import configure_logger
Expand Down Expand Up @@ -380,51 +379,17 @@ def _find_res_queue_system(config: EverestConfig):


def generate_everserver_ert_config(config: EverestConfig, debug_mode: bool = False):
assert config.config_directory is not None
assert config.config_file is not None

site_config = ErtConfig.read_site_config()
abs_everest_config = os.path.join(config.config_directory, config.config_file)
detached_node_dir = config.detached_node_dir
simulation_path = os.path.join(detached_node_dir, SIMULATION_DIR)
queue_system = _find_res_queue_system(config)
arg_list = ["--config-file", abs_everest_config]
if debug_mode:
arg_list.append("--debug")

everserver_config = {} if site_config is None else site_config
everserver_config.update(
{
"RUNPATH": simulation_path,
"JOBNAME": EVEREST_SERVER_CONFIG,
"NUM_REALIZATIONS": 1,
"MAX_SUBMIT": 1,
"ENSPATH": os.path.join(detached_node_dir, EVEREST_SERVER_CONFIG),
"RUNPATH_FILE": os.path.join(detached_node_dir, ".res_runpath_list"),
}
)
install_job = everserver_config.get("INSTALL_JOB", [])
install_job.append((EVEREST_SERVER_CONFIG, _EVERSERVER_JOB_PATH))
everserver_config["INSTALL_JOB"] = install_job

simulation_job = everserver_config.get("SIMULATION_JOB", [])
simulation_job.append([EVEREST_SERVER_CONFIG, *arg_list])
everserver_config["SIMULATION_JOB"] = simulation_job

queue_options = {}
if queue_system in _QUEUE_SYSTEMS:
everserver_config["QUEUE_SYSTEM"] = queue_system
queue_options = _generate_queue_options(
config,
_QUEUE_SYSTEMS[queue_system]["options"],
_QUEUE_SYSTEMS[queue_system]["name"],
queue_system,
)
if queue_options:
everserver_config.setdefault("QUEUE_OPTION", []).extend(queue_options)
else:
everserver_config["QUEUE_SYSTEM"] = queue_system

return everserver_config
return QueueOptions.create_queue_options(queue_system, queue_options, True)


def _query_server(cert, auth, endpoint):
Expand Down

0 comments on commit ad2cd54

Please sign in to comment.