|
6 | 6 |
|
7 | 7 | from registry import publish_release, RegistryException |
8 | 8 | from api.utils import dict_diff |
9 | | - |
10 | 9 | from api.models import UuidAuditedModel, log_event |
| 10 | +from scheduler import KubeHTTPException |
11 | 11 |
|
12 | 12 | logger = logging.getLogger(__name__) |
13 | 13 |
|
@@ -95,7 +95,7 @@ def publish(self, source_version='latest'): |
95 | 95 | source_image.startswith(settings.REGISTRY_HOST) or |
96 | 96 | source_image.startswith(settings.REGISTRY_URL) |
97 | 97 | ): |
98 | | - logger.debug('{} already exists in the target registry. Using this image for release {} of app {}'.format(source_image, self.version, self.app)) # noqa |
| 98 | + log_event(self.app, '{} already exists in the target registry. Using this image for release {} of app {}'.format(source_image, self.version, self.app)) # noqa |
99 | 99 | return |
100 | 100 |
|
101 | 101 | # add tag if it was not provided |
@@ -148,6 +148,26 @@ def rollback(self, user, version): |
148 | 148 | new_release.delete() |
149 | 149 | raise |
150 | 150 |
|
| 151 | + def delete(self, *args, **kwargs): |
| 152 | + """Delete release DB record and any RCs from the affect release""" |
| 153 | + try: |
| 154 | + labels = { |
| 155 | + 'app': self.app.id, |
| 156 | + 'version': self.version |
| 157 | + } |
| 158 | + controllers = self._scheduler.get_rcs(self.app.id, labels=labels) |
| 159 | + for controller in controllers.json()['items']: |
| 160 | + self._scheduler._delete_rc(self.app.id, controller['metadata']['name']) |
| 161 | + except KubeHTTPException as e: |
| 162 | + # 404 means they were already cleaned up |
| 163 | + if e.status_code is not 404: |
| 164 | + # Another problem came up |
| 165 | + message = 'Could not to cleanup RCs for release {}'.format(self.version) |
| 166 | + log_event(self.app, message) |
| 167 | + logger.warning(message + ' - ' + str(e)) |
| 168 | + finally: |
| 169 | + super(Release, self).delete(*args, **kwargs) |
| 170 | + |
151 | 171 | def save(self, *args, **kwargs): # noqa |
152 | 172 | if not self.summary: |
153 | 173 | self.summary = '' |
|
0 commit comments