Skip to content

Commit

Permalink
Add target display name to the job execution log && use base64 repres…
Browse files Browse the repository at this point in the history
…entation instead of kapuaId for job ids
  • Loading branch information
MDeLuise authored and Coduz committed Jan 30, 2023
1 parent 886fd64 commit 9997687
Show file tree
Hide file tree
Showing 14 changed files with 157 additions and 18 deletions.
4 changes: 4 additions & 0 deletions job-engine/commons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@
<groupId>org.eclipse.kapua</groupId>
<artifactId>kapua-job-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.kapua</groupId>
<artifactId>kapua-device-registry-api</artifactId>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ public final Object processItem(Object item) throws Exception {
jobLogger.setClassLog(LOG);

JobTarget jobTarget = wrappedJobTarget.getJobTarget();
jobLogger.info("Processing item: {}", wrappedJobTarget.getJobTarget().getId());
jobLogger.info("Processing item: {} (with target: {})", wrappedJobTarget.getJobTarget().getId().toCompactId(), getTargetDisplayName(jobTarget));
try {
processTarget(jobTarget);

jobTarget.setStatus(getCompletedStatus(jobTarget));

jobLogger.info("Processing item: {} - DONE!", jobTarget.getId());
jobLogger.info("Processing item: {} (with target: {}) - DONE!", jobTarget.getId().toCompactId(), getTargetDisplayName(jobTarget));
} catch (Exception e) {
jobLogger.error(e, "Processing item: {} - Error!", jobTarget.getId());
jobLogger.error(e, "Processing item: {} (with target: {}) - Error!", jobTarget.getId().toCompactId(), getTargetDisplayName(jobTarget));

jobTarget.setStatus(getFailedStatus(jobTarget));
wrappedJobTarget.setProcessingException(e);
Expand All @@ -68,6 +68,8 @@ public final Object processItem(Object item) throws Exception {
return wrappedJobTarget;
}

protected abstract String getTargetDisplayName(JobTarget jobTarget) throws KapuaException;

/**
* Actions before {@link #processTarget(JobTarget)} invocation.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import org.eclipse.kapua.service.device.management.asset.DeviceAssetManagementService;
import org.eclipse.kapua.service.device.management.asset.DeviceAssets;
import org.eclipse.kapua.service.device.management.asset.job.definition.DeviceAssetWritePropertyKeys;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -34,8 +36,8 @@
* @since 1.0.0
*/
public class DeviceAssetWriteTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceAssetManagementService ASSET_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceAssetManagementService.class);

@Inject
Expand All @@ -57,4 +59,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> ASSET_MANAGEMENT_SERVICE.write(jobTarget.getScopeId(), jobTarget.getJobTargetId(), assets, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,16 @@
package org.eclipse.kapua.service.device.management.bundle.job;

import org.eclipse.kapua.KapuaException;
import org.eclipse.kapua.commons.configuration.ServiceConfigDAO;
import org.eclipse.kapua.commons.security.KapuaSecurityUtils;
import org.eclipse.kapua.job.engine.commons.operation.AbstractTargetProcessor;
import org.eclipse.kapua.job.engine.commons.wrappers.JobTargetWrapper;
import org.eclipse.kapua.locator.KapuaLocator;
import org.eclipse.kapua.model.id.KapuaId;
import org.eclipse.kapua.service.device.management.bundle.DeviceBundleManagementService;
import org.eclipse.kapua.service.device.management.bundle.job.definition.DeviceBundlePropertyKeys;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -33,8 +36,8 @@
* @since 1.0.0
*/
public class DeviceBundleStartTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceBundleManagementService BUNDLE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceBundleManagementService.class);

@Inject
Expand All @@ -56,4 +59,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> BUNDLE_MANAGEMENT_SERVICE.start(jobTarget.getScopeId(), jobTarget.getJobTargetId(), bundleId, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import org.eclipse.kapua.model.id.KapuaId;
import org.eclipse.kapua.service.device.management.bundle.DeviceBundleManagementService;
import org.eclipse.kapua.service.device.management.bundle.job.definition.DeviceBundlePropertyKeys;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -33,8 +35,8 @@
* @since 1.0.0
*/
public class DeviceBundleStopTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceBundleManagementService BUNDLE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceBundleManagementService.class);

@Inject
Expand All @@ -56,4 +58,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> BUNDLE_MANAGEMENT_SERVICE.stop(jobTarget.getScopeId(), jobTarget.getJobTargetId(), bundleId, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import org.eclipse.kapua.service.device.management.command.DeviceCommandInput;
import org.eclipse.kapua.service.device.management.command.DeviceCommandManagementService;
import org.eclipse.kapua.service.device.management.command.job.definition.DeviceCommandExecPropertyKeys;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -34,8 +36,8 @@
* @since 1.0.0
*/
public class DeviceCommandExecTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceCommandManagementService COMMAND_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceCommandManagementService.class);

@Inject
Expand All @@ -57,4 +59,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> COMMAND_MANAGEMENT_SERVICE.exec(jobTarget.getScopeId(), jobTarget.getJobTargetId(), commandInput, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import org.eclipse.kapua.service.device.management.configuration.DeviceConfiguration;
import org.eclipse.kapua.service.device.management.configuration.DeviceConfigurationManagementService;
import org.eclipse.kapua.service.device.management.configuration.job.definition.DeviceConfigurationPutPropertyKeys;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -36,6 +38,7 @@
public class DeviceConfigurationPutTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceConfigurationManagementService CONFIGURATION_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceConfigurationManagementService.class);

@Inject
Expand All @@ -57,4 +60,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> CONFIGURATION_MANAGEMENT_SERVICE.put(jobTarget.getScopeId(), jobTarget.getJobTargetId(), configuration, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import org.eclipse.kapua.service.device.management.keystore.DeviceKeystoreManagementService;
import org.eclipse.kapua.service.device.management.keystore.job.definition.DeviceCertificateCreatePropertyKeys;
import org.eclipse.kapua.service.device.management.keystore.model.DeviceKeystoreCertificate;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -35,8 +37,8 @@
* @since 1.0.0
*/
public class DeviceKeystoreCertificateCreateTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceKeystoreManagementService KEYSTORE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceKeystoreManagementService.class);
private static final DeviceKeystoreManagementFactory KEYSTORE_MANAGEMENT_FACTORY = LOCATOR.getFactory(DeviceKeystoreManagementFactory.class);

Expand Down Expand Up @@ -67,4 +69,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> KEYSTORE_MANAGEMENT_SERVICE.createKeystoreCertificate(jobTarget.getScopeId(), jobTarget.getJobTargetId(), deviceKeystoreCertificate, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import org.eclipse.kapua.service.device.management.keystore.DeviceKeystoreManagementService;
import org.eclipse.kapua.service.device.management.keystore.job.definition.DeviceKeystoreItemDeletePropertyKeys;
import org.eclipse.kapua.service.device.management.keystore.model.DeviceKeystoreCertificate;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -34,8 +36,8 @@
* @since 1.0.0
*/
public class DeviceKeystoreItemDeleteTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceKeystoreManagementService KEYSTORE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceKeystoreManagementService.class);

@Inject
Expand All @@ -58,4 +60,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> KEYSTORE_MANAGEMENT_SERVICE.deleteKeystoreItem(jobTarget.getScopeId(), jobTarget.getJobTargetId(), keystoreId, alias, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
import org.eclipse.kapua.service.device.management.keystore.job.definition.DeviceKeypairCreatePropertyKeys;
import org.eclipse.kapua.service.device.management.keystore.model.DeviceKeystoreCertificate;
import org.eclipse.kapua.service.device.management.keystore.model.DeviceKeystoreKeypair;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;

Expand All @@ -36,8 +38,8 @@
* @since 1.0.0
*/
public class DeviceKeystoreKeypairCreateTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceKeystoreManagementService KEYSTORE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceKeystoreManagementService.class);
private static final DeviceKeystoreManagementFactory KEYSTORE_MANAGEMENT_FACTORY = LOCATOR.getFactory(DeviceKeystoreManagementFactory.class);

Expand Down Expand Up @@ -74,4 +76,13 @@ public void processTarget(JobTarget jobTarget) throws KapuaException {

KapuaSecurityUtils.doPrivileged(() -> KEYSTORE_MANAGEMENT_SERVICE.createKeystoreKeypair(jobTarget.getScopeId(), jobTarget.getJobTargetId(), deviceKeystoreKeypair, timeout));
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
import org.eclipse.kapua.service.device.management.registry.operation.DeviceManagementOperation;
import org.eclipse.kapua.service.device.management.registry.operation.DeviceManagementOperationFactory;
import org.eclipse.kapua.service.device.management.registry.operation.DeviceManagementOperationRegistryService;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;
import org.eclipse.kapua.service.job.targets.JobTargetStatus;
Expand All @@ -40,9 +42,8 @@
* @since 1.1.0
*/
public abstract class AbstractDevicePackageTargetProcessor extends AbstractTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();

private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DeviceManagementOperationRegistryService DEVICE_MANAGEMENT_OPERATION_REGISTRY_SERVICE = LOCATOR.getService(DeviceManagementOperationRegistryService.class);
private static final DeviceManagementOperationFactory DEVICE_MANAGEMENT_OPERATION_FACTORY = LOCATOR.getFactory(DeviceManagementOperationFactory.class);

Expand All @@ -52,6 +53,7 @@ public abstract class AbstractDevicePackageTargetProcessor extends AbstractTarge
private static final JobEngineService JOB_ENGINE_SERVICE = LOCATOR.getService(JobEngineService.class);
private static final JobEngineFactory JOB_ENGINE_FACTORY = LOCATOR.getFactory(JobEngineFactory.class);


protected void createJobDeviceManagementOperation(KapuaId scopeId, KapuaId jobId, JobTarget jobTarget, KapuaId operationId) throws KapuaException {
//
// Save the jobId-deviceManagementOperationId pair to track resuming
Expand Down Expand Up @@ -98,4 +100,12 @@ protected void createJobDeviceManagementOperation(KapuaId scopeId, KapuaId jobId
}
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import org.eclipse.kapua.service.device.management.packages.job.definition.DevicePackageDownloadPropertyKeys;
import org.eclipse.kapua.service.device.management.packages.model.download.DevicePackageDownloadOptions;
import org.eclipse.kapua.service.device.management.packages.model.download.DevicePackageDownloadRequest;
import org.eclipse.kapua.service.device.registry.Device;
import org.eclipse.kapua.service.device.registry.DeviceRegistryService;
import org.eclipse.kapua.service.job.operation.TargetProcessor;
import org.eclipse.kapua.service.job.targets.JobTarget;
import org.eclipse.kapua.service.job.targets.JobTargetStatus;
Expand All @@ -36,9 +38,8 @@
* @since 1.0.0
*/
public class DevicePackageDownloadTargetProcessor extends AbstractDevicePackageTargetProcessor implements TargetProcessor {

private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();

private static final DeviceRegistryService DEVICE_REGISTRY_SERVICE = LOCATOR.getService(DeviceRegistryService.class);
private static final DevicePackageManagementService PACKAGES_MANAGEMENT_SERVICE = LOCATOR.getService(DevicePackageManagementService.class);
private static final DevicePackageFactory DEVICE_PACKAGE_FACTORY = LOCATOR.getFactory(DevicePackageFactory.class);

Expand Down Expand Up @@ -88,4 +89,13 @@ protected JobTargetStatus getCompletedStatus(JobTarget jobTarget) {

return JobTargetStatus.AWAITING_COMPLETION;
}

@Override
protected String getTargetDisplayName(JobTarget jobTarget) throws KapuaException {
Device device = DEVICE_REGISTRY_SERVICE.find(jobTarget.getScopeId(), jobTarget.getJobTargetId());
if (device == null) {
return "N/A";
}
return device.getClientId();
}
}

0 comments on commit 9997687

Please sign in to comment.