mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 14:57:39 -02:30
Add peers_from_control_nodes to ReceptorAddress
- write_receptor_config peers to ReceptorAddress entries that have peers_from_control_nodes enabled - peers_from_control_nodes and listener_port removed from Instance model - peers_from_control_nodes added to ReceptorAddress model - ReceptorAddress is now unique by address and protocol combination - Write receptor config task is dispatched upon ReceptorAddress creation or deletion, and when control node is first created - InstanceLinkSerializer adds a target_address field and has logic to grab the instance hostname associated with the peered ReceptorAddress Signed-off-by: Seth Foster <fosterbseth@gmail.com>
This commit is contained in:
59
awx/main/migrations/0188_inbound_hop_nodes.py
Normal file
59
awx/main/migrations/0188_inbound_hop_nodes.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# Generated by Django 4.2.5 on 2023-10-10 00:26
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
('main', '0187_hop_nodes'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ReceptorAddress',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('address', models.CharField(max_length=255)),
|
||||
('port', models.IntegerField()),
|
||||
('protocol', models.CharField(max_length=10)),
|
||||
('websocket_path', models.CharField(blank=True, default='', max_length=255)),
|
||||
('is_internal', models.BooleanField(default=False)),
|
||||
('peers_from_control_nodes', models.BooleanField(default=False)),
|
||||
],
|
||||
),
|
||||
migrations.RemoveConstraint(
|
||||
model_name='instancelink',
|
||||
name='source_and_target_can_not_be_equal',
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='instancelink',
|
||||
unique_together=set(),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='instancelink',
|
||||
name='source',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.instance'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='receptoraddress',
|
||||
name='instance',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='receptor_addresses', to='main.instance'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='instance',
|
||||
name='peers',
|
||||
field=models.ManyToManyField(related_name='peers_from', through='main.InstanceLink', to='main.receptoraddress'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='instancelink',
|
||||
name='target',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.receptoraddress'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='receptoraddress',
|
||||
constraint=models.UniqueConstraint(
|
||||
fields=('address', 'protocol'), name='unique_receptor_address', violation_error_message='Receptor address + protocol must be unique.'
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -1,43 +0,0 @@
|
||||
# Generated by Django 4.2.5 on 2023-10-04 06:51
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
('main', '0187_hop_nodes'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ReceptorAddress',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('address', models.CharField(max_length=255)),
|
||||
('port', models.IntegerField(null=True)),
|
||||
('protocol', models.CharField(max_length=10)),
|
||||
('websocket_path', models.CharField(blank=True, default='', max_length=255)),
|
||||
('is_internal', models.BooleanField(default=False)),
|
||||
('instance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='receptor_addresses', to='main.instance')),
|
||||
],
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='receptoraddress',
|
||||
constraint=models.UniqueConstraint(
|
||||
condition=models.Q(('port', None)),
|
||||
fields=('address', 'protocol', 'websocket_path'),
|
||||
name='unique_receptor_address_no_port',
|
||||
violation_error_message='Receptor address must be unique.',
|
||||
),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='receptoraddress',
|
||||
constraint=models.UniqueConstraint(
|
||||
condition=models.Q(('port', None), _negated=True),
|
||||
fields=('address', 'port', 'protocol', 'websocket_path'),
|
||||
name='unique_receptor_address_with_port',
|
||||
violation_error_message='Receptor address must be unique.',
|
||||
),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user