mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
Removes fetching of default instance groups in the UI on launch and schedule/node creation
This commit is contained in:
parent
61093b2532
commit
e069150fbf
@ -42,7 +42,6 @@ function LaunchButton({ resource, children }) {
|
||||
const [launchConfig, setLaunchConfig] = useState(null);
|
||||
const [surveyConfig, setSurveyConfig] = useState(null);
|
||||
const [labels, setLabels] = useState([]);
|
||||
const [instanceGroups, setInstanceGroups] = useState([]);
|
||||
const [isLaunching, setIsLaunching] = useState(false);
|
||||
const [error, setError] = useState(null);
|
||||
|
||||
@ -71,26 +70,12 @@ function LaunchButton({ resource, children }) {
|
||||
setSurveyConfig(data);
|
||||
}
|
||||
|
||||
const relatedPromises = [];
|
||||
|
||||
if (launch.ask_labels_on_launch) {
|
||||
relatedPromises.push(readLabels);
|
||||
} else {
|
||||
relatedPromises.push(null);
|
||||
}
|
||||
const {
|
||||
data: { results },
|
||||
} = await readLabels;
|
||||
|
||||
if (launch.ask_instance_groups_on_launch) {
|
||||
relatedPromises.push(JobTemplatesAPI.readInstanceGroups(resource.id));
|
||||
} else {
|
||||
relatedPromises.push(null);
|
||||
}
|
||||
|
||||
const [labelsResponse, instanceGroupsResponse] = await Promise.all(
|
||||
relatedPromises
|
||||
);
|
||||
|
||||
if (launch.ask_labels_on_launch) {
|
||||
const allLabels = labelsResponse?.data?.results.map((label) => ({
|
||||
const allLabels = results.map((label) => ({
|
||||
...label,
|
||||
isReadOnly: true,
|
||||
}));
|
||||
@ -98,10 +83,6 @@ function LaunchButton({ resource, children }) {
|
||||
setLabels(allLabels);
|
||||
}
|
||||
|
||||
if (launch.ask_instance_groups_on_launch) {
|
||||
setInstanceGroups(instanceGroupsResponse?.data?.results);
|
||||
}
|
||||
|
||||
if (canLaunchWithoutPrompt(launch)) {
|
||||
await launchWithParams({});
|
||||
} else {
|
||||
@ -216,7 +197,6 @@ function LaunchButton({ resource, children }) {
|
||||
labels={labels}
|
||||
onLaunch={launchWithParams}
|
||||
onCancel={() => setShowLaunchPrompt(false)}
|
||||
instanceGroups={instanceGroups}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
|
||||
@ -170,7 +170,6 @@ function LaunchPrompt({
|
||||
labels = [],
|
||||
surveyConfig,
|
||||
resourceDefaultCredentials = [],
|
||||
instanceGroups = [],
|
||||
}) {
|
||||
return (
|
||||
<Formik initialValues={{}} onSubmit={(values) => onLaunch(values)}>
|
||||
@ -182,7 +181,7 @@ function LaunchPrompt({
|
||||
resource={resource}
|
||||
labels={labels}
|
||||
resourceDefaultCredentials={resourceDefaultCredentials}
|
||||
instanceGroups={instanceGroups}
|
||||
instanceGroups={[]}
|
||||
/>
|
||||
</Formik>
|
||||
);
|
||||
|
||||
@ -31,8 +31,9 @@ function ScheduleEdit({
|
||||
values,
|
||||
launchConfiguration,
|
||||
surveyConfiguration,
|
||||
scheduleCredentials = [],
|
||||
originalLabels = []
|
||||
originalInstanceGroups,
|
||||
originalLabels,
|
||||
scheduleCredentials = []
|
||||
) => {
|
||||
const {
|
||||
execution_environment,
|
||||
@ -160,8 +161,8 @@ function ScheduleEdit({
|
||||
),
|
||||
SchedulesAPI.orderInstanceGroups(
|
||||
scheduleId,
|
||||
instance_groups,
|
||||
resource?.summary_fields.instance_groups || []
|
||||
instance_groups || [],
|
||||
originalInstanceGroups
|
||||
),
|
||||
]);
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import React, { useEffect, useCallback, useState } from 'react';
|
||||
import React, { useEffect, useCallback, useState, useRef } from 'react';
|
||||
import { shape, func } from 'prop-types';
|
||||
import { DateTime } from 'luxon';
|
||||
import { t } from '@lingui/macro';
|
||||
@ -40,6 +40,8 @@ function ScheduleForm({
|
||||
}) {
|
||||
const [isWizardOpen, setIsWizardOpen] = useState(false);
|
||||
const [isSaveDisabled, setIsSaveDisabled] = useState(false);
|
||||
const originalLabels = useRef([]);
|
||||
const originalInstanceGroups = useRef([]);
|
||||
|
||||
let rruleError;
|
||||
const now = DateTime.now();
|
||||
@ -54,7 +56,7 @@ function ScheduleForm({
|
||||
request: loadScheduleData,
|
||||
error: contentError,
|
||||
isLoading: contentLoading,
|
||||
result: { zoneOptions, zoneLinks, credentials, labels, instanceGroups },
|
||||
result: { zoneOptions, zoneLinks, credentials },
|
||||
} = useRequest(
|
||||
useCallback(async () => {
|
||||
const { data } = await SchedulesAPI.readZoneInfo();
|
||||
@ -95,13 +97,6 @@ function ScheduleForm({
|
||||
} = await JobTemplatesAPI.readAllLabels(resource.id);
|
||||
allLabels = results;
|
||||
}
|
||||
|
||||
if (launchConfig.ask_instance_groups_on_launch) {
|
||||
const {
|
||||
data: { results },
|
||||
} = await JobTemplatesAPI.readInstanceGroups(resource.id);
|
||||
allInstanceGroups = results;
|
||||
}
|
||||
}
|
||||
if (
|
||||
resource.type === 'workflow_job_template' &&
|
||||
@ -120,12 +115,13 @@ function ScheduleForm({
|
||||
label: zone,
|
||||
}));
|
||||
|
||||
originalLabels.current = allLabels;
|
||||
originalInstanceGroups.current = allInstanceGroups;
|
||||
|
||||
return {
|
||||
zoneOptions: zones,
|
||||
zoneLinks: data.links,
|
||||
credentials: creds,
|
||||
labels: allLabels,
|
||||
instanceGroups: allInstanceGroups,
|
||||
};
|
||||
}, [
|
||||
schedule,
|
||||
@ -140,8 +136,6 @@ function ScheduleForm({
|
||||
zoneLinks: {},
|
||||
credentials: [],
|
||||
isLoading: true,
|
||||
labels: [],
|
||||
instanceGroups: [],
|
||||
}
|
||||
);
|
||||
|
||||
@ -490,8 +484,9 @@ function ScheduleForm({
|
||||
values,
|
||||
launchConfig,
|
||||
surveyConfig,
|
||||
credentials,
|
||||
labels
|
||||
originalInstanceGroups.current,
|
||||
originalLabels.current,
|
||||
credentials
|
||||
);
|
||||
}}
|
||||
validate={validate}
|
||||
@ -519,8 +514,8 @@ function ScheduleForm({
|
||||
setIsSaveDisabled(false);
|
||||
}}
|
||||
resourceDefaultCredentials={resourceDefaultCredentials}
|
||||
labels={labels}
|
||||
instanceGroups={instanceGroups}
|
||||
labels={originalLabels.current}
|
||||
instanceGroups={originalInstanceGroups.current}
|
||||
/>
|
||||
)}
|
||||
<FormSubmitError error={submitError} />
|
||||
|
||||
@ -245,13 +245,7 @@ const NodeModalInner = ({ title, ...rest }) => {
|
||||
const {
|
||||
request: readLaunchConfigs,
|
||||
error: launchConfigError,
|
||||
result: {
|
||||
launchConfig,
|
||||
surveyConfig,
|
||||
resourceDefaultCredentials,
|
||||
labels,
|
||||
instanceGroups,
|
||||
},
|
||||
result: { launchConfig, surveyConfig, resourceDefaultCredentials, labels },
|
||||
isLoading,
|
||||
} = useRequest(
|
||||
useCallback(async () => {
|
||||
@ -271,7 +265,6 @@ const NodeModalInner = ({ title, ...rest }) => {
|
||||
surveyConfig: {},
|
||||
resourceDefaultCredentials: [],
|
||||
labels: [],
|
||||
instanceGroups: [],
|
||||
};
|
||||
}
|
||||
|
||||
@ -318,27 +311,11 @@ const NodeModalInner = ({ title, ...rest }) => {
|
||||
defaultLabels = results;
|
||||
}
|
||||
|
||||
let defaultInstanceGroups = [];
|
||||
|
||||
if (launch.ask_instance_groups_on_launch) {
|
||||
const {
|
||||
data: { results },
|
||||
} = await await JobTemplatesAPI.readInstanceGroups(
|
||||
values?.nodeResource?.id,
|
||||
{
|
||||
page_size: 200,
|
||||
}
|
||||
);
|
||||
|
||||
defaultInstanceGroups = results;
|
||||
}
|
||||
|
||||
return {
|
||||
launchConfig: launch,
|
||||
surveyConfig: survey,
|
||||
resourceDefaultCredentials: defaultCredentials,
|
||||
labels: defaultLabels,
|
||||
instanceGroups: defaultInstanceGroups,
|
||||
};
|
||||
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
@ -392,7 +369,7 @@ const NodeModalInner = ({ title, ...rest }) => {
|
||||
isLaunchLoading={isLoading}
|
||||
title={wizardTitle}
|
||||
labels={labels}
|
||||
instanceGroups={instanceGroups}
|
||||
instanceGroups={[]}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user