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_user: awx
receptor_group: awx receptor_group: awx
receptor_verify: true 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 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'
),
), ),
] ]

View File

@@ -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" />

View File

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

View File

@@ -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);

View File

@@ -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">

View File

@@ -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)');
}); });