Users reporting job status not loading

This just started occurring recently, for all users. When loading jobs, the status chart is missing:

As you can see the results don’t load. If we click on New UI, then back to the legacy UI, then reload - sometimes it will load, sometimes it won’t.
No changes have been made to Foreman in months. We are running 3.15 at the moment.

This is being reported in Chrome, FF and Edge. Sometimes it loads, sometimes it doesn’t.
Anyone seen this before or have any idea what could be going on?

Thanks.

Any ideas here? This is absolutely annoying. Users having to reload pages, click off the page, click back on, go to new ui, then back. Finally, at some random point, the status will show up.

@MariaAga or @kmalyjur have either of you heard of this happening on the job details page before?

@singularity001 , if you enter the web development console on the page when this is occurring, are there javascript errors within the console tab?

web development console would be the most helpful. Also what is the version of foreman_remote_execution ? (from the about page - System Status card - Plugins tab)

Hello. Sorry, for the delayed response.

Im not a web developer so I have no idea if this helps, but its what shows up in the dev console when the stats fail to load:

lockdown-install.js:1 SES Removing unpermitted intrinsics
2componentRegistry.js:72 Uncaught (in promise) Error: Component not found: JobInvocationContainer among ReactApp, SearchBar, ColumnSelector, AutoComplete, AreaChart, DonutChart, LineChart, PowerStatus, NotificationContainer, ToastNotifications, StorageContainer, PasswordStrength, BreadcrumbBar, Pagination, Layout, EmptyState, BarChart, ChartBox, ComponentWrapper, ConfigReports, DiffModal, ExternalLogout, Slot, DatePicker, RedirectCancelButton, SettingRecords, SettingsTable, SettingUpdateModal, PersonalAccessTokens, JwtTokens, ClipboardCopy, LabelIcon, RelativeDateTime, LongDateTime, ShortDateTime, IsoDate, FormField, InputFactory, Editor, TemplateGenerator, LoginPage, WelcomeAuthSource, WelcomeConfigReports, WelcomeArchitecture
    at Object.getComponent (componentRegistry.js:72:13)
    at Object.markup (componentRegistry.js:105:35)
    at AwaitedMount.js:24:50
    at u (AwaitedMount.js:2:1)
    at Generator.<anonymous> (AwaitedMount.js:2:1)
    at Generator.next (AwaitedMount.js:2:1)
    at c (AwaitedMount.js:2:1)
    at l (AwaitedMount.js:2:1)
    at AwaitedMount.js:2:1
    at new Promise (<anonymous>)Understand this error
2componentRegistry.js:72 Uncaught (in promise) Error: Component not found: TargetingHosts among ReactApp, SearchBar, ColumnSelector, AutoComplete, AreaChart, DonutChart, LineChart, PowerStatus, NotificationContainer, ToastNotifications, StorageContainer, PasswordStrength, BreadcrumbBar, Pagination, Layout, EmptyState, BarChart, ChartBox, ComponentWrapper, ConfigReports, DiffModal, ExternalLogout, Slot, DatePicker, RedirectCancelButton, SettingRecords, SettingsTable, SettingUpdateModal, PersonalAccessTokens, JwtTokens, ClipboardCopy, LabelIcon, RelativeDateTime, LongDateTime, ShortDateTime, IsoDate, FormField, InputFactory, Editor, TemplateGenerator, LoginPage, WelcomeAuthSource, WelcomeConfigReports, WelcomeArchitecture
    at Object.getComponent (componentRegistry.js:72:13)
    at Object.markup (componentRegistry.js:105:35)
    at AwaitedMount.js:24:50
    at u (AwaitedMount.js:2:1)
    at Generator.<anonymous> (AwaitedMount.js:2:1)
    at Generator.next (AwaitedMount.js:2:1)
    at c (AwaitedMount.js:2:1)
    at l (AwaitedMount.js:2:1)
    at AwaitedMount.js:2:1
    at new Promise (<anonymous>)

