foreman_remote_execution 16.7.0 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/job_invocations_controller.rb +24 -2
- data/app/controllers/job_invocations_controller.rb +1 -28
- data/app/views/api/v2/job_invocations/hosts.json.rabl +8 -0
- data/app/views/api/v2/job_invocations/main.json.rabl +1 -0
- data/app/views/job_templates/_alerts.html.erb +4 -0
- data/config/routes.rb +0 -1
- data/lib/foreman_remote_execution/plugin.rb +3 -3
- data/lib/foreman_remote_execution/version.rb +1 -1
- data/test/functional/api/v2/job_invocations_controller_test.rb +46 -7
- data/webpack/JobInvocationDetail/JobInvocationActions.js +86 -91
- data/webpack/JobInvocationDetail/JobInvocationConstants.js +6 -4
- data/webpack/JobInvocationDetail/JobInvocationDetail.scss +5 -3
- data/webpack/JobInvocationDetail/JobInvocationHostTable.js +92 -46
- data/webpack/JobInvocationDetail/JobInvocationSelectors.js +1 -9
- data/webpack/JobInvocationDetail/JobInvocationSystemStatusChart.js +5 -2
- data/webpack/JobInvocationDetail/JobInvocationToolbarButtons.js +10 -12
- data/webpack/JobInvocationDetail/TemplateInvocation.js +38 -26
- data/webpack/JobInvocationDetail/TemplateInvocationComponents/OutputCodeBlock.js +2 -1
- data/webpack/JobInvocationDetail/TemplateInvocationComponents/TemplateActionButtons.js +17 -6
- data/webpack/JobInvocationDetail/TemplateInvocationComponents/index.scss +0 -1
- data/webpack/JobInvocationDetail/__tests__/JobInvocationHostTablePolling.test.js +369 -0
- data/webpack/JobInvocationDetail/__tests__/JobInvocationPolling.test.js +228 -0
- data/webpack/JobInvocationDetail/__tests__/MainInformation.test.js +205 -154
- data/webpack/JobInvocationDetail/__tests__/TemplateInvocationPolling.test.js +254 -0
- data/webpack/JobInvocationDetail/__tests__/fixtures.js +2 -0
- data/webpack/JobInvocationDetail/index.js +25 -25
- data/webpack/JobWizard/JobWizard.js +5 -1
- data/webpack/JobWizard/JobWizard.scss +21 -0
- data/webpack/JobWizard/JobWizardConstants.js +10 -1
- data/webpack/JobWizard/steps/Schedule/RepeatHour.js +4 -2
- data/webpack/JobWizard/steps/Schedule/RepeatWeek.js +4 -2
- data/webpack/JobWizard/steps/Schedule/ScheduleRecurring.js +2 -1
- data/webpack/JobWizard/steps/Schedule/ScheduleType.js +4 -1
- data/webpack/JobWizard/steps/form/DateTimePicker.js +12 -6
- data/webpack/JobWizard/steps/form/FormHelpers.js +5 -4
- data/webpack/react_app/components/FeaturesDropdown/index.scss +2 -0
- data/webpack/react_app/components/TargetingHosts/TargetingHostsLabelsRow.scss +6 -2
- data/webpack/react_app/components/TargetingHosts/__tests__/__snapshots__/TargetingHostsPage.test.js.snap +1 -1
- data/webpack/react_app/components/TargetingHosts/index.js +2 -1
- data/webpack/react_app/redux/actions/jobInvocations/index.js +3 -2
- data/webpack/test_setup.js +1 -13
- metadata +7 -4
- data/webpack/__mocks__/foremanReact/constants.js +0 -25
|
@@ -3,24 +3,28 @@
|
|
|
3
3
|
.tasks-labels-row {
|
|
4
4
|
margin: 0;
|
|
5
5
|
padding: 10px;
|
|
6
|
+
|
|
6
7
|
.title {
|
|
7
8
|
font-weight: 600;
|
|
8
9
|
font-size: 13px;
|
|
9
10
|
}
|
|
11
|
+
|
|
10
12
|
.label {
|
|
11
13
|
font-size: 100%;
|
|
12
|
-
|
|
13
14
|
margin-left: 5px;
|
|
14
15
|
margin-right: 5px;
|
|
16
|
+
|
|
15
17
|
a {
|
|
16
18
|
padding-left: 10px;
|
|
17
19
|
}
|
|
18
20
|
}
|
|
21
|
+
|
|
19
22
|
.pficon-close {
|
|
20
23
|
color: $color-pf-white;
|
|
21
24
|
}
|
|
25
|
+
|
|
22
26
|
.compound-label-pf {
|
|
23
|
-
margin-left: 0;
|
|
24
27
|
margin: 10px;
|
|
28
|
+
margin-left: 0;
|
|
25
29
|
}
|
|
26
30
|
}
|
|
@@ -25,7 +25,7 @@ exports[`TargetingHostsPage renders 1`] = `
|
|
|
25
25
|
},
|
|
26
26
|
"bookmarks": Object {
|
|
27
27
|
"canCreate": true,
|
|
28
|
-
"documentationUrl": "4.1.5Searching",
|
|
28
|
+
"documentationUrl": "/links/manual/4.1.5Searching",
|
|
29
29
|
"id": "targeting_hosts_search",
|
|
30
30
|
"url": "/api/bookmarks",
|
|
31
31
|
},
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
withInterval,
|
|
8
8
|
stopInterval,
|
|
9
9
|
} from 'foremanReact/redux/middlewares/IntervalMiddleware';
|
|
10
|
+
import { MS_PER_SECOND } from 'foremanReact/constants';
|
|
10
11
|
|
|
11
12
|
import {
|
|
12
13
|
selectItems,
|
|
@@ -100,7 +101,7 @@ const WrappedTargetingHosts = () => {
|
|
|
100
101
|
dispatch(stopInterval(TARGETING_HOSTS));
|
|
101
102
|
},
|
|
102
103
|
}),
|
|
103
|
-
|
|
104
|
+
MS_PER_SECOND
|
|
104
105
|
),
|
|
105
106
|
[dispatch]
|
|
106
107
|
);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
2
|
import API from 'foremanReact/API';
|
|
3
|
+
import { HTTP_STATUS_CODES, MS_PER_SECOND } from 'foremanReact/constants';
|
|
3
4
|
|
|
4
5
|
import {
|
|
5
6
|
JOB_INVOCATIONS_GET_JOB_INVOCATIONS,
|
|
@@ -7,7 +8,7 @@ import {
|
|
|
7
8
|
JOB_INVOCATIONS_JOB_FINISHED,
|
|
8
9
|
} from '../../consts';
|
|
9
10
|
|
|
10
|
-
const defaultJobInvocationsPollingInterval =
|
|
11
|
+
const defaultJobInvocationsPollingInterval = MS_PER_SECOND;
|
|
11
12
|
const jobInvocationsInterval =
|
|
12
13
|
process.env.JOB_INVOCATIONS_POLLING || defaultJobInvocationsPollingInterval;
|
|
13
14
|
|
|
@@ -32,7 +33,7 @@ const getJobInvocations = url => async (dispatch, getState) => {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
function onGetJobInvocationsFailed(error) {
|
|
35
|
-
if (error.response.status ===
|
|
36
|
+
if (error.response.status === HTTP_STATUS_CODES.UNAUTHORIZED) {
|
|
36
37
|
window.location.replace('/users/login');
|
|
37
38
|
}
|
|
38
39
|
}
|
data/webpack/test_setup.js
CHANGED
|
@@ -1,13 +1 @@
|
|
|
1
|
-
import '
|
|
2
|
-
import 'regenerator-runtime/runtime';
|
|
3
|
-
|
|
4
|
-
import { configure } from '@theforeman/test';
|
|
5
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
6
|
-
import Adapter from 'enzyme-adapter-react-16';
|
|
7
|
-
|
|
8
|
-
configure({ adapter: new Adapter() });
|
|
9
|
-
|
|
10
|
-
// Mocking translation function
|
|
11
|
-
global.__ = str => str;
|
|
12
|
-
global.n__ = str => str;
|
|
13
|
-
global.Jed = { sprintf: str => str };
|
|
1
|
+
import 'foremanJSTestSetup';
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foreman_remote_execution
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 17.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Foreman Remote Execution team
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-08-17 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: deface
|
|
@@ -202,6 +202,7 @@ files:
|
|
|
202
202
|
- app/views/job_invocations/show.js.erb
|
|
203
203
|
- app/views/job_invocations/show.json.erb
|
|
204
204
|
- app/views/job_invocations/welcome.html.erb
|
|
205
|
+
- app/views/job_templates/_alerts.html.erb
|
|
205
206
|
- app/views/job_templates/_custom_tab_headers.html.erb
|
|
206
207
|
- app/views/job_templates/_custom_tabs.html.erb
|
|
207
208
|
- app/views/job_templates/_import_job_template_modal.html.erb
|
|
@@ -397,10 +398,13 @@ files:
|
|
|
397
398
|
- webpack/JobInvocationDetail/TemplateInvocationComponents/index.scss
|
|
398
399
|
- webpack/JobInvocationDetail/TemplateInvocationPage.js
|
|
399
400
|
- webpack/JobInvocationDetail/__tests__/JobInvocationDetailEmptyState.test.js
|
|
401
|
+
- webpack/JobInvocationDetail/__tests__/JobInvocationHostTablePolling.test.js
|
|
402
|
+
- webpack/JobInvocationDetail/__tests__/JobInvocationPolling.test.js
|
|
400
403
|
- webpack/JobInvocationDetail/__tests__/MainInformation.test.js
|
|
401
404
|
- webpack/JobInvocationDetail/__tests__/OutputCodeBlock.test.js
|
|
402
405
|
- webpack/JobInvocationDetail/__tests__/TableToolbarActions.test.js
|
|
403
406
|
- webpack/JobInvocationDetail/__tests__/TemplateInvocation.test.js
|
|
407
|
+
- webpack/JobInvocationDetail/__tests__/TemplateInvocationPolling.test.js
|
|
404
408
|
- webpack/JobInvocationDetail/__tests__/fixtures.js
|
|
405
409
|
- webpack/JobInvocationDetail/__tests__/foremanTestHelpers.js
|
|
406
410
|
- webpack/JobInvocationDetail/index.js
|
|
@@ -481,7 +485,6 @@ files:
|
|
|
481
485
|
- webpack/__mocks__/foremanReact/components/Pagination.js
|
|
482
486
|
- webpack/__mocks__/foremanReact/components/ToastsList/index.js
|
|
483
487
|
- webpack/__mocks__/foremanReact/components/common/ActionButtons/ActionButtons.js
|
|
484
|
-
- webpack/__mocks__/foremanReact/constants.js
|
|
485
488
|
- webpack/__mocks__/foremanReact/history.js
|
|
486
489
|
- webpack/__mocks__/foremanReact/redux/API/APIActions.js
|
|
487
490
|
- webpack/__mocks__/foremanReact/redux/API/APIConstants.js
|
|
@@ -564,7 +567,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
564
567
|
- !ruby/object:Gem::Version
|
|
565
568
|
version: '0'
|
|
566
569
|
requirements: []
|
|
567
|
-
rubygems_version: 4.0.
|
|
570
|
+
rubygems_version: 4.0.16
|
|
568
571
|
specification_version: 4
|
|
569
572
|
summary: A plugin bringing remote execution to the Foreman, completing the config
|
|
570
573
|
management functionality with remote management functionality.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export const STATUS = {
|
|
2
|
-
PENDING: 'PENDING',
|
|
3
|
-
RESOLVED: 'RESOLVED',
|
|
4
|
-
ERROR: 'ERROR',
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export const getControllerSearchProps = (
|
|
8
|
-
controller,
|
|
9
|
-
id = 'searchBar',
|
|
10
|
-
canCreate = true
|
|
11
|
-
) => ({
|
|
12
|
-
controller,
|
|
13
|
-
autocomplete: {
|
|
14
|
-
id,
|
|
15
|
-
searchQuery: '',
|
|
16
|
-
url: `${controller}/auto_complete_search`,
|
|
17
|
-
useKeyShortcuts: true,
|
|
18
|
-
},
|
|
19
|
-
bookmarks: {
|
|
20
|
-
id,
|
|
21
|
-
url: '/api/bookmarks',
|
|
22
|
-
canCreate,
|
|
23
|
-
documentationUrl: `4.1.5Searching`,
|
|
24
|
-
},
|
|
25
|
-
});
|