Skip to content

Commit e25d7ce

Browse files
committed
chore(service): add name field
1 parent 3857054 commit e25d7ce

1 file changed

Lines changed: 28 additions & 20 deletions

File tree

rootfs/api/models/service.py

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,36 @@ class Meta:
4141
ordering = ['-created']
4242

4343
def __str__(self):
44-
return self._svc_name()
44+
return self.name
45+
46+
@property
47+
def name(self):
48+
if self.ptype == 'web':
49+
svc_name = self.app.id
50+
else:
51+
svc_name = "{}-{}".format(self.app.id, self.ptype)
52+
return svc_name
4553

4654
@property
4755
def domain(self):
4856
return "{}.{}.svc.{}".format(
49-
self._svc_name(), self._namespace(), settings.KUBERNETES_CLUSTER_DOMAIN
57+
self.name, self.namespace, settings.KUBERNETES_CLUSTER_DOMAIN
5058
)
5159

60+
@property
61+
def namespace(self):
62+
return self.app.id
63+
64+
@classmethod
65+
def get(cls, app, name):
66+
for service in cls.objects.filter(app=app):
67+
if service.name == name:
68+
return service
69+
raise cls.DoesNotExist()
70+
5271
def as_dict(self):
5372
return {
73+
"name": self.name,
5474
"domain": self.domain,
5575
"ports": self.ports,
5676
"ptype": self.ptype,
@@ -101,7 +121,7 @@ def save(self, *args, **kwargs):
101121
return service
102122

103123
def delete(self, *args, **kwargs):
104-
self._delete_k8s_svc(self._svc_name())
124+
self._delete_k8s_svc(self.name)
105125
# Delete from DB
106126
return super(Service, self).delete(*args, **kwargs)
107127

@@ -116,30 +136,18 @@ def log(self, message, level=logging.INFO):
116136
"""
117137
logger.log(level, "[{}]: {}".format(self.app.id, message))
118138

119-
def _namespace(self):
120-
return self.app.id
121-
122-
def _svc_name(self):
123-
if self.ptype == 'web':
124-
svc_name = self.app.id
125-
else:
126-
svc_name = "{}-{}".format(self.app.id, self.ptype)
127-
return svc_name
128-
129139
def refresh_k8s_svc(self):
130-
svc_name = self._svc_name()
131-
namespace = self._namespace()
132-
self.log('creating service: {}'.format(svc_name), level=logging.DEBUG)
140+
self.log('creating service: {}'.format(self.name), level=logging.DEBUG)
133141
try:
134142
try:
135-
data = self.scheduler().svc.get(namespace, svc_name).json()
136-
self.scheduler().svc.patch(namespace, svc_name, **{
143+
data = self.scheduler().svc.get(self.namespace, self.name).json()
144+
self.scheduler().svc.patch(self.namespace, self.name, **{
137145
"ports": self.ports,
138146
"version": data["metadata"]["resourceVersion"],
139147
"ptype": self.ptype,
140148
})
141149
except KubeException:
142-
self.scheduler().svc.create(namespace, svc_name, **{
150+
self.scheduler().svc.create(self.namespace, self.name, **{
143151
"ports": self.ports,
144152
"ptype": self.ptype,
145153
})
@@ -148,4 +156,4 @@ def refresh_k8s_svc(self):
148156

149157
def _delete_k8s_svc(self, svc_name):
150158
self.log('deleting Service: {}'.format(svc_name), level=logging.DEBUG)
151-
self.scheduler().svc.delete(self._namespace(), svc_name, ignore_exception=True)
159+
self.scheduler().svc.delete(self.namespace, svc_name, ignore_exception=True)

0 commit comments

Comments
 (0)