Skip to content

Commit 7954a93

Browse files
author
Matthew Fisher
committed
fix(controller): ignore KeyError on delete
In some odd cases, etcd keys no longer exist from manual intervention. That should not stop resources from being destroyed, however, as it is assumed that the etcd key does not exist (which is what was intended, anyways).
1 parent ca66400 commit 7954a93

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

controller/api/models.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -886,8 +886,11 @@ def _etcd_publish_key(**kwargs):
886886

887887
def _etcd_purge_key(**kwargs):
888888
key = kwargs['instance']
889-
_etcd_client.delete('/deis/builder/users/{}/{}'.format(
890-
key.owner.username, fingerprint(key.public)))
889+
try:
890+
_etcd_client.delete('/deis/builder/users/{}/{}'.format(
891+
key.owner.username, fingerprint(key.public)))
892+
except KeyError:
893+
pass
891894

892895

893896
def _etcd_purge_user(**kwargs):
@@ -908,7 +911,10 @@ def _etcd_create_app(**kwargs):
908911

909912
def _etcd_purge_app(**kwargs):
910913
appname = kwargs['instance']
911-
_etcd_client.delete('/deis/services/{}'.format(appname), dir=True, recursive=True)
914+
try:
915+
_etcd_client.delete('/deis/services/{}'.format(appname), dir=True, recursive=True)
916+
except KeyError:
917+
pass
912918

913919

914920
def _etcd_publish_domains(**kwargs):
@@ -926,7 +932,10 @@ def _etcd_purge_domains(**kwargs):
926932
_etcd_client.write('/deis/domains/{}'.format(app),
927933
' '.join(str(d.domain) for d in app_domains))
928934
else:
929-
_etcd_client.delete('/deis/domains/{}'.format(app))
935+
try:
936+
_etcd_client.delete('/deis/domains/{}'.format(app))
937+
except KeyError:
938+
pass
930939

931940

932941
# Log significant app-related events

0 commit comments

Comments
 (0)