summaryrefslogtreecommitdiff
path: root/worker_manager
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-03-17 18:37:53 +0200
committerLars Wirzenius <liw@liw.fi>2018-03-30 10:11:32 +0300
commit3e98768fc55aedadc7362a58f50134db9eb4fc63 (patch)
treee5704c4f71e3e860de7c233558d6f9c9b71dc66c /worker_manager
parent87001d6a0c5d9d8b48e716ec733e5ba6c0c4afd4 (diff)
downloadick2-3e98768fc55aedadc7362a58f50134db9eb4fc63.tar.gz
Add: ControllerClient class for using controller API
Diffstat (limited to 'worker_manager')
-rwxr-xr-xworker_manager31
1 files changed, 9 insertions, 22 deletions
diff --git a/worker_manager b/worker_manager
index db4d08f..ec8c19f 100755
--- a/worker_manager
+++ b/worker_manager
@@ -122,34 +122,21 @@ class ControllerAPI:
self._blob_url = None
self._token_generator = token_generator
self._httpapi = HttpApi()
+ self._cc = ick2.ControllerClient()
+ self._cc.set_client_name(name)
+ self._cc.set_controller_url(url)
def register(self):
- logging.info('Registering worker %s to %s', self._name, self._url)
- url = self.url('/workers')
- headers = self.get_auth_headers()
- body = {
- 'worker': self._name,
- }
- code = self._httpapi.post(url, headers, body)
- if code not in [200, 201, 409]:
- raise cliapp.AppException('Failed to register worker')
+ self._cc.set_token(self._token_generator.get_token())
+ self._cc.register()
def get_work(self):
- url = self.url('/work/{}'.format(self._name))
- headers = self.get_auth_headers()
- work = self._httpapi.get(url, headers)
- if work:
- logging.info('Response: %r', work)
- return work
+ self._cc.set_token(self._token_generator.get_token())
+ return self._cc.get_work()
def report_work(self, work):
- logging.info('POST %s', work)
- url = self.url('/work')
- headers = self.get_auth_headers()
- code = self._httpapi.post(url, headers, work)
- if code not in (200, 201):
- raise cliapp.AppException(
- 'Error posting data to controller: {}'.format(code))
+ self._cc.set_token(self._token_generator.get_token())
+ self._cc.report_work(work)
def url(self, path):
return '{}{}'.format(self._url, path)