diff --git a/awx/ui/src/screens/InstanceGroup/InstanceDetails/InstanceDetails.js b/awx/ui/src/screens/InstanceGroup/InstanceDetails/InstanceDetails.js
index 0a794c62e0..b4ab4dc81f 100644
--- a/awx/ui/src/screens/InstanceGroup/InstanceDetails/InstanceDetails.js
+++ b/awx/ui/src/screens/InstanceGroup/InstanceDetails/InstanceDetails.js
@@ -23,6 +23,7 @@ import ErrorDetail from 'components/ErrorDetail';
import DisassociateButton from 'components/DisassociateButton';
import InstanceToggle from 'components/InstanceToggle';
import { CardBody, CardActionsRow } from 'components/Card';
+import getDocsBaseUrl from 'util/getDocsBaseUrl';
import { formatDateString } from 'util/dates';
import RoutedTabs from 'components/RoutedTabs';
import ContentError from 'components/ContentError';
@@ -62,7 +63,7 @@ function computeForks(memCapacity, cpuCapacity, selectedCapacityAdjustment) {
}
function InstanceDetails({ setBreadcrumb, instanceGroup }) {
- const { me = {} } = useConfig();
+ const config = useConfig();
const { id, instanceId } = useParams();
const history = useHistory();
@@ -226,7 +227,21 @@ function InstanceDetails({ setBreadcrumb, instanceGroup }) {
+ {t`Health checks are asynchronous tasks. See the`}{' '}
+
+ {t`documentation`}
+ {' '}
+ {t`for more info.`}
+ >
+ }
value={formatHealthCheckTimeStamp(instance.last_health_check)}
/>
@@ -246,7 +261,7 @@ function InstanceDetails({ setBreadcrumb, instanceGroup }) {
step={0.1}
value={instance.capacity_adjustment}
onChange={handleChangeValue}
- isDisabled={!me?.is_superuser || !instance.enabled}
+ isDisabled={!config?.me?.is_superuser || !instance.enabled}
data-cy="slider"
/>
@@ -286,7 +301,9 @@ function InstanceDetails({ setBreadcrumb, instanceGroup }) {
{isExecutionNode && (
)}
- {me.is_superuser && instance.node_type !== 'control' && (
+ {config?.me?.is_superuser && instance.node_type !== 'control' && (
{
- if (i.health_check_pending === true) {
- setPendingHealthCheck(true);
- }
- });
+ setPendingHealthCheck(
+ response?.data?.result?.some((i) => i.health_check_pending === true)
+ );
return {
instances: response.data.results,
diff --git a/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js b/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
index 06ebdc6307..7a45003064 100644
--- a/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
+++ b/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
@@ -13,6 +13,7 @@ import {
} from '@patternfly/react-core';
import { OutlinedClockIcon } from '@patternfly/react-icons';
import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
+import getDocsBaseUrl from 'util/getDocsBaseUrl';
import { formatDateString } from 'util/dates';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
import InstanceToggle from 'components/InstanceToggle';
@@ -53,7 +54,7 @@ function InstanceListItem({
fetchInstances,
rowIndex,
}) {
- const { me = {} } = useConfig();
+ const config = useConfig();
const { id } = useParams();
const [forks, setForks] = useState(
computeForks(
@@ -167,7 +168,7 @@ function InstanceListItem({
step={0.1}
value={instance.capacity_adjustment}
onChange={handleChangeValue}
- isDisabled={!me?.is_superuser || !instance.enabled}
+ isDisabled={!config?.me?.is_superuser || !instance.enabled}
data-cy="slider"
/>
@@ -219,7 +220,21 @@ function InstanceListItem({
+ {t`Health checks are asynchronous tasks. See the`}{' '}
+
+ {t`documentation`}
+ {' '}
+ {t`for more info.`}
+ >
+ }
value={formatHealthCheckTimeStamp(instance.last_health_check)}
/>
diff --git a/awx/ui/src/screens/Instances/InstanceDetail/InstanceDetail.js b/awx/ui/src/screens/Instances/InstanceDetail/InstanceDetail.js
index 7188b64fa5..1b96fb30e9 100644
--- a/awx/ui/src/screens/Instances/InstanceDetail/InstanceDetail.js
+++ b/awx/ui/src/screens/Instances/InstanceDetail/InstanceDetail.js
@@ -23,6 +23,7 @@ import AlertModal from 'components/AlertModal';
import ErrorDetail from 'components/ErrorDetail';
import InstanceToggle from 'components/InstanceToggle';
import { CardBody, CardActionsRow } from 'components/Card';
+import getDocsBaseUrl from 'util/getDocsBaseUrl';
import { formatDateString } from 'util/dates';
import ContentError from 'components/ContentError';
import ContentLoading from 'components/ContentLoading';
@@ -62,7 +63,8 @@ function computeForks(memCapacity, cpuCapacity, selectedCapacityAdjustment) {
}
function InstanceDetail({ setBreadcrumb, isK8s }) {
- const { me = {} } = useConfig();
+ const config = useConfig();
+
const { id } = useParams();
const [forks, setForks] = useState();
const history = useHistory();
@@ -85,7 +87,6 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
InstancesAPI.readDetail(id),
InstancesAPI.readInstanceGroup(id),
]);
- // we probably don't need this extra call
if (details.node_type === 'execution') {
const { data: healthCheckData } =
await InstancesAPI.readHealthCheckDetail(id);
@@ -249,7 +250,21 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
+ {t`Health checks are asynchronous tasks. See the`}{' '}
+
+ {t`documentation`}
+ {' '}
+ {t`for more info.`}
+ >
+ }
value={formatHealthCheckTimeStamp(instance.last_health_check)}
/>
{instance.related?.install_bundle && (
@@ -288,7 +303,9 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
step={0.1}
value={instance.capacity_adjustment}
onChange={handleChangeValue}
- isDisabled={!me?.is_superuser || !instance.enabled}
+ isDisabled={
+ !config?.me?.is_superuser || !instance.enabled
+ }
data-cy="slider"
/>
@@ -332,7 +349,7 @@ function InstanceDetail({ setBreadcrumb, isK8s }) {
{!isHopNode && (
- {me.is_superuser && isK8s && instance.node_type === 'execution' && (
+ {config?.me?.is_superuser && isK8s && isExecutionNode && (