Skip to content

Commit aa31a21

Browse files
committed
fix(controller): domains update error
1 parent 0294637 commit aa31a21

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

rootfs/api/models/app.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def _refresh_ingress(self, hosts, tls_map, ssl_redirect, appsettings):
207207
except KubeException as e:
208208
raise ServiceUnavailable('Could not create Ingress in Kubernetes') from e
209209

210-
def refresh(self, app_settings=None, tls=None):
210+
def refresh(self, app_settings=None, tls=None, domains=None):
211211
if not getattr(self, 'refresh_enabled', True):
212212
return
213213
app_settings = app_settings if app_settings else self.appsettings_set.latest()
@@ -217,7 +217,8 @@ def refresh(self, app_settings=None, tls=None):
217217
ssl_redirect = bool(tls.https_enforced)
218218
certs_auto_enabled = bool(tls.certs_auto_enabled)
219219
hosts, tls_map = [], defaultdict(list)
220-
for domain in Domain.objects.filter(app=self):
220+
domains = domains if domains else Domain.objects.filter(app=self)
221+
for domain in domains:
221222
host = str(domain.domain)
222223
hosts.append(host)
223224
if domain.certificate:

rootfs/api/models/domain.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,26 @@ class Meta:
2727

2828
@transaction.atomic
2929
def save(self, *args, **kwargs):
30+
domains = list(self.app.domain_set.all())
31+
domains.append(self)
3032
try:
3133
# Save to DB
3234
return super(Domain, self).save(*args, **kwargs)
3335
finally:
34-
self.app.refresh()
36+
self.app.refresh(domains=domains)
3537

3638
@transaction.atomic
3739
def delete(self, *args, **kwargs):
3840
# Deatch cert, updates k8s
3941
if self.certificate:
4042
self.certificate.detach(domain=str(self.domain))
43+
domains = list(self.app.domain_set.all())
44+
domains.remove(self)
4145
try:
4246
# Delete from DB
4347
return super(Domain, self).delete(*args, **kwargs)
4448
finally:
45-
self.app.refresh()
49+
self.app.refresh(domains=domains)
4650

4751
def __str__(self):
4852
return self.domain

0 commit comments

Comments
 (0)