Add receptor host identifier to group_vars

Add disconnected link state topology
This commit is contained in:
Seth Foster 2023-05-10 12:56:36 -04:00 committed by Seth Foster
parent f7fdb7fe8d
commit 6834568c5d
7 changed files with 44 additions and 15 deletions

View File

@ -1,3 +1,4 @@
receptor_host_identifier: {{ instance.hostname }}
receptor_user: awx
receptor_group: awx
receptor_verify: true

View File

@ -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
import django.db.models.expressions
class Migration(migrations.Migration):
dependencies = [
('main', '0182_constructed_inventory'),
('main', '0184_django_indexes'),
]
operations = [
@ -31,8 +30,6 @@ class Migration(migrations.Migration):
),
migrations.AddConstraint(
model_name='instancelink',
constraint=models.CheckConstraint(
check=models.Q(('source', django.db.models.expressions.F('target')), _negated=True), name='source_and_target_can_not_be_equal'
),
constraint=models.CheckConstraint(check=models.Q(('source', models.F('target')), _negated=True), name='source_and_target_can_not_be_equal'),
),
]

View File

@ -5,7 +5,11 @@
<title data-cy="migration-title">{{ title }}</title>
<meta
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 http-equiv="X-UA-Compatible" content="IE=edge" />

View File

@ -138,7 +138,7 @@ function InstanceListItem({
rowIndex,
isSelected,
onSelect,
disable: !isExecutionNode,
disable: !(isExecutionNode || isHopNode),
}}
dataLabel={t`Selected`}
/>

View File

@ -33,7 +33,7 @@ function RemoveInstanceButton({ itemsToRemove, onRemove, isK8s }) {
const [removeDetails, setRemoveDetails] = useState(null);
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) => {
setRemoveDetails(null);

View File

@ -252,6 +252,21 @@ function Legend() {
</DescriptionListTerm>
<DescriptionListDescription>{t`Established`}</DescriptionListDescription>
</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>
<DescriptionListTerm>
<svg width="20" height="15" xmlns="http://www.w3.org/2000/svg">

View File

@ -208,9 +208,15 @@ function MeshGraph({
.attr('class', (_, i) => `link-${i}`)
.attr('data-cy', (d) => `${d.source.hostname}-${d.target.hostname}`)
.style('fill', 'none')
.style('stroke', (d) =>
d.link_state === 'removing' ? '#C9190B' : '#CCC'
)
.style('stroke', (d) => {
if (d.link_state === 'removing') {
return '#C9190B';
}
if (d.link_state === 'disconnected') {
return '#c9700b';
}
return '#CCC';
})
.style('stroke-width', '2px')
.style('stroke-dasharray', (d) => renderLinkState(d.link_state))
.attr('pointer-events', 'none')
@ -348,9 +354,15 @@ function MeshGraph({
.selectAll(`.link-${s.index}`)
.transition()
.duration(50)
.style('stroke', (d) =>
d.link_state === 'removing' ? '#C9190B' : '#CCC'
)
.style('stroke', (d) => {
if (d.link_state === 'removing') {
return '#C9190B';
}
if (d.link_state === 'disconnected') {
return '#c9700b';
}
return '#CCC';
})
.style('stroke-width', '2px')
.attr('marker-end', 'url(#end)');
});