def check_container(self, schain_name, volume_required=False): name = get_container_name(SCHAIN_CONTAINER, schain_name) info = dutils.get_info(name) if dutils.to_start_container(info): logger.warning( f'sChain: {schain_name}. ' f'sChain container: {name} not found, trying to create.') if volume_required and not dutils.data_volume_exists(schain_name): logger.error( f'sChain: {schain_name}. Cannot create sChain container without data volume' ) return True
def test_restart_all_schains(mocked_client): schain_names = ['test1', 'test2', 'test3'] schain_image = get_image_name(SCHAIN_CONTAINER) cont_names = [ get_container_name(SCHAIN_CONTAINER, name) for name in schain_names ] start_time = {} def get_schain_time(cont_name): cont = mocked_client.client.containers.get(cont_name) return cont.attrs['State']['StartedAt'] for cont_name in cont_names: mocked_client.client.containers.run(schain_image, name=cont_name, detach=True) start_time[cont_name] = get_schain_time(cont_name) mocked_client.restart_all_schains() for cont_name in cont_names: assert get_schain_time(cont_name) != start_time[cont_name]
def remove_ima_container(schain_name): log_remove('IMA container', schain_name) ima_container_name = get_container_name(IMA_CONTAINER, schain_name) dutils.safe_rm(ima_container_name, v=True, force=True)
def remove_schain_container(schain_name): log_remove('container', schain_name) schain_container_name = get_container_name(SCHAIN_CONTAINER, schain_name) return dutils.safe_rm(schain_container_name, v=True, force=True)
def check_ima_container(self): name = get_container_name(IMA_CONTAINER, self.name) info = dutils.get_info(name) self._ima_container = dutils.container_running(info)