Foreman 3.15

Name Description Author Version
foreman-tasks The goal of this plugin is to unify the way of showing task statuses across the Foreman instance. It defines Task model for keeping the information about the tasks and Lock for assigning the tasks to resources. The locking allows dealing with preventing multiple colliding tasks to be run on the same resource. It also optionally provides Dynflow infrastructure for using it for managing the tasks. Ivan Nečas 11.0.0
foreman_kubevirt Provision and manage Kubevirt Virtual Machines from Foreman. Moti Asayag 0.4.1
foreman_puppet Allow assigning Puppet environments and classes to the Foreman Hosts. Ondřej Ezr and Shira Maximov 9.0.0
foreman_remote_execution A plugin bringing remote execution to the Foreman, completing the config management functionality with remote management functionality. Foreman Remote Execution team 16.0.3
foreman_salt Foreman Plug-in for Salt Stephen Benjamin 17.0.2
foreman_statistics Statistics and Trends for Foreman gives users overview of their infrastructure. Ondrej Ezr 2.1.0
foreman_templates Engine to synchronise provisioning templates from GitHub Greg Sutcliffe 10.0.8
foreman_vault dmTECH GmbH 3.0.0
foreman_webhooks Plugin for Foreman that allows to configure Webhooks. Timo Goebel 4.0.1

Bump, any thoughts? Its really making it a pain on jobs, and we run many.

Sorry, bumping again. This is still a major issue for dozens of users. Anything we can do?

Guess I will start debugging this myself, lack of replies tells me probably no one knows.

I’ll document what I do and find here, with the help of Claude:

The Problem

Foreman’s UI uses a component registry (componentRegistry.js) where React components must be explicitly registered before they can be rendered. When a page tries to mount a component, it looks it up by name in the registry.

Two components are missing:

  1. JobInvocationContainer — renders the job invocation page (including the status donut/pie chart)

  2. TargetingHosts — renders the host targeting list for a job

These components are not part of core Foreman — they come from the foreman_remote_execution plugin (REX). The error confirms this: the registry lists only core Foreman components, with no REX components registered at all.

Root Cause

The foreman_remote_execution plugin’s JavaScript assets are not being loaded or registered. Common causes on Foreman 3.x:

  1. Assets not precompiled after a plugin install/upgrade — the plugin’s webpack entries weren’t built, so its components never get registered.

  2. Plugin version mismatch — the installed foreman_remote_execution gem version isn’t compatible with Foreman 3.16, so its JS pack fails to load silently.

  3. Webpack bundle missing or erroring — the plugin’s JS entrypoint (foreman_remote_execution.js) either doesn’t exist in the compiled assets or throws an error before it can register its components.

What to Check

# 1. Verify the plugin is installed and its version
foreman-rake plugin:list | grep remote_execution

# 2. Check if the plugin's webpack pack exists
ls /usr/share/foreman/public/webpack/foreman_remote_execution*

# 3. If missing, recompile assets
foreman-rake webpack:compile
# or on RPM-based installs:
foreman-installer --no-enable-foreman --skip-checks-i-know-better

# 4. Check for JS errors during asset loading in the Rails log
grep -i "remote_execution\|webpack\|asset" /var/log/foreman/production.log | tail -50

The fix is almost certainly recompiling the webpack assets so the REX plugin’s components get registered. If the plugin was recently upgraded or Foreman was upgraded without re-running foreman-installer, the JS bundles for plugins can get out of sync.

foreman_remote_execution loading - but results still not displayed:

Since Foreman 3.15 is unsupported, I tested this on Foreman 3.16 (Satellite 6.18) but couldn’t reproduce the issue. Could you please check if this still happens on a newer version? If it does, let us know whether it requires specific conditions to trigger (such as a large number of hosts).

1 Like

We are now on 3.18.1 (upgraded 2 weeks ago) and it still occurs. Albeit, maybe not as frequent?

Restarting all the foreman services seems to help as well.

1 Like