mirror of
https://github.com/ansible/awx.git
synced 2026-05-10 02:47:36 -02:30
Add receptor host identifier to group_vars
Add disconnected link state topology
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
receptor_host_identifier: {{ instance.hostname }}
|
||||||
receptor_user: awx
|
receptor_user: awx
|
||||||
receptor_group: awx
|
receptor_group: awx
|
||||||
receptor_verify: true
|
receptor_verify: true
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
# Generated by Django 3.2.16 on 2023-05-01 20:00
|
# Generated by Django 4.2 on 2023-05-17 18:31
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.db.models.expressions
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('main', '0182_constructed_inventory'),
|
('main', '0184_django_indexes'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
@@ -31,8 +30,6 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
migrations.AddConstraint(
|
migrations.AddConstraint(
|
||||||
model_name='instancelink',
|
model_name='instancelink',
|
||||||
constraint=models.CheckConstraint(
|
constraint=models.CheckConstraint(check=models.Q(('source', models.F('target')), _negated=True), name='source_and_target_can_not_be_equal'),
|
||||||
check=models.Q(('source', django.db.models.expressions.F('target')), _negated=True), name='source_and_target_can_not_be_equal'
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
@@ -5,7 +5,11 @@
|
|||||||
<title data-cy="migration-title">{{ title }}</title>
|
<title data-cy="migration-title">{{ title }}</title>
|
||||||
<meta
|
<meta
|
||||||
http-equiv="Content-Security-Policy"
|
http-equiv="Content-Security-Policy"
|
||||||
content="default-src 'self'; connect-src 'self' ws: wss:; style-src 'self' 'unsafe-inline'; script-src 'self' 'nonce-{{ csp_nonce }}' *.pendo.io; img-src 'self' *.pendo.io data:;"
|
content="default-src 'self';
|
||||||
|
connect-src 'self' ws: wss:;
|
||||||
|
style-src 'self' 'unsafe-inline';
|
||||||
|
script-src 'self' 'nonce-{{ csp_nonce }}' *.pendo.io;
|
||||||
|
img-src 'self' *.pendo.io data:;"
|
||||||
/>
|
/>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ function InstanceListItem({
|
|||||||
rowIndex,
|
rowIndex,
|
||||||
isSelected,
|
isSelected,
|
||||||
onSelect,
|
onSelect,
|
||||||
disable: !isExecutionNode,
|
disable: !(isExecutionNode || isHopNode),
|
||||||
}}
|
}}
|
||||||
dataLabel={t`Selected`}
|
dataLabel={t`Selected`}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function RemoveInstanceButton({ itemsToRemove, onRemove, isK8s }) {
|
|||||||
const [removeDetails, setRemoveDetails] = useState(null);
|
const [removeDetails, setRemoveDetails] = useState(null);
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
|
|
||||||
const cannotRemove = (item) => item.node_type !== 'execution';
|
const cannotRemove = (item) => !(item.node_type === 'execution' || item.node_type === 'hop');
|
||||||
|
|
||||||
const toggleModal = async (isOpen) => {
|
const toggleModal = async (isOpen) => {
|
||||||
setRemoveDetails(null);
|
setRemoveDetails(null);
|
||||||
|
|||||||
@@ -252,6 +252,21 @@ function Legend() {
|
|||||||
</DescriptionListTerm>
|
</DescriptionListTerm>
|
||||||
<DescriptionListDescription>{t`Established`}</DescriptionListDescription>
|
<DescriptionListDescription>{t`Established`}</DescriptionListDescription>
|
||||||
</DescriptionListGroup>
|
</DescriptionListGroup>
|
||||||
|
<DescriptionListGroup>
|
||||||
|
<DescriptionListTerm>
|
||||||
|
<svg width="20" height="15" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<line
|
||||||
|
x1="0"
|
||||||
|
y1="9"
|
||||||
|
x2="20"
|
||||||
|
y2="9"
|
||||||
|
stroke="#c9700b"
|
||||||
|
strokeWidth="4"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</DescriptionListTerm>
|
||||||
|
<DescriptionListDescription>{t`Disconnected`}</DescriptionListDescription>
|
||||||
|
</DescriptionListGroup>
|
||||||
<DescriptionListGroup>
|
<DescriptionListGroup>
|
||||||
<DescriptionListTerm>
|
<DescriptionListTerm>
|
||||||
<svg width="20" height="15" xmlns="http://www.w3.org/2000/svg">
|
<svg width="20" height="15" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
|||||||
@@ -208,9 +208,15 @@ function MeshGraph({
|
|||||||
.attr('class', (_, i) => `link-${i}`)
|
.attr('class', (_, i) => `link-${i}`)
|
||||||
.attr('data-cy', (d) => `${d.source.hostname}-${d.target.hostname}`)
|
.attr('data-cy', (d) => `${d.source.hostname}-${d.target.hostname}`)
|
||||||
.style('fill', 'none')
|
.style('fill', 'none')
|
||||||
.style('stroke', (d) =>
|
.style('stroke', (d) => {
|
||||||
d.link_state === 'removing' ? '#C9190B' : '#CCC'
|
if (d.link_state === 'removing') {
|
||||||
)
|
return '#C9190B';
|
||||||
|
}
|
||||||
|
if (d.link_state === 'disconnected') {
|
||||||
|
return '#c9700b';
|
||||||
|
}
|
||||||
|
return '#CCC';
|
||||||
|
})
|
||||||
.style('stroke-width', '2px')
|
.style('stroke-width', '2px')
|
||||||
.style('stroke-dasharray', (d) => renderLinkState(d.link_state))
|
.style('stroke-dasharray', (d) => renderLinkState(d.link_state))
|
||||||
.attr('pointer-events', 'none')
|
.attr('pointer-events', 'none')
|
||||||
@@ -348,9 +354,15 @@ function MeshGraph({
|
|||||||
.selectAll(`.link-${s.index}`)
|
.selectAll(`.link-${s.index}`)
|
||||||
.transition()
|
.transition()
|
||||||
.duration(50)
|
.duration(50)
|
||||||
.style('stroke', (d) =>
|
.style('stroke', (d) => {
|
||||||
d.link_state === 'removing' ? '#C9190B' : '#CCC'
|
if (d.link_state === 'removing') {
|
||||||
)
|
return '#C9190B';
|
||||||
|
}
|
||||||
|
if (d.link_state === 'disconnected') {
|
||||||
|
return '#c9700b';
|
||||||
|
}
|
||||||
|
return '#CCC';
|
||||||
|
})
|
||||||
.style('stroke-width', '2px')
|
.style('stroke-width', '2px')
|
||||||
.attr('marker-end', 'url(#end)');
|
.attr('marker-end', 'url(#end)');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user