def delegate_request(self, req=None, event=None, instanceData=None, **kw): if instanceData.kind != 'container' or \ instanceData.get('token') is None: return container = self.compute.get_container_by_name(instanceData.uuid) if container is None: return inspect = self.compute.inspect(container) try: ip = inspect['NetworkSettings']['IPAddress'] running = inspect['State']['Running'] if not running: log.error('Can not call [%s], container is not running', instanceData.uuid) return except KeyError: log.error('Can not call [%s], container is not running', instanceData.uuid) return progress = Progress(event, parent=req) exit_code, output, data = container_exec(ip, instanceData.token, event) if exit_code == 0: return reply(event, data, parent=req) else: progress.update('Update failed', data={ 'exitCode': exit_code, 'output': output })
def delegate_request(self, req=None, event=None, instanceData=None, **kw): if instanceData.kind != 'container' or \ instanceData.get('token') is None: return container = self.compute.get_container(docker_client(), instanceData, by_agent=True) if container is None: log.info('Can not call [%s], container does not exists', instanceData.uuid) return inspect = self.compute.inspect(container) try: running = inspect['State']['Running'] if not running: log.error('Can not call [%s], container is not running', instanceData.uuid) return except KeyError: log.error('Can not call [%s], container is not running', instanceData.uuid) return progress = Progress(event, parent=req) exit_code, output, data = ns_exec(inspect['State']['Pid'], event) if exit_code == 0: return reply(event, data, parent=req) else: progress.update('Update failed', data={ 'exitCode': exit_code, 'output': output })
def delegate_request(self, req=None, event=None, instanceData=None, **kw): if instanceData.kind != 'container' or \ instanceData.get('token') is None: return container = self.compute.get_container(docker_client(), instanceData) if container is None: return inspect = self.compute.inspect(container) try: ip = inspect['NetworkSettings']['IPAddress'] running = inspect['State']['Running'] if not running: log.error('Can not call [%s], container is not running', instanceData.uuid) return except KeyError: log.error('Can not call [%s], container is not running', instanceData.uuid) return try: # Optimization for empty config.updates, should really find a # better way to do this if event.name == 'config.update' and len(event.data.items) == 0: return reply(event, None, parent=req) except: pass progress = Progress(event, parent=req) if DockerConfig.is_host_pidns(): exit_code, output, data = ns_exec(inspect['State']['Pid'], event) else: exit_code, output, data = container_exec(ip, instanceData.token, event) if exit_code == 0: return reply(event, data, parent=req) else: progress.update('Update failed', data={ 'exitCode': exit_code, 'output': output })
def delegate_request(self, req=None, event=None, instanceData=None, **kw): if instanceData.kind != 'container' or \ instanceData.get('token') is None: return container = self.compute.get_container_by_name(instanceData.uuid) if container is None: return inspect = self.compute.inspect(container) try: ip = inspect['NetworkSettings']['IPAddress'] running = inspect['State']['Running'] if not running: log.error('Can not call [%s], container is not running', instanceData.uuid) return except KeyError: log.error('Can not call [%s], container is not running', instanceData.uuid) return try: # Optimization for empty config.updates, should really find a # better way to do this if event.name == 'config.update' and len(event.data.items) == 0: return reply(event, None, parent=req) except: pass progress = Progress(event, parent=req) if DockerConfig.is_host_pidns(): exit_code, output, data = ns_exec(inspect['State']['Pid'], event) else: exit_code, output, data = container_exec(ip, instanceData.token, event) if exit_code == 0: return reply(event, data, parent=req) else: progress.update('Update failed', data={ 'exitCode': exit_code, 'output': output })