Loading the documentation…

Startup and diagnostics

This page covers what happens when DataMind Oda starts: what you see while it loads, the components a run needs, what its output says when one of them fails, where its environment values come from, and which changes need a restart. The later sections are for the people who launch Oda from a command line, run it in a serving mode, or debug a start that fails.

The loading screen

When you open DataMind Oda, it loads its plugins, the parts it is built from, before its interface appears.

If a plugin cannot load, Oda keeps the screen and reports the failure under the title Failed to load plugins, listing each plugin that failed and the failure report. Plugins that loaded are not listed. Oda does not open with plugins missing: to retry, close Oda and open it again. If the same failure comes back, keep the message and contact your administrator; When DataMind Oda will not start covers the next steps.

Once Oda is open, Settings > Built-in plugins lists the plugins loaded on this computer. A failure that comes up later, after Oda has opened, appears there instead of stopping the app; see Built-in plugins.

What a start does

When a start fails

A failed start prints its diagnosis once. The output reads, in order:

  1. A headline with the count: oda: startup failed: N required plugin(s) did not activate.
  2. The failing components, under Failed plugins (N):, one line per component with its reason; a (required) marker sits beside the required ones.
  3. Components still waiting for a service, under Plugins waiting for services (N):, as a table pairing each component with the services it is missing.

Reasons you may see on a failing line:

Other outcomes:

Keep the output as it is: shown text is already written in Oda's wording, and Diagnostic text and logs explains those rules.

The environment layers

Oda reads its environment from three places. Highest first:

  1. The environment you launch Oda with.
  2. A .env file in the folder you launch from.
  3. A .env file in the Oda home folder; Oda's home folder and settings files covers the folder.

Flags and the command line

Profiles, bundles and patches

How Oda finds each package

Checking a failed start

  1. Read the headline, then the failing components; start with the first reason in the list.
  2. If the output refused a .env file or named a variable, fix the environment first (see The environment layers).
  3. Print the config dump (--dump-config) to see the configuration Oda composed, with each source named (# == <label>, plus , patched by <layers> where a later layer changed a row). A patch that targets nothing is reported with its layer label and skipped. A configuration that cannot be read or parsed stops the dump with failed to read config or failed to parse config.
  4. Print the schema dump (--config-schema-dump) when a component failed to import. It lists every declared entry with a status, schema, partial, absent, unsupported or error, and marks the report incomplete where an entry cannot be read cleanly. It never prints configuration values or the sources of expressions. Command line and flags covers both dump flags.
  5. If a bundle was skipped, repair it or remove its selection. If a start keeps failing the same way, keep the full output for DataMind support. For messages outside a start, see Updates and troubleshooting.

Questions, answered

What does Failed to load plugins mean, and what do I do?

One or more plugins could not load, so Oda could not open its interface; the screen lists the plugins that failed. Close Oda and open it again to retry. If the same failure comes back, keep the message and contact your administrator.

Can I use Oda while a plugin is missing?

No. Oda waits for the full set of plugins before its interface appears. A failure that comes up later, after Oda has opened, is different: it appears in Settings > Built-in plugins instead of stopping the app.

What is required for Oda to start?

The agent loop, the web server, the module and connection layers, the headless runner, the automation face and the SDK server. When one of them is asked to start and cannot activate, the whole start fails. A required component that a profile leaves out or turns off does not fail the start.

Oda stopped with a startup failed line. What should I read first?

Start with the headline: it counts the required components that did not activate, and the list below it names each failing component with its reason, marked (required) where it applies. If the output also refused a .env file, fix the environment first; then use the steps in Checking a failed start.

Oda started, but warned that some entries did not activate. Is something missing?

Yes: some optional components were left out. The run continues without them and everything else keeps working. The warning reads oda: warning: N entry/entries did not activate, and the lines after it name what was left out and why.

Why is a component listed as waiting for a service?

It has not activated because a service it needs, named in pending (waiting for service: X), has not been provided. The Plugins waiting for services (N): table pairs each such component with the services it is missing.

Why did Oda refuse my .env file?

A file may not set the variables that only the launching environment may set: PATH and the names that decide how Oda starts, where its code and instructions load from, or how it reaches the network. The refusal names the variable, and the fix is to export the value where you launch Oda or to move it to the home folder's .env.

Which .env file wins when both set the same value?

The file in the folder you launch from wins over the home folder's file. And a value the launching environment already sets wins over both.

Which wins, a command-line flag or the settings file?

The flag. A flag wins over the configuration, even when the value is written as an expression, and it is resolved once at start, so a later reload never resets it.

Why will Oda not start from an empty settings file?

A settings file must hold a list. A file that is empty, or holds only comments, fails the next start. To switch off what the file adds, keep its header lines and leave an empty list: [].

My profile bundle could not be loaded. What now?

Oda skips the bundle and keeps its selection, so a later start tries it again. Repair the bundle, or remove it from the profile's selections.

Oda will not start. How do I see the configuration it was given?

Print the config dump (--dump-config) for the configuration Oda composed from its layers, and the schema dump (--config-schema-dump) to see whether each declared schema could be read; the schema dump never prints values or expressions. Both flags are on Command line and flags.