Beispiel #1
0
 async def initialize_pod(self, pod, namespace):
     log.info(f'initializing {pod}@{namespace}')
     try:
         await asyncio.gather(*[
             check_shell(
                 f'{DEVBIN}/krsync.sh {RSYNC_ARGS} {local} {pod}@{namespace}:{remote}'
             ) for local, remote in self.paths
         ])
         await check_shell(
             f'kubectl exec {pod} --namespace {namespace} -- kill -2 1')
     except CalledProcessError:
         log.warning(f'could not initialize {namespace}/{pod}',
                     exc_info=True)
         return
     self.pods.add((pod, namespace))
     log.info(f'initialized {pod}@{namespace}')
Beispiel #2
0
 async def sync_and_restart_pod(self, pod, namespace):
     log.info(f'reloading {pod}@{namespace}')
     try:
         await asyncio.gather(*[
             check_shell(
                 f'{DEVBIN}/krsync.sh {RSYNC_ARGS} {local} {pod}@{namespace}:{remote}'
             ) for local, remote in self.paths
         ])
         await check_shell(
             f'kubectl exec {pod} --namespace {namespace} -- kill -2 1')
     except CalledProcessError:
         log.warning(
             f'could not synchronize {namespace}/{pod}, removing from active pods',
             exc_info=True)
         self.pods.remove((pod, namespace))
         return
     log.info(f'reloaded {pod}@{namespace}')