in liminal/kubernetes/volume_util.py [0:0]
def create_local_volume(conf, namespace='default') -> None:
name = conf['volume']
_LOG.info(f'Requested volume {name}')
if name not in _LOCAL_VOLUMES:
matching_volumes = _kubernetes.list_persistent_volume(field_selector=f'metadata.name={name}').to_dict()[
'items'
]
while len(matching_volumes) == 0:
_create_local_volume(conf, name)
sleep(5)
matching_volumes = _kubernetes.list_persistent_volume(field_selector=f'metadata.name={name}').to_dict()[
'items'
]
pvc_name = conf.get('claim_name', f'{name}-pvc')
matching_claims = _kubernetes.list_persistent_volume_claim_for_all_namespaces(
field_selector=f'metadata.name={pvc_name}'
).to_dict()['items']
while len(matching_claims) == 0:
_create_persistent_volume_claim(pvc_name, name, namespace)
sleep(5)
matching_claims = _kubernetes.list_persistent_volume_claim_for_all_namespaces(
field_selector=f'metadata.name={pvc_name}'
).to_dict()['items']
_LOCAL_VOLUMES.add(name)