Replace _jid_dir() with salt.utils.jid.jid_dir()

This commit is contained in:
Erik Johnson 2016-08-30 22:58:35 -05:00
parent c278b1f52c
commit c872f12f9c

View File

@ -12,7 +12,6 @@ import logging
import os
import shutil
import time
import hashlib
import bisect
# Import salt libs
@ -49,21 +48,7 @@ def _job_dir():
'''
Return root of the jobs cache directory
'''
return os.path.join(__opts__['cachedir'],
'jobs')
def _jid_dir(jid):
'''
Return the jid_dir for the given job id
'''
if six.PY3:
jhash = getattr(hashlib, __opts__['hash_type'])(jid.encode('utf-8')).hexdigest()
else:
jhash = getattr(hashlib, __opts__['hash_type'])(str(jid)).hexdigest()
return os.path.join(_job_dir(),
jhash[:2],
jhash[2:])
return os.path.join(__opts__['cachedir'], 'jobs')
def _walk_through(job_dir):
@ -106,26 +91,26 @@ def prep_jid(nocache=False, passed_jid=None, recurse_count=0):
else:
jid = passed_jid
jid_dir_ = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
# Make sure we create the jid dir, otherwise someone else is using it,
# meaning we need a new jid.
if not os.path.isdir(jid_dir_):
if not os.path.isdir(jid_dir):
try:
os.makedirs(jid_dir_)
os.makedirs(jid_dir)
except OSError:
time.sleep(0.1)
if passed_jid is None:
return prep_jid(nocache=nocache, recurse_count=recurse_count+1)
try:
with salt.utils.fopen(os.path.join(jid_dir_, 'jid'), 'wb+') as fn_:
with salt.utils.fopen(os.path.join(jid_dir, 'jid'), 'wb+') as fn_:
if six.PY2:
fn_.write(jid)
else:
fn_.write(bytes(jid, 'utf-8'))
if nocache:
with salt.utils.fopen(os.path.join(jid_dir_, 'nocache'), 'wb+') as fn_:
with salt.utils.fopen(os.path.join(jid_dir, 'nocache'), 'wb+') as fn_:
fn_.write(b'')
except IOError:
log.warning('Could not write out jid file for job {0}. Retrying.'.format(jid))
@ -146,7 +131,7 @@ def returner(load):
if load['jid'] == 'req':
load['jid'] = prep_jid(nocache=load.get('nocache', False))
jid_dir = _jid_dir(load['jid'])
jid_dir = salt.utils.jid.jid_dir(load['jid'], _job_dir(), __opts__['hash_type'])
if os.path.exists(os.path.join(jid_dir, 'nocache')):
return
@ -206,7 +191,7 @@ def save_load(jid, clear_load, minions=None, recurse_count=0):
log.error(err)
raise salt.exceptions.SaltCacheError(err)
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
serial = salt.payload.Serial(__opts__)
@ -259,7 +244,7 @@ def save_minions(jid, minions, syndic_id=None):
)
serial = salt.payload.Serial(__opts__)
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
try:
if not os.path.exists(jid_dir):
@ -298,7 +283,7 @@ def get_load(jid):
'''
Return the load data that marks a specified jid
'''
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
load_fn = os.path.join(jid_dir, LOAD_P)
if not os.path.exists(jid_dir) or not os.path.exists(load_fn):
return {}
@ -330,7 +315,7 @@ def get_jid(jid):
'''
Return the information returned when the specified job id was executed
'''
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
serial = salt.payload.Serial(__opts__)
ret = {}
@ -458,7 +443,7 @@ def update_endtime(jid, time):
Endtime is stored as a plain text string
'''
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
try:
if not os.path.exists(jid_dir):
os.makedirs(jid_dir)
@ -474,7 +459,7 @@ def get_endtime(jid):
Returns False if no endtime is present
'''
jid_dir = _jid_dir(jid)
jid_dir = salt.utils.jid.jid_dir(jid, _job_dir(), __opts__['hash_type'])
etpath = os.path.join(jid_dir, ENDTIME)
if not os.path.exists(etpath):
return False