Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/DIRAC/AccountingSystem/Agent/NetworkAgent.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from DIRAC.AccountingSystem.Client.Types.Network import Network
from DIRAC.ConfigurationSystem.Client.Config import gConfig
from DIRAC.ConfigurationSystem.Client.CSAPI import CSAPI
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.Resources.MessageQueue.MQCommunication import createConsumer


Expand Down Expand Up @@ -165,7 +166,7 @@ def processMessage(self, headers, body):
timestamps = sorted(body["datapoints"])
for timestamp in timestamps:
try:
date = datetime.utcfromtimestamp(float(timestamp))
date = DiracTime.utcfromtimestamp(float(timestamp))

# create a key that allows to join packet-loss-rate and one-way-delay
# metrics in one network accounting record
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
""" Within this module is defined the class from which all other accounting types are defined
"""

from DIRAC.Core.Utilities.TimeUtilities import DiracTime
import datetime

from DIRAC import S_OK, S_ERROR
Expand Down Expand Up @@ -55,7 +56,7 @@ def setStartTime(self, startTime=False):
By default use now
"""
if not startTime:
self.startTime = datetime.datetime.utcnow()
self.startTime = DiracTime.utcnow()
else:
self.startTime = startTime

Expand All @@ -65,15 +66,15 @@ def setEndTime(self, endTime=False):
By default use now
"""
if not endTime:
self.endTime = datetime.datetime.utcnow()
self.endTime = DiracTime.utcnow()
else:
self.endTime = endTime

def setNowAsStartAndEndTime(self):
"""
Set current time as start and end time of the report
"""
self.startTime = datetime.datetime.utcnow()
self.startTime = DiracTime.utcnow()
self.endTime = self.startTime

def setValueByKey(self, key, value):
Expand Down
5 changes: 3 additions & 2 deletions src/DIRAC/AccountingSystem/DB/AccountingDB.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from DIRAC.Core.Utilities import DEncode, List, ThreadSafe, TimeUtilities
from DIRAC.Core.Utilities.Plotting.TypeLoader import TypeLoader
from DIRAC.Core.Utilities.ThreadPool import ThreadPool
from DIRAC.Core.Utilities.TimeUtilities import DiracTime

gSynchro = ThreadSafe.Synchronizer()

Expand Down Expand Up @@ -50,7 +51,7 @@ def __init__(self, name="Accounting/AccountingDB", readOnly=False, parentLogger=
minute=random.randint(0, 59), # nosec B311
second=random.randint(0, 59), # nosec B311
)
lcd = datetime.datetime.utcnow()
lcd = DiracTime.utcnow()
lcd.replace(hour=self.__compactTime.hour + 1, minute=0, second=0)
self.__lastCompactionEpoch = TimeUtilities.toEpoch(lcd)
self.__registerTypes()
Expand All @@ -69,7 +70,7 @@ def autoCompactDB(self):

def __periodicAutoCompactDB(self):
while self.autoCompact:
nct = datetime.datetime.utcnow()
nct = DiracTime.utcnow()
if nct.hour >= self.__compactTime.hour:
nct = nct + datetime.timedelta(days=1)
nct = nct.replace(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from DIRAC.AccountingSystem.private.Policies import gPoliciesList
from DIRAC.Core.Utilities.Plotting.Plots import generateErrorMessagePlot
from DIRAC.Core.Utilities.Plotting.FileCoding import extractRequestFromFileId
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.ConfigurationSystem.Client import PathFinder
from DIRAC.Core.DISET.RequestHandler import RequestHandler

Expand Down Expand Up @@ -76,13 +77,13 @@ def __checkPlotRequest(self, reportRequest):
return S_ERROR("Value Error")
if lastSeconds < 3600:
return S_ERROR("lastSeconds must be more than 3600")
now = datetime.datetime.utcnow()
now = DiracTime.utcnow()
reportRequest["endTime"] = now
reportRequest["startTime"] = now - datetime.timedelta(seconds=lastSeconds)
else:
# if enddate is not there, just set it to now
if not reportRequest.get("endTime", False):
reportRequest["endTime"] = datetime.datetime.utcnow()
reportRequest["endTime"] = DiracTime.utcnow()
# Check keys
for key, keyType in self.__reportRequestDict.items():
if key not in reportRequest:
Expand Down
5 changes: 2 additions & 3 deletions src/DIRAC/ConfigurationSystem/Client/CSAPI.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
Most of these functions can only be done by administrators
"""

import datetime

from DIRAC import S_ERROR, S_OK, gConfig, gLogger
from DIRAC.ConfigurationSystem.Client.ConfigurationClient import ConfigurationClient
Expand All @@ -15,6 +14,7 @@
from DIRAC.Core.Security import Locations
from DIRAC.Core.Security.X509Chain import X509Chain # pylint: disable=import-error
from DIRAC.Core.Utilities import List
from DIRAC.Core.Utilities.TimeUtilities import DiracTime


class CSAPI:
Expand Down Expand Up @@ -103,8 +103,7 @@ def initialize(self):
self.__rpcClient = ConfigurationClient(url=gConfig.getValue("/DIRAC/Configuration/MasterServer", ""))
self.__csMod = Modificator(
self.__rpcClient,
"%s - %s - %s"
% (self.__userGroup, self.__userDN, datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")),
f"{self.__userGroup} - {self.__userDN} - {DiracTime.utcnow().strftime('%Y-%m-%d %H:%M:%S')}",
)
retVal = self.downloadCSData()
if not retVal["OK"]:
Expand Down
6 changes: 3 additions & 3 deletions src/DIRAC/ConfigurationSystem/private/ConfigurationData.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import zipfile
import _thread
import time
import datetime
import secrets

from diraccfg import CFG
Expand All @@ -16,6 +15,7 @@
from DIRAC.Core.Utilities import List
from DIRAC.Core.Utilities.ReturnValues import S_OK, S_ERROR
from DIRAC.Core.Utilities.LockRing import LockRing
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.FrameworkSystem.Client.Logger import gLogger


Expand Down Expand Up @@ -201,7 +201,7 @@ def deleteOptionInCFG(self, path, cfg=False):
self.sync()

def generateNewVersion(self):
self.setVersion(str(datetime.datetime.utcnow()))
self.setVersion(str(DiracTime.utcnow()))
self.sync()
gLogger.info(f"Generated new version {self.getVersion()}")

Expand Down Expand Up @@ -326,7 +326,7 @@ def dumpRemoteCFGToFile(self, fileName):
def __backupCurrentConfiguration(self, backupName):
configurationFilename = f"{self.getName()}.cfg"
configurationFile = os.path.join(DIRAC.rootPath, "etc", configurationFilename)
today = datetime.datetime.utcnow().date()
today = DiracTime.utcnow().date()
backupPath = os.path.join(self.getBackupDir(), str(today.year), "%02d" % today.month)
mkDir(backupPath)
backupFile = os.path.join(backupPath, configurationFilename.replace(".cfg", f".{backupName}.zip"))
Expand Down
4 changes: 2 additions & 2 deletions src/DIRAC/ConfigurationSystem/private/Modificator.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
""" This is the guy that actually modifies the content of the CS
"""
import datetime
import difflib
import zlib

Expand All @@ -10,6 +9,7 @@
from DIRAC.ConfigurationSystem.Client.ConfigurationData import gConfigurationData
from DIRAC.Core.Security.ProxyInfo import getProxyInfo
from DIRAC.Core.Utilities import List
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.FrameworkSystem.Utilities.diracx import diracxVerifyConfig


Expand All @@ -29,7 +29,7 @@ def loadCredentials(self):
self.commiterId = "{}@{} - {}".format(
credDict["username"],
credDict["group"],
datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S"),
DiracTime.utcnow().strftime("%Y-%m-%d %H:%M:%S"),
)
return retVal
return retVal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
$ dirac-admin-sort-cs-sites -C CLOUDS DIRAC
sort site names by country postfix in '/Resources/Sites/CLOUDS' and '/Resources/Sites/DIRAC' subsection
"""
from datetime import datetime

from DIRAC import gLogger, exit as DIRACExit
from DIRAC.Core.Base.Script import Script
from DIRAC.Core.Security.ProxyInfo import getProxyInfo
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.ConfigurationSystem.Client.Helpers.Registry import getPropertiesForGroup
from DIRAC.ConfigurationSystem.Client.CSAPI import CSAPI

Expand Down Expand Up @@ -112,7 +112,7 @@ def main():
gLogger.notice("Nothing to do, site names are already sorted")
DIRACExit(0)

timestamp = str(datetime.utcnow())
timestamp = str(DiracTime.utcnow())
stamp = f"Site names are sorted by {Script.scriptName} script at {timestamp}"
cs.setOptionComment("/Resources/Sites", stamp)

Expand Down
4 changes: 2 additions & 2 deletions src/DIRAC/Core/Base/AgentModule.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""
Base class for all agent modules
"""
import datetime
import importlib.metadata
import inspect
import os
Expand All @@ -20,6 +19,7 @@
from DIRAC.Core.Utilities.ReturnValues import isReturnStructure
from DIRAC.Core.Utilities.Shifter import setupShifterProxyInEnv
from DIRAC.Core.Utilities.ThreadScheduler import gThreadScheduler
from DIRAC.Core.Utilities.TimeUtilities import DiracTime


class AgentModule:
Expand Down Expand Up @@ -233,7 +233,7 @@ def am_checkStopAgentFile(self):
def am_createStopAgentFile(self):
try:
with open(self.am_getStopAgentFile(), "w") as fd:
fd.write(f"Dirac site agent Stopped at {str(datetime.datetime.utcnow())}")
fd.write(f"Dirac site agent Stopped at {str(DiracTime.utcnow())}")
except Exception as err:
self.log.info(f"Failed to write stop file: {str(err)}")

Expand Down
4 changes: 2 additions & 2 deletions src/DIRAC/Core/DISET/MessageClient.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import random
import threading
import datetime
from hashlib import md5

from DIRAC.Core.Utilities.ThreadSafe import Synchronizer
from DIRAC.Core.DISET.private.BaseClient import BaseClient
from DIRAC.Core.DISET.private.MessageBroker import getGlobalMessageBroker
from DIRAC.Core.Utilities.ReturnValues import S_OK, S_ERROR, isReturnStructure
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.Core.Utilities import Network
from DIRAC.FrameworkSystem.Client.Logger import gLogger

Expand All @@ -29,7 +29,7 @@ def _initialize(self):

def __generateUniqueClientName(self):
hashStr = ":".join(
(str(datetime.datetime.utcnow()), str(random.random()), Network.getFQDN(), gLogger.getName()) # nosec B311
(str(DiracTime.utcnow()), str(random.random()), Network.getFQDN(), gLogger.getName()) # nosec B311
)
hexHash = md5(hashStr.encode(), usedforsecurity=False).hexdigest()
return hexHash
Expand Down
7 changes: 4 additions & 3 deletions src/DIRAC/Core/DISET/RequestHandler.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
""" Base class for all services
"""
import os
import time, datetime
import time
import psutil

import DIRAC

from DIRAC.Core.DISET.private.FileHelper import FileHelper
from DIRAC.Core.Utilities.ReturnValues import S_OK, S_ERROR, isReturnStructure
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.ConfigurationSystem.Client.Config import gConfig
from DIRAC.FrameworkSystem.Client.Logger import gLogger
from DIRAC.Core.Security.Properties import CS_ADMINISTRATOR
Expand Down Expand Up @@ -494,12 +495,12 @@ def __logRemoteQueryResponse(self, retVal, elapsedTime):
def export_ping(self):
dInfo = {}
dInfo["version"] = DIRAC.version
dInfo["time"] = datetime.datetime.utcnow()
dInfo["time"] = DiracTime.utcnow()
# Uptime
dInfo["host uptime"] = int(time.time() - psutil.boot_time())
startTime = self.serviceInfoDict["serviceStartTime"]
dInfo["service start time"] = self.serviceInfoDict["serviceStartTime"]
serviceUptime = datetime.datetime.utcnow() - startTime
serviceUptime = DiracTime.utcnow() - startTime
dInfo["service uptime"] = int(serviceUptime.total_seconds())
# Load average
dInfo["load"] = " ".join([str(lx) for lx in os.getloadavg()])
Expand Down
4 changes: 2 additions & 2 deletions src/DIRAC/Core/DISET/ServiceReactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
"""

import time
import datetime
import selectors
import signal
import os
Expand All @@ -28,6 +27,7 @@
from DIRAC.Core.DISET.private.GatewayService import GatewayService
from DIRAC.Core.Base.private.ModuleLoader import ModuleLoader
from DIRAC.Core.DISET.private.Protocols import gProtocolDict
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
from DIRAC.ConfigurationSystem.Client import PathFinder

Expand Down Expand Up @@ -260,7 +260,7 @@ class ReactorStats:
def __init__(self):
self.__connections = 0
self.__established = 0
self.__startTime = datetime.datetime.utcnow()
self.__startTime = DiracTime.utcnow()

def connectionStablished(self):
self.__connections += 1
5 changes: 2 additions & 3 deletions src/DIRAC/Core/DISET/private/Service.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

import os
import time
import datetime
import threading
import psutil

Expand All @@ -24,11 +23,11 @@
from DIRAC.Core.DISET.private.TransportPool import getGlobalTransportPool
from DIRAC.Core.DISET.private.MessageBroker import MessageBroker, MessageSender
from DIRAC.Core.DISET.AuthManager import AuthManager
from DIRAC.Core.DISET.RequestHandler import getServiceOption
from DIRAC.Core.Utilities import Network, TimeUtilities
from DIRAC.Core.Utilities.DErrno import ENOAUTH
from DIRAC.Core.Utilities.ReturnValues import isReturnStructure
from DIRAC.Core.Utilities.ThreadScheduler import gThreadScheduler
from DIRAC.Core.Utilities.TimeUtilities import DiracTime
from DIRAC.FrameworkSystem.Client.SecurityLogClient import SecurityLogClient


Expand All @@ -50,7 +49,7 @@ def __init__(self, serviceData):
"""
self._svcData = serviceData
self._name = serviceData["modName"]
self._startTime = datetime.datetime.utcnow()
self._startTime = DiracTime.utcnow()
self._validNames = [serviceData["modName"]]
if serviceData["loadName"] not in self._validNames:
self._validNames.append(serviceData["loadName"])
Expand Down
3 changes: 2 additions & 1 deletion src/DIRAC/Core/LCG/GOCDBClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

from DIRAC import S_ERROR, S_OK, gLogger
from DIRAC.Core.Security.Locations import getCAsLocation
from DIRAC.Core.Utilities.TimeUtilities import DiracTime


def _parseSingleElement(element, attributes=None):
Expand Down Expand Up @@ -109,7 +110,7 @@ def getStatus(self, granularity, name=None, startDate=None, startingInHours=None
startDateMax = None

if startingInHours is not None:
startDate = datetime.utcnow()
startDate = DiracTime.utcnow()
startDateMax = startDate + timedelta(hours=startingInHours)

if startDate is not None:
Expand Down
Loading
Loading