foreman_ansible 7.0.4 → 7.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/ansible_playbooks_controller.rb +66 -0
- data/app/jobs/sync_playbooks.rb +25 -0
- data/app/lib/proxy_api/ansible.rb +13 -0
- data/app/services/foreman_ansible/import_playbooks_error_notification.rb +38 -0
- data/app/services/foreman_ansible/import_playbooks_success_notification.rb +33 -0
- data/app/services/foreman_ansible/playbooks_importer.rb +73 -0
- data/app/services/foreman_ansible/proxy_api.rb +3 -4
- data/app/views/ansible_roles/index.html.erb +2 -0
- data/app/views/api/v2/ansible_playbooks/sync.json.rabl +5 -0
- data/app/views/foreman_ansible/job_templates/ansible_windows_updates.erb +160 -0
- data/app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb +37 -0
- data/config/routes.rb +7 -0
- data/db/seeds.d/90_notification_blueprints.rb +14 -0
- data/lib/foreman_ansible/register.rb +3 -1
- data/lib/foreman_ansible/remote_execution.rb +6 -0
- data/lib/foreman_ansible/version.rb +1 -1
- data/test/fixtures/playbooks_example_output.json +1 -0
- data/test/fixtures/sample_playbooks.json +10 -0
- data/test/functional/api/v2/ansible_playbooks_controller_test.rb +65 -0
- data/test/functional/hosts_controller_test.rb +2 -2
- data/test/unit/import_playbooks_test.rb +51 -0
- data/test/unit/lib/proxy_api/ansible_test.rb +6 -0
- data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/AnsibleVariableOverridesTable.js +58 -75
- data/webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js +44 -58
- data/webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js +32 -55
- data/webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/index.js +1 -1
- data/webpack/components/AnsibleHostDetail/components/RolesTab/RolesTable.js +29 -42
- data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariables.js +27 -38
- data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesActions.js +2 -1
- data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesConstants.js +1 -0
- data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesSelectors.js +6 -0
- data/webpack/components/AnsibleRolesAndVariables/index.js +7 -1
- data/webpack/components/AnsibleRolesSwitcher/components/AvailableRolesList.js +2 -2
- data/webpack/components/AnsibleRolesSwitcher/components/__snapshots__/AvailableRolesList.test.js.snap +9 -6
- data/webpack/helpers/pageParamsHelper.js +3 -3
- metadata +46 -31
- data/webpack/components/withPagination.js +0 -0
- data/webpack/helpers/paginationHelper.js +0 -9
@@ -12,9 +12,8 @@ import {
|
|
12
12
|
ToolbarContent,
|
13
13
|
ToolbarItem,
|
14
14
|
Checkbox,
|
15
|
-
Pagination,
|
16
15
|
} from '@patternfly/react-core';
|
17
|
-
|
16
|
+
import Pagination from 'foremanReact/components/Pagination';
|
18
17
|
import PropTypes from 'prop-types';
|
19
18
|
import { DEFAULT_PER_PAGE } from './AnsibleRolesAndVariablesConstants';
|
20
19
|
import './AnsibleRolesAndVariables.scss';
|
@@ -25,6 +24,7 @@ const ImportRolesAndVariablesTable = ({
|
|
25
24
|
proxy,
|
26
25
|
onSubmit,
|
27
26
|
onCancel,
|
27
|
+
isImporting,
|
28
28
|
}) => {
|
29
29
|
const columns = columnsData.map(col => ({
|
30
30
|
...col,
|
@@ -34,10 +34,13 @@ const ImportRolesAndVariablesTable = ({
|
|
34
34
|
|
35
35
|
const [isChecked, setIsChecked] = useState(false);
|
36
36
|
const [selectedRowsCount, setSelectRowsCount] = useState(0);
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
const [pagination, setPagination] = useState({
|
38
|
+
page: 1,
|
39
|
+
per_page: DEFAULT_PER_PAGE,
|
40
|
+
});
|
41
|
+
const [paginatedRows, setPaginatedRows] = useState(
|
42
|
+
rows.slice(0, pagination.per_page)
|
43
|
+
);
|
41
44
|
|
42
45
|
const onSelect = (event, isSelected, rowId, row) => {
|
43
46
|
const selectableRowLength = rows.filter(
|
@@ -68,43 +71,22 @@ const ImportRolesAndVariablesTable = ({
|
|
68
71
|
onSelect(null, checked, -1);
|
69
72
|
};
|
70
73
|
|
71
|
-
const handleSetPage =
|
72
|
-
const startIdx = (
|
74
|
+
const handleSetPage = args => {
|
75
|
+
const startIdx = (args.page - 1) * args.per_page;
|
73
76
|
const endIdx =
|
74
|
-
rows.length <
|
75
|
-
|
77
|
+
rows.length < args.page * args.per_page
|
78
|
+
? rows.length
|
79
|
+
: args.page * args.per_page;
|
80
|
+
setPagination(args);
|
76
81
|
setPaginatedRows(rows.slice(startIdx, endIdx));
|
77
82
|
};
|
78
83
|
|
79
|
-
const
|
80
|
-
event,
|
81
|
-
newPerPage,
|
82
|
-
newPage,
|
83
|
-
startIdx,
|
84
|
-
endIdx
|
85
|
-
) => {
|
86
|
-
setPerPage(newPerPage);
|
87
|
-
setPage(newPage);
|
88
|
-
setPaginatedRows(rows.slice(startIdx, endIdx));
|
89
|
-
};
|
90
|
-
|
91
|
-
const renderPagination = (variant = 'top') => (
|
84
|
+
const renderPagination = () => (
|
92
85
|
<Pagination
|
93
86
|
isCompact
|
94
87
|
itemCount={rows.length}
|
95
|
-
|
96
|
-
|
97
|
-
defaultToFullPage
|
98
|
-
onSetPage={handleSetPage}
|
99
|
-
onPerPageSelect={handlePerPageSelect}
|
100
|
-
perPageOptions={[
|
101
|
-
{ title: '3', value: 3 },
|
102
|
-
{ title: '5', value: 5 },
|
103
|
-
{ title: '10', value: 10 },
|
104
|
-
]}
|
105
|
-
titles={{
|
106
|
-
paginationTitle: `${variant} pagination`,
|
107
|
-
}}
|
88
|
+
perPage={pagination.per_page}
|
89
|
+
onChange={args => handleSetPage(args)}
|
108
90
|
/>
|
109
91
|
);
|
110
92
|
|
@@ -131,10 +113,15 @@ const ImportRolesAndVariablesTable = ({
|
|
131
113
|
<div className="submit-cancel-btns">
|
132
114
|
<br />
|
133
115
|
<br />
|
134
|
-
<Button
|
116
|
+
<Button
|
117
|
+
variant="primary"
|
118
|
+
onClick={() => onSubmit(rows, proxy)}
|
119
|
+
isLoading={isImporting}
|
120
|
+
isDisabled={isImporting || selectedRowsCount === 0}
|
121
|
+
>
|
135
122
|
Submit
|
136
123
|
</Button>
|
137
|
-
<Button variant="secondary" onClick={onCancel}>
|
124
|
+
<Button variant="secondary" onClick={onCancel} isDisabled={isImporting}>
|
138
125
|
Cancel
|
139
126
|
</Button>
|
140
127
|
</div>
|
@@ -165,6 +152,7 @@ ImportRolesAndVariablesTable.defaultProps = {
|
|
165
152
|
proxy: undefined,
|
166
153
|
onSubmit: undefined,
|
167
154
|
onCancel: undefined,
|
155
|
+
isImporting: false,
|
168
156
|
};
|
169
157
|
|
170
158
|
ImportRolesAndVariablesTable.propTypes = {
|
@@ -173,6 +161,7 @@ ImportRolesAndVariablesTable.propTypes = {
|
|
173
161
|
proxy: PropTypes.number,
|
174
162
|
onSubmit: PropTypes.func,
|
175
163
|
onCancel: PropTypes.func,
|
164
|
+
isImporting: PropTypes.bool,
|
176
165
|
};
|
177
166
|
|
178
167
|
export default ImportRolesAndVariablesTable;
|
@@ -4,6 +4,7 @@ import { post } from 'foremanReact/redux/API';
|
|
4
4
|
import { push } from 'connected-react-router';
|
5
5
|
import { prepareResult } from './AnsibleRolesAndVariablesHelpers';
|
6
6
|
import {
|
7
|
+
IMPORT_ANSIBLE_V_R,
|
7
8
|
ANSIBLE_ROLE_CONFIRM_IMPORT_PATH,
|
8
9
|
ANSIBLE_ROLES_INDEX,
|
9
10
|
} from './AnsibleRolesAndVariablesConstants';
|
@@ -14,7 +15,7 @@ export const onSubmit = (rows, proxy) => dispatch => {
|
|
14
15
|
const params = prepareResult(rows);
|
15
16
|
dispatch(
|
16
17
|
post({
|
17
|
-
key:
|
18
|
+
key: IMPORT_ANSIBLE_V_R,
|
18
19
|
url: ANSIBLE_ROLE_CONFIRM_IMPORT_PATH,
|
19
20
|
params: { changed: params, proxy },
|
20
21
|
handleSuccess: () => {
|
@@ -1,10 +1,13 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { useDispatch } from 'react-redux';
|
2
|
+
import { useDispatch, useSelector } from 'react-redux';
|
3
3
|
import { push } from 'connected-react-router';
|
4
4
|
|
5
|
+
import { STATUS } from 'foremanReact/constants';
|
6
|
+
|
5
7
|
import ImportRolesAndVariablesTable from './AnsibleRolesAndVariables';
|
6
8
|
import { onSubmit } from './AnsibleRolesAndVariablesActions';
|
7
9
|
import { ANSIBLE_ROLES_INDEX } from './AnsibleRolesAndVariablesConstants';
|
10
|
+
import { selectApiImportStatus } from './AnsibleRolesAndVariablesSelectors';
|
8
11
|
|
9
12
|
const WrappedImportRolesAndVariables = props => {
|
10
13
|
const cols = [
|
@@ -19,12 +22,15 @@ const WrappedImportRolesAndVariables = props => {
|
|
19
22
|
const onCancel = () => {
|
20
23
|
dispatch(push(ANSIBLE_ROLES_INDEX));
|
21
24
|
};
|
25
|
+
const apiImportStatus = useSelector(selectApiImportStatus);
|
26
|
+
|
22
27
|
return (
|
23
28
|
<ImportRolesAndVariablesTable
|
24
29
|
{...props}
|
25
30
|
columnsData={cols}
|
26
31
|
onSubmit={submit}
|
27
32
|
onCancel={onCancel}
|
33
|
+
isImporting={apiImportStatus === STATUS.PENDING}
|
28
34
|
/>
|
29
35
|
);
|
30
36
|
};
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
3
3
|
|
4
4
|
import { ListView, LoadingState } from 'patternfly-react';
|
5
|
-
import
|
5
|
+
import Pagination from 'foremanReact/components/Pagination';
|
6
6
|
|
7
7
|
import AnsibleRole from './AnsibleRole';
|
8
8
|
|
@@ -16,7 +16,7 @@ const AvailableRolesList = ({
|
|
16
16
|
}) => (
|
17
17
|
<ListView>
|
18
18
|
<div className="sticky-pagination">
|
19
|
-
<
|
19
|
+
<Pagination
|
20
20
|
viewType="list"
|
21
21
|
itemCount={itemCount}
|
22
22
|
pagination={pagination}
|
@@ -7,21 +7,24 @@ exports[`AvailableRolesList should render 1`] = `
|
|
7
7
|
<div
|
8
8
|
className="sticky-pagination"
|
9
9
|
>
|
10
|
-
<
|
11
|
-
className=
|
12
|
-
disableNext={false}
|
13
|
-
disablePrev={false}
|
10
|
+
<Pagination
|
11
|
+
className={null}
|
14
12
|
dropdownButtonId="available-ansible-roles-pagination-row-dropdown"
|
15
13
|
itemCount={2}
|
14
|
+
noSidePadding={false}
|
16
15
|
onChange={[Function]}
|
17
|
-
|
18
|
-
|
16
|
+
onPerPageSelect={null}
|
17
|
+
onSetPage={null}
|
18
|
+
page={1}
|
19
19
|
pagination={
|
20
20
|
Object {
|
21
21
|
"page": 1,
|
22
22
|
"perPage": 25,
|
23
23
|
}
|
24
24
|
}
|
25
|
+
perPage={null}
|
26
|
+
updateParamsByUrl={true}
|
27
|
+
variant="bottom"
|
25
28
|
viewType="list"
|
26
29
|
/>
|
27
30
|
</div>
|
@@ -14,7 +14,7 @@ export const addSearch = (basePath, params) => {
|
|
14
14
|
|
15
15
|
export const useCurrentPagination = (
|
16
16
|
history,
|
17
|
-
keys = { page: 'page', perPage: '
|
17
|
+
keys = { page: 'page', perPage: 'per_page' }
|
18
18
|
) => {
|
19
19
|
const pageParams = parsePageParams(history);
|
20
20
|
const uiSettings = useForemanSettings();
|
@@ -28,7 +28,7 @@ export const useCurrentPagination = (
|
|
28
28
|
|
29
29
|
export const pageToVars = (
|
30
30
|
pagination,
|
31
|
-
keys = { page: 'page', perPage: '
|
31
|
+
keys = { page: 'page', perPage: 'per_page' }
|
32
32
|
) => ({
|
33
33
|
first: pagination[keys.page] * pagination[keys.perPage],
|
34
34
|
last: pagination[keys.perPage],
|
@@ -36,5 +36,5 @@ export const pageToVars = (
|
|
36
36
|
|
37
37
|
export const useParamsToVars = (
|
38
38
|
history,
|
39
|
-
keys = { page: 'page', perPage: '
|
39
|
+
keys = { page: 'page', perPage: 'per_page' }
|
40
40
|
) => pageToVars(useCurrentPagination(history, keys), keys);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_ansible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Lobato Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: acts_as_list
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- app/controllers/ansible_variables_controller.rb
|
82
82
|
- app/controllers/api/v2/ansible_inventories_controller.rb
|
83
83
|
- app/controllers/api/v2/ansible_override_values_controller.rb
|
84
|
+
- app/controllers/api/v2/ansible_playbooks_controller.rb
|
84
85
|
- app/controllers/api/v2/ansible_roles_controller.rb
|
85
86
|
- app/controllers/api/v2/ansible_variables_controller.rb
|
86
87
|
- app/controllers/concerns/foreman/controller/parameters/ansible_override_value.rb
|
@@ -113,6 +114,7 @@ files:
|
|
113
114
|
- app/helpers/foreman_ansible/ansible_roles_data_preparations.rb
|
114
115
|
- app/helpers/foreman_ansible/ansible_roles_helper.rb
|
115
116
|
- app/helpers/foreman_ansible/hosts_helper_extensions.rb
|
117
|
+
- app/jobs/sync_playbooks.rb
|
116
118
|
- app/jobs/sync_roles_and_variables.rb
|
117
119
|
- app/lib/actions/foreman_ansible/helpers/play_roles_description.rb
|
118
120
|
- app/lib/proxy_api/ansible.rb
|
@@ -131,6 +133,8 @@ files:
|
|
131
133
|
- app/services/foreman_ansible/ansible_report_importer.rb
|
132
134
|
- app/services/foreman_ansible/ansible_report_scanner.rb
|
133
135
|
- app/services/foreman_ansible/api_roles_importer.rb
|
136
|
+
- app/services/foreman_ansible/import_playbooks_error_notification.rb
|
137
|
+
- app/services/foreman_ansible/import_playbooks_success_notification.rb
|
134
138
|
- app/services/foreman_ansible/import_roles_and_variables_error_notification.rb
|
135
139
|
- app/services/foreman_ansible/import_roles_and_variables_success_notification.rb
|
136
140
|
- app/services/foreman_ansible/insights_notification_builder.rb
|
@@ -138,6 +142,7 @@ files:
|
|
138
142
|
- app/services/foreman_ansible/inventory_creator.rb
|
139
143
|
- app/services/foreman_ansible/override_resolver.rb
|
140
144
|
- app/services/foreman_ansible/playbook_creator.rb
|
145
|
+
- app/services/foreman_ansible/playbooks_importer.rb
|
141
146
|
- app/services/foreman_ansible/proxy_api.rb
|
142
147
|
- app/services/foreman_ansible/renderer_methods.rb
|
143
148
|
- app/services/foreman_ansible/roles_importer.rb
|
@@ -152,6 +157,7 @@ files:
|
|
152
157
|
- app/views/ansible_variables/new.html.erb
|
153
158
|
- app/views/api/v2/ansible_override_values/index.json.rabl
|
154
159
|
- app/views/api/v2/ansible_override_values/show.json.rabl
|
160
|
+
- app/views/api/v2/ansible_playbooks/sync.json.rabl
|
155
161
|
- app/views/api/v2/ansible_roles/import.json.rabl
|
156
162
|
- app/views/api/v2/ansible_roles/index.json.rabl
|
157
163
|
- app/views/api/v2/ansible_roles/obsolete.json.rabl
|
@@ -178,7 +184,9 @@ files:
|
|
178
184
|
- app/views/foreman_ansible/job_templates/ansible_roles_-_ansible_default.erb
|
179
185
|
- app/views/foreman_ansible/job_templates/ansible_roles_-_install_from_galaxy.erb
|
180
186
|
- app/views/foreman_ansible/job_templates/ansible_roles_-_install_from_git.erb
|
187
|
+
- app/views/foreman_ansible/job_templates/ansible_windows_updates.erb
|
181
188
|
- app/views/foreman_ansible/job_templates/capsule_upgrade_-_ansible_default.erb
|
189
|
+
- app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb
|
182
190
|
- app/views/foreman_ansible/job_templates/convert_to_rhel.erb
|
183
191
|
- app/views/foreman_ansible/job_templates/maintenance_plan.erb
|
184
192
|
- app/views/foreman_ansible/job_templates/module_action_-_ansible_default.erb
|
@@ -264,12 +272,15 @@ files:
|
|
264
272
|
- test/factories/ansible_variables.rb
|
265
273
|
- test/factories/host_ansible_enhancements.rb
|
266
274
|
- test/fixtures/insights_playbook.yaml
|
275
|
+
- test/fixtures/playbooks_example_output.json
|
267
276
|
- test/fixtures/report.json
|
268
277
|
- test/fixtures/sample_facts.json
|
278
|
+
- test/fixtures/sample_playbooks.json
|
269
279
|
- test/foreman_ansible/helpers/ansible_roles_helper_test.rb
|
270
280
|
- test/functional/ansible_roles_controller_test.rb
|
271
281
|
- test/functional/ansible_variables_controller_test.rb
|
272
282
|
- test/functional/api/v2/ansible_inventories_controller_test.rb
|
283
|
+
- test/functional/api/v2/ansible_playbooks_controller_test.rb
|
273
284
|
- test/functional/api/v2/ansible_roles_controller_test.rb
|
274
285
|
- test/functional/api/v2/ansible_variables_controller_test.rb
|
275
286
|
- test/functional/api/v2/hostgroups_controller_test.rb
|
@@ -291,6 +302,7 @@ files:
|
|
291
302
|
- test/unit/host_ansible_role_test.rb
|
292
303
|
- test/unit/hostgroup_ansible_role_test.rb
|
293
304
|
- test/unit/ignore_roles_test.rb
|
305
|
+
- test/unit/import_playbooks_test.rb
|
294
306
|
- test/unit/import_roles_and_variables.rb
|
295
307
|
- test/unit/lib/proxy_api/ansible_test.rb
|
296
308
|
- test/unit/services/ansible_report_importer_test.rb
|
@@ -352,6 +364,7 @@ files:
|
|
352
364
|
- webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesActions.js
|
353
365
|
- webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesConstants.js
|
354
366
|
- webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesHelpers.js
|
367
|
+
- webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesSelectors.js
|
355
368
|
- webpack/components/AnsibleRolesAndVariables/__test__/AnsibleRolesAndVariablesHelpers.test.js
|
356
369
|
- webpack/components/AnsibleRolesAndVariables/__test__/AnsibleRolesAndVariablesImport.test.js
|
357
370
|
- webpack/components/AnsibleRolesAndVariables/index.js
|
@@ -400,7 +413,6 @@ files:
|
|
400
413
|
- webpack/components/ErrorState.js
|
401
414
|
- webpack/components/ReportJsonViewer.js
|
402
415
|
- webpack/components/withLoading.js
|
403
|
-
- webpack/components/withPagination.js
|
404
416
|
- webpack/formHelper.js
|
405
417
|
- webpack/globalIdHelper.js
|
406
418
|
- webpack/global_index.js
|
@@ -418,7 +430,6 @@ files:
|
|
418
430
|
- webpack/graphql/queries/hostVariableOverrides.gql
|
419
431
|
- webpack/graphql/queries/recurringJobs.gql
|
420
432
|
- webpack/helpers/pageParamsHelper.js
|
421
|
-
- webpack/helpers/paginationHelper.js
|
422
433
|
- webpack/index.js
|
423
434
|
- webpack/permissionsHelper.js
|
424
435
|
- webpack/reducer.js
|
@@ -447,50 +458,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
447
458
|
- !ruby/object:Gem::Version
|
448
459
|
version: '0'
|
449
460
|
requirements: []
|
450
|
-
rubygems_version: 3.
|
461
|
+
rubygems_version: 3.3.4
|
451
462
|
signing_key:
|
452
463
|
specification_version: 4
|
453
464
|
summary: Ansible integration with Foreman (theforeman.org)
|
454
465
|
test_files:
|
455
|
-
- test/
|
456
|
-
- test/factories/ansible_roles.rb
|
457
|
-
- test/factories/ansible_variables.rb
|
458
|
-
- test/factories/host_ansible_enhancements.rb
|
459
|
-
- test/fixtures/insights_playbook.yaml
|
460
|
-
- test/fixtures/sample_facts.json
|
461
|
-
- test/fixtures/report.json
|
466
|
+
- test/functional/ansible_variables_controller_test.rb
|
462
467
|
- test/functional/ansible_roles_controller_test.rb
|
463
|
-
- test/functional/api/v2/ansible_inventories_controller_test.rb
|
464
|
-
- test/functional/api/v2/ansible_roles_controller_test.rb
|
465
468
|
- test/functional/api/v2/ansible_variables_controller_test.rb
|
469
|
+
- test/functional/api/v2/ansible_roles_controller_test.rb
|
466
470
|
- test/functional/api/v2/hostgroups_controller_test.rb
|
471
|
+
- test/functional/api/v2/ansible_playbooks_controller_test.rb
|
472
|
+
- test/functional/api/v2/ansible_inventories_controller_test.rb
|
467
473
|
- test/functional/api/v2/hosts_controller_test.rb
|
468
474
|
- test/functional/ui_ansible_roles_controller_test.rb
|
469
|
-
- test/functional/ansible_variables_controller_test.rb
|
470
475
|
- test/functional/hosts_controller_test.rb
|
471
|
-
- test/
|
476
|
+
- test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
|
477
|
+
- test/graphql/queries/ansible_roles_query_test.rb
|
478
|
+
- test/foreman_ansible/helpers/ansible_roles_helper_test.rb
|
472
479
|
- test/unit/actions/run_ansible_job_test.rb
|
473
480
|
- test/unit/actions/run_proxy_ansible_command_test.rb
|
474
|
-
- test/unit/
|
475
|
-
- test/unit/
|
476
|
-
- test/unit/concerns/host_managed_extensions_test.rb
|
477
|
-
- test/unit/concerns/hostgroup_extensions_test.rb
|
478
|
-
- test/unit/helpers/ansible_reports_helper_test.rb
|
479
|
-
- test/unit/lib/proxy_api/ansible_test.rb
|
481
|
+
- test/unit/services/api_roles_importer_test.rb
|
482
|
+
- test/unit/services/ui_roles_importer_test.rb
|
480
483
|
- test/unit/services/ansible_report_importer_test.rb
|
481
484
|
- test/unit/services/insights_plan_runner_test.rb
|
485
|
+
- test/unit/services/override_resolver_test.rb
|
482
486
|
- test/unit/services/roles_importer_test.rb
|
483
|
-
- test/unit/services/ansible_variables_importer_test.rb
|
484
|
-
- test/unit/services/api_roles_importer_test.rb
|
485
487
|
- test/unit/services/inventory_creator_test.rb
|
486
|
-
- test/unit/services/
|
487
|
-
- test/unit/
|
488
|
-
- test/unit/
|
488
|
+
- test/unit/services/ansible_variables_importer_test.rb
|
489
|
+
- test/unit/lib/proxy_api/ansible_test.rb
|
490
|
+
- test/unit/ansible_role_test.rb
|
491
|
+
- test/unit/hostgroup_ansible_role_test.rb
|
489
492
|
- test/unit/ansible_variable_test.rb
|
490
493
|
- test/unit/host_ansible_role_test.rb
|
491
|
-
- test/unit/
|
494
|
+
- test/unit/helpers/ansible_reports_helper_test.rb
|
495
|
+
- test/unit/ansible_provider_test.rb
|
492
496
|
- test/unit/ignore_roles_test.rb
|
497
|
+
- test/unit/import_playbooks_test.rb
|
493
498
|
- test/unit/import_roles_and_variables.rb
|
494
|
-
- test/
|
495
|
-
- test/
|
496
|
-
- test/
|
499
|
+
- test/unit/concerns/config_reports_extensions_test.rb
|
500
|
+
- test/unit/concerns/host_managed_extensions_test.rb
|
501
|
+
- test/unit/concerns/hostgroup_extensions_test.rb
|
502
|
+
- test/factories/ansible_proxy.rb
|
503
|
+
- test/factories/host_ansible_enhancements.rb
|
504
|
+
- test/factories/ansible_variables.rb
|
505
|
+
- test/factories/ansible_roles.rb
|
506
|
+
- test/fixtures/report.json
|
507
|
+
- test/fixtures/sample_facts.json
|
508
|
+
- test/fixtures/insights_playbook.yaml
|
509
|
+
- test/fixtures/playbooks_example_output.json
|
510
|
+
- test/fixtures/sample_playbooks.json
|
511
|
+
- test/test_plugin_helper.rb
|
File without changes
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { addSearch } from './pageParamsHelper';
|
2
|
-
|
3
|
-
export const preparePerPageOptions = opts =>
|
4
|
-
opts.map(item => ({ title: item.toString(), value: item }));
|
5
|
-
|
6
|
-
export const refreshPage = (history, params = {}) => {
|
7
|
-
const url = addSearch(history.location.pathname, params);
|
8
|
-
history.push(url);
|
9
|
-
};
|