Skip to content
Snippets Groups Projects
Commit 92b76d6a authored by Fotis Soldatos's avatar Fotis Soldatos
Browse files

feat(automation): implement ztpUpdate()

parent c9827f4e
No related branches found
No related tags found
1 merge request!54Release 2.0.0
Showing
with 1194 additions and 73 deletions
......@@ -21,7 +21,7 @@ service AutomationService {
rpc ZtpGetDeviceRole(DeviceRoleId) returns (DeviceRole) {}
rpc ZtpGetDeviceRolesByDeviceId(context.DeviceId) returns (DeviceRoleList) {}
rpc ZtpAdd(DeviceRole) returns (DeviceRoleState) {}
rpc ZtpUpdate(DeviceRole) returns (DeviceRoleState) {}
rpc ZtpUpdate(DeviceRoleConfig) returns (DeviceRoleState) {}
rpc ZtpDelete(DeviceRole) returns (DeviceRoleState) {}
rpc ZtpDeleteAll(context.Empty) returns (DeviceDeletionResult) {}
}
......@@ -43,6 +43,11 @@ message DeviceRole {
DeviceRoleType devRoleType = 2;
}
message DeviceRoleConfig {
DeviceRole devRole = 1;
context.DeviceConfig devConfig = 2;
}
message DeviceRoleList {
repeated DeviceRole devRole = 1;
}
......
......@@ -17,9 +17,12 @@
package eu.teraflow.automation;
import automation.Automation;
import automation.Automation.DeviceRoleConfig;
import automation.Automation.DeviceRoleState;
import context.ContextOuterClass;
import eu.teraflow.automation.context.model.Device;
import eu.teraflow.automation.model.DeviceRoleId;
import eu.teraflow.automation.model.DeviceState;
import io.quarkus.grpc.GrpcService;
import io.smallrye.mutiny.Uni;
import javax.inject.Inject;
......@@ -56,17 +59,19 @@ public class AutomationGatewayImpl implements AutomationGateway {
return automationService
.addDevice(deviceId)
.onItem()
.transform(device -> transformToDeviceRoleState(device, devRoleId));
.transform(device -> transformToDeviceRoleState(device, devRoleId, DeviceState.CREATED));
}
@Override
public Uni<Automation.DeviceRoleState> ztpUpdate(Automation.DeviceRole request) {
return Uni.createFrom()
.item(
() ->
Automation.DeviceRoleState.newBuilder()
.setDevRoleId(request.getDevRoleId())
.build());
public Uni<DeviceRoleState> ztpUpdate(DeviceRoleConfig request) {
final var devRoleId = request.getDevRole().getDevRoleId().getDevRoleId().getUuid();
final var deviceId = serializer.deserialize(request.getDevRole().getDevRoleId().getDevId());
final var deviceConfig = serializer.deserialize(request.getDevConfig());
return automationService
.updateDevice(deviceId, deviceConfig)
.onItem()
.transform(device -> transformToDeviceRoleState(device, devRoleId, DeviceState.UPDATED));
}
@Override
......@@ -84,16 +89,15 @@ public class AutomationGatewayImpl implements AutomationGateway {
return Uni.createFrom().item(() -> Automation.DeviceDeletionResult.newBuilder().build());
}
// TODO When `DeviceRoleState` domain object will be created, move this method to Serializer class
// and create related tests
private Automation.DeviceRoleState transformToDeviceRoleState(Device device, String devRoleId) {
private Automation.DeviceRoleState transformToDeviceRoleState(
Device device, String devRoleId, DeviceState deviceState) {
final var deviceRoleId = new DeviceRoleId(devRoleId, device.getDeviceId());
final var serializeDeviceRoleId = serializer.serialize(deviceRoleId);
final var serializedDeviceState = serializer.serialize(deviceState);
return Automation.DeviceRoleState.newBuilder()
.setDevRoleId(serializeDeviceRoleId)
.setDevRoleState(Automation.ZtpDeviceState.ZTP_DEV_STATE_CREATED)
.setDevRoleState(serializedDeviceState)
.build();
}
}
......@@ -17,6 +17,7 @@
package eu.teraflow.automation;
import eu.teraflow.automation.context.model.Device;
import eu.teraflow.automation.context.model.DeviceConfig;
import io.smallrye.mutiny.Uni;
public interface AutomationService {
......@@ -24,4 +25,6 @@ public interface AutomationService {
Uni<Device> addDevice(String deviceId);
Uni<Device> deleteDevice(String deviceId);
Uni<Device> updateDevice(String deviceId, DeviceConfig deviceConfig);
}
......@@ -18,6 +18,7 @@ package eu.teraflow.automation;
import eu.teraflow.automation.context.ContextService;
import eu.teraflow.automation.context.model.Device;
import eu.teraflow.automation.context.model.DeviceConfig;
import eu.teraflow.automation.device.DeviceService;
import io.smallrye.mutiny.Uni;
import javax.enterprise.context.ApplicationScoped;
......@@ -27,6 +28,7 @@ import org.jboss.logging.Logger;
@ApplicationScoped
public class AutomationServiceImpl implements AutomationService {
private static final Logger LOGGER = Logger.getLogger(AutomationServiceImpl.class);
private static final String MESSAGE = "Retrieved %s";
private final DeviceService deviceService;
private final ContextService contextService;
......@@ -43,14 +45,13 @@ public class AutomationServiceImpl implements AutomationService {
final var deserializedDeviceUni = contextService.getDevice(deviceId);
deserializedDeviceUni
// TODO fix subscribe
.subscribe()
.with(
device -> {
final var id = deviceId;
if (!device.isEnabled()) {
LOGGER.infof("Retrieved %s", device);
LOGGER.infof(MESSAGE, device);
final var initialConfiguration =
deviceService.getInitialConfiguration(device.getDeviceId());
......@@ -91,7 +92,7 @@ public class AutomationServiceImpl implements AutomationService {
device -> {
final var id = deviceId;
LOGGER.infof("Retrieved %s", device);
LOGGER.infof(MESSAGE, device);
final var empty = deviceService.deleteDevice(device.getDeviceId());
......@@ -102,4 +103,30 @@ public class AutomationServiceImpl implements AutomationService {
return deserializedDeviceUni;
}
@Override
public Uni<Device> updateDevice(String deviceId, DeviceConfig deviceConfig) {
final var deserializedDeviceUni = contextService.getDevice(deviceId);
deserializedDeviceUni
.subscribe()
.with(
device -> {
final var id = deviceId;
LOGGER.infof(MESSAGE, device);
device.setDeviceConfiguration(deviceConfig);
final var updatedDeviceIdUni = deviceService.configureDevice(device);
updatedDeviceIdUni
.subscribe()
.with(
configuredDeviceId ->
LOGGER.infof(
"Device [%s] has been updated successfully with %s.\n",
id, deviceConfig));
});
return deserializedDeviceUni;
}
}
......@@ -77,8 +77,10 @@ public class ContextSubscriber {
LOGGER.infof("Received %s for device [%s]", event, deviceId);
automationService.deleteDevice(deviceEvent.getDeviceId());
break;
case UPDATE:
// TODO a DeviceConfig object should be part of the DeviceEvent object in order
// for automationService.updateDevice() to be triggered automatically like
// addDevice().
case UNDEFINED:
logWarningMessage(event, deviceId, eventType);
break;
......
......@@ -18,6 +18,7 @@ package eu.teraflow.automation;
import acl.Acl;
import automation.Automation;
import automation.Automation.ZtpDeviceState;
import context.ContextOuterClass;
import context.ContextOuterClass.ConfigRule_ACL;
import context.ContextOuterClass.ConfigRule_Custom;
......@@ -56,8 +57,10 @@ import eu.teraflow.automation.context.model.LocationTypeRegion;
import eu.teraflow.automation.context.model.TopologyId;
import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType;
import eu.teraflow.automation.model.DeviceRole;
import eu.teraflow.automation.model.DeviceRoleConfig;
import eu.teraflow.automation.model.DeviceRoleId;
import eu.teraflow.automation.model.DeviceRoleType;
import eu.teraflow.automation.model.DeviceState;
import java.util.stream.Collectors;
import javax.inject.Singleton;
import kpi_sample_types.KpiSampleTypes;
......@@ -132,6 +135,36 @@ public class Serializer {
}
}
public Automation.ZtpDeviceState serialize(DeviceState deviceState) {
switch (deviceState) {
case CREATED:
return ZtpDeviceState.ZTP_DEV_STATE_CREATED;
case UPDATED:
return ZtpDeviceState.ZTP_DEV_STATE_UPDATED;
case DELETED:
return ZtpDeviceState.ZTP_DEV_STATE_DELETED;
case UNDEFINED:
return ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED;
default:
return ZtpDeviceState.UNRECOGNIZED;
}
}
public DeviceState deserialize(Automation.ZtpDeviceState serializedDeviceState) {
switch (serializedDeviceState) {
case ZTP_DEV_STATE_CREATED:
return DeviceState.CREATED;
case ZTP_DEV_STATE_UPDATED:
return DeviceState.UPDATED;
case ZTP_DEV_STATE_DELETED:
return DeviceState.DELETED;
case ZTP_DEV_STATE_UNDEFINED:
case UNRECOGNIZED:
default:
return DeviceState.UNDEFINED;
}
}
public Automation.DeviceRole serialize(DeviceRole deviceRole) {
final var builder = Automation.DeviceRole.newBuilder();
final var serializedDeviceRoleId = serialize(deviceRole.getDeviceRoleId());
......@@ -150,6 +183,24 @@ public class Serializer {
return new DeviceRole(deviceRoleId, deviceRoleType);
}
public Automation.DeviceRoleConfig serialize(DeviceRoleConfig deviceRoleConfig) {
final var builder = Automation.DeviceRoleConfig.newBuilder();
final var serializedDeviceRole = serialize(deviceRoleConfig.getDeviceRole());
final var serializedDeviceConfig = serialize(deviceRoleConfig.getDeviceConfig());
builder.setDevRole(serializedDeviceRole);
builder.setDevConfig(serializedDeviceConfig);
return builder.build();
}
public DeviceRoleConfig deserialize(Automation.DeviceRoleConfig deviceRoleConfig) {
final var deviceRole = deserialize(deviceRoleConfig.getDevRole());
final var deviceConfig = deserialize(deviceRoleConfig.getDevConfig());
return new DeviceRoleConfig(deviceRole, deviceConfig);
}
public ContextOuterClass.EventTypeEnum serialize(EventTypeEnum eventTypeEnum) {
switch (eventTypeEnum) {
case CREATE:
......
......@@ -34,4 +34,10 @@ public class DeviceRole {
public DeviceRoleType getType() {
return type;
}
@Override
public String toString() {
return String.format(
"%s:{%s, deviceRoleType:\"%s\"}", getClass().getSimpleName(), id, type.toString());
}
}
/*
* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package eu.teraflow.automation.model;
import eu.teraflow.automation.context.model.DeviceConfig;
public class DeviceRoleConfig {
private final DeviceRole deviceRole;
private final DeviceConfig deviceConfig;
public DeviceRoleConfig(DeviceRole deviceRole, DeviceConfig deviceConfig) {
this.deviceRole = deviceRole;
this.deviceConfig = deviceConfig;
}
public DeviceRole getDeviceRole() {
return deviceRole;
}
public DeviceConfig getDeviceConfig() {
return deviceConfig;
}
@Override
public String toString() {
return String.format("%s:{%s, %s}", getClass().getSimpleName(), deviceRole, deviceConfig);
}
}
......@@ -33,4 +33,10 @@ public class DeviceRoleId {
public String getDeviceId() {
return deviceId;
}
@Override
public String toString() {
return String.format(
"%s:{id:\"%s\", deviceId:\"%s\"}", getClass().getSimpleName(), id, deviceId);
}
}
......@@ -38,6 +38,7 @@ import eu.teraflow.automation.context.model.TopologyId;
import eu.teraflow.automation.device.DeviceGateway;
import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType;
import eu.teraflow.automation.model.DeviceRole;
import eu.teraflow.automation.model.DeviceRoleConfig;
import eu.teraflow.automation.model.DeviceRoleId;
import eu.teraflow.automation.model.DeviceRoleType;
import io.quarkus.grpc.GrpcClient;
......@@ -160,16 +161,68 @@ class AutomationServiceTest {
@Test
void shouldUpdateDeviceRole() throws ExecutionException, InterruptedException, TimeoutException {
CompletableFuture<String> message = new CompletableFuture<>();
final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b";
final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a";
final var DEVICE_TYPE = "ztp";
final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4);
final var topologyIdA = new TopologyId("contextIdA", "idA");
final var deviceIdA = "deviceIdA";
final var idA = "idA";
final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA);
final var endPointTypeA = "endPointTypeA";
final var kpiSampleTypesA =
List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED);
final var locationTypeRegionA = new LocationTypeRegion("ATH");
final var locationA = new Location(locationTypeRegionA);
final var endPointA =
new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA)
.location(locationA)
.build();
final var topologyIdB = new TopologyId("contextIdB", "idB");
final var deviceIdB = "deviceIdB";
final var idB = "idB";
final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB);
final var endPointTypeB = "endPointTypeB";
final var kpiSampleTypesB =
List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED);
final var locationTypeRegionB = new LocationTypeRegion("ATH");
final var locationB = new Location(locationTypeRegionB);
final var endPointB =
new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB)
.location(locationB)
.build();
final var endPoints = List.of(endPointA, endPointB);
final var emptyDeviceConfig = new DeviceConfig(List.of());
final var device =
new Device(
DEVICE_ID,
DEVICE_TYPE,
emptyDeviceConfig,
DeviceOperationalStatus.ENABLED,
deviceDrivers,
endPoints);
Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(Uni.createFrom().item(device));
final var deviceRoleId = new DeviceRoleId(DEVICE_ROLE_ID, DEVICE_ID);
final var deviceRoleType = DeviceRoleType.DEV_CONF;
final var deviceRole = new DeviceRole(deviceRoleId, deviceRoleType);
final var serializedDeviceRole = serializer.serialize(deviceRole);
final var deviceRole = new DeviceRole(deviceRoleId, DeviceRoleType.DEV_OPS);
final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA");
final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA);
final var deviceConfig =
new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA)));
final var deviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig);
final var serializedDeviceRoleConfig = serializer.serialize(deviceRoleConfig);
client
.ztpUpdate(serializedDeviceRole)
.ztpUpdate(serializedDeviceRoleConfig)
.subscribe()
.with(
deviceRoleState -> {
......
......@@ -21,6 +21,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import acl.Acl;
import automation.Automation;
import automation.Automation.ZtpDeviceState;
import context.ContextOuterClass;
import context.ContextOuterClass.DeviceId;
import context.ContextOuterClass.DeviceOperationalStatusEnum;
......@@ -55,8 +56,10 @@ import eu.teraflow.automation.context.model.LocationTypeRegion;
import eu.teraflow.automation.context.model.TopologyId;
import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType;
import eu.teraflow.automation.model.DeviceRole;
import eu.teraflow.automation.model.DeviceRoleConfig;
import eu.teraflow.automation.model.DeviceRoleId;
import eu.teraflow.automation.model.DeviceRoleType;
import eu.teraflow.automation.model.DeviceState;
import io.quarkus.test.junit.QuarkusTest;
import java.util.List;
import java.util.stream.Collectors;
......@@ -243,6 +246,61 @@ class SerializerTest {
assertThat(deviceRole).usingRecursiveComparison().isEqualTo(expectedDeviceRole);
}
@Test
void shouldSerializeDeviceRoleConfig() {
final var expectedDevRoleId = new DeviceRoleId("expectedDevRoleId", "expectedDeviceId");
final var expectedDevRoleType = DeviceRoleType.DEV_OPS;
final var deviceRole = new DeviceRole(expectedDevRoleId, expectedDevRoleType);
final var serializedDeviceRole = serializer.serialize(deviceRole);
final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA");
final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA);
final var deviceConfig =
new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA)));
final var serializedDeviceConfig = serializer.serialize(deviceConfig);
final var expectedDeviceRoleConfig =
Automation.DeviceRoleConfig.newBuilder()
.setDevRole(serializedDeviceRole)
.setDevConfig(serializedDeviceConfig)
.build();
final var deviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig);
final var serializedDeviceRoleConfig = serializer.serialize(deviceRoleConfig);
assertThat(serializedDeviceRoleConfig)
.usingRecursiveComparison()
.isEqualTo(expectedDeviceRoleConfig);
}
@Test
void shouldDeserializeDeviceRoleConfig() {
final var expectedDevRoleId = new DeviceRoleId("expectedDevRoleId", "expectedDeviceId");
final var expectedDevRoleType = DeviceRoleType.DEV_OPS;
final var deviceRole = new DeviceRole(expectedDevRoleId, expectedDevRoleType);
final var serializedDeviceRole = serializer.serialize(deviceRole);
final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA");
final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA);
final var deviceConfig =
new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA)));
final var serializedDeviceConfig = serializer.serialize(deviceConfig);
final var expectedDeviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig);
final var serializedDeviceRoleConfig =
Automation.DeviceRoleConfig.newBuilder()
.setDevRole(serializedDeviceRole)
.setDevConfig(serializedDeviceConfig)
.build();
final var deviceRoleConfig = serializer.deserialize(serializedDeviceRoleConfig);
assertThat(deviceRoleConfig).usingRecursiveComparison().isEqualTo(expectedDeviceRoleConfig);
}
private static Stream<Arguments> provideEventTypeEnum() {
return Stream.of(
Arguments.of(EventTypeEnum.CREATE, ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE),
......@@ -267,6 +325,31 @@ class SerializerTest {
assertThat(eventType).isEqualTo(expectedEventType);
}
private static Stream<Arguments> provideDeviceState() {
return Stream.of(
Arguments.of(DeviceState.CREATED, ZtpDeviceState.ZTP_DEV_STATE_CREATED),
Arguments.of(DeviceState.UPDATED, ZtpDeviceState.ZTP_DEV_STATE_UPDATED),
Arguments.of(DeviceState.DELETED, ZtpDeviceState.ZTP_DEV_STATE_DELETED),
Arguments.of(DeviceState.UNDEFINED, ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED));
}
@ParameterizedTest
@MethodSource("provideDeviceState")
void shouldSerializeDeviceState(
DeviceState deviceState, ZtpDeviceState expectedSerializedDeviceState) {
final var serializedDeviceState = serializer.serialize(deviceState);
assertThat(serializedDeviceState.getNumber())
.isEqualTo(expectedSerializedDeviceState.getNumber());
}
@ParameterizedTest
@MethodSource("provideDeviceState")
void shouldDeserializeDeviceState(
DeviceState expectedDeviceState, ZtpDeviceState serializedDeviceState) {
final var deviceState = serializer.deserialize(serializedDeviceState);
assertThat(deviceState).isEqualTo(expectedDeviceState);
}
@Test
void shouldSerializeEvent() {
final var timestamp = ContextOuterClass.Timestamp.newBuilder().setTimestamp(1).build();
......
......@@ -14,7 +14,7 @@ public interface AutomationService extends MutinyService {
io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpAdd(automation.Automation.DeviceRole request);
io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRole request);
io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRoleConfig request);
io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpDelete(automation.Automation.DeviceRole request);
......
......@@ -40,7 +40,7 @@ public class AutomationServiceBean extends MutinyAutomationServiceGrpc.Automatio
}
}
@Override
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRole request) {
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRoleConfig request) {
try {
return delegate.ztpUpdate(request);
} catch (UnsupportedOperationException e) {
......
......@@ -33,7 +33,7 @@ public class AutomationServiceClient implements AutomationService, MutinyClient<
return stub.ztpAdd(request);
}
@Override
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRole request) {
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRoleConfig request) {
return stub.ztpUpdate(request);
}
@Override
......
......@@ -107,27 +107,27 @@ public final class AutomationServiceGrpc {
return getZtpAddMethod;
}
private static volatile io.grpc.MethodDescriptor<automation.Automation.DeviceRole,
private static volatile io.grpc.MethodDescriptor<automation.Automation.DeviceRoleConfig,
automation.Automation.DeviceRoleState> getZtpUpdateMethod;
@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "ZtpUpdate",
requestType = automation.Automation.DeviceRole.class,
requestType = automation.Automation.DeviceRoleConfig.class,
responseType = automation.Automation.DeviceRoleState.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<automation.Automation.DeviceRole,
public static io.grpc.MethodDescriptor<automation.Automation.DeviceRoleConfig,
automation.Automation.DeviceRoleState> getZtpUpdateMethod() {
io.grpc.MethodDescriptor<automation.Automation.DeviceRole, automation.Automation.DeviceRoleState> getZtpUpdateMethod;
io.grpc.MethodDescriptor<automation.Automation.DeviceRoleConfig, automation.Automation.DeviceRoleState> getZtpUpdateMethod;
if ((getZtpUpdateMethod = AutomationServiceGrpc.getZtpUpdateMethod) == null) {
synchronized (AutomationServiceGrpc.class) {
if ((getZtpUpdateMethod = AutomationServiceGrpc.getZtpUpdateMethod) == null) {
AutomationServiceGrpc.getZtpUpdateMethod = getZtpUpdateMethod =
io.grpc.MethodDescriptor.<automation.Automation.DeviceRole, automation.Automation.DeviceRoleState>newBuilder()
io.grpc.MethodDescriptor.<automation.Automation.DeviceRoleConfig, automation.Automation.DeviceRoleState>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(SERVICE_NAME, "ZtpUpdate"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
automation.Automation.DeviceRole.getDefaultInstance()))
automation.Automation.DeviceRoleConfig.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
automation.Automation.DeviceRoleState.getDefaultInstance()))
.setSchemaDescriptor(new AutomationServiceMethodDescriptorSupplier("ZtpUpdate"))
......@@ -271,7 +271,7 @@ public final class AutomationServiceGrpc {
/**
*/
public void ztpUpdate(automation.Automation.DeviceRole request,
public void ztpUpdate(automation.Automation.DeviceRoleConfig request,
io.grpc.stub.StreamObserver<automation.Automation.DeviceRoleState> responseObserver) {
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpUpdateMethod(), responseObserver);
}
......@@ -317,7 +317,7 @@ public final class AutomationServiceGrpc {
getZtpUpdateMethod(),
io.grpc.stub.ServerCalls.asyncUnaryCall(
new MethodHandlers<
automation.Automation.DeviceRole,
automation.Automation.DeviceRoleConfig,
automation.Automation.DeviceRoleState>(
this, METHODID_ZTP_UPDATE)))
.addMethod(
......@@ -378,7 +378,7 @@ public final class AutomationServiceGrpc {
/**
*/
public void ztpUpdate(automation.Automation.DeviceRole request,
public void ztpUpdate(automation.Automation.DeviceRoleConfig request,
io.grpc.stub.StreamObserver<automation.Automation.DeviceRoleState> responseObserver) {
io.grpc.stub.ClientCalls.asyncUnaryCall(
getChannel().newCall(getZtpUpdateMethod(), getCallOptions()), request, responseObserver);
......@@ -438,7 +438,7 @@ public final class AutomationServiceGrpc {
/**
*/
public automation.Automation.DeviceRoleState ztpUpdate(automation.Automation.DeviceRole request) {
public automation.Automation.DeviceRoleState ztpUpdate(automation.Automation.DeviceRoleConfig request) {
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getZtpUpdateMethod(), getCallOptions(), request);
}
......@@ -499,7 +499,7 @@ public final class AutomationServiceGrpc {
/**
*/
public com.google.common.util.concurrent.ListenableFuture<automation.Automation.DeviceRoleState> ztpUpdate(
automation.Automation.DeviceRole request) {
automation.Automation.DeviceRoleConfig request) {
return io.grpc.stub.ClientCalls.futureUnaryCall(
getChannel().newCall(getZtpUpdateMethod(), getCallOptions()), request);
}
......@@ -558,7 +558,7 @@ public final class AutomationServiceGrpc {
(io.grpc.stub.StreamObserver<automation.Automation.DeviceRoleState>) responseObserver);
break;
case METHODID_ZTP_UPDATE:
serviceImpl.ztpUpdate((automation.Automation.DeviceRole) request,
serviceImpl.ztpUpdate((automation.Automation.DeviceRoleConfig) request,
(io.grpc.stub.StreamObserver<automation.Automation.DeviceRoleState>) responseObserver);
break;
case METHODID_ZTP_DELETE:
......
......@@ -51,7 +51,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim
}
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRole request) {
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRoleConfig request) {
return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::ztpUpdate);
}
......@@ -98,7 +98,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim
}
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRole request) {
public io.smallrye.mutiny.Uni<automation.Automation.DeviceRoleState> ztpUpdate(automation.Automation.DeviceRoleConfig request) {
throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED);
}
......@@ -139,7 +139,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim
automation.AutomationServiceGrpc.getZtpUpdateMethod(),
asyncUnaryCall(
new MethodHandlers<
automation.Automation.DeviceRole,
automation.Automation.DeviceRoleConfig,
automation.Automation.DeviceRoleState>(
this, METHODID_ZTP_UPDATE, compression)))
.addMethod(
......@@ -205,7 +205,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim
serviceImpl::ztpAdd);
break;
case METHODID_ZTP_UPDATE:
io.quarkus.grpc.runtime.ServerCalls.oneToOne((automation.Automation.DeviceRole) request,
io.quarkus.grpc.runtime.ServerCalls.oneToOne((automation.Automation.DeviceRoleConfig) request,
(io.grpc.stub.StreamObserver<automation.Automation.DeviceRoleState>) responseObserver,
compression,
serviceImpl::ztpUpdate);
......
......@@ -3,8 +3,8 @@ apiVersion: v1
kind: Service
metadata:
annotations:
app.quarkus.io/commit-id: efb79e125321a3ea074cb90221a1b1d56dee5153
app.quarkus.io/build-timestamp: 2022-08-30 - 14:08:06 +0000
app.quarkus.io/commit-id: 80cfc0874138153f72a2a673fc4d040be707e899
app.quarkus.io/build-timestamp: 2022-08-31 - 09:25:37 +0000
labels:
app.kubernetes.io/name: automationservice
app: automationservice
......@@ -25,8 +25,8 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
app.quarkus.io/commit-id: efb79e125321a3ea074cb90221a1b1d56dee5153
app.quarkus.io/build-timestamp: 2022-08-30 - 14:08:06 +0000
app.quarkus.io/commit-id: 80cfc0874138153f72a2a673fc4d040be707e899
app.quarkus.io/build-timestamp: 2022-08-31 - 09:25:37 +0000
labels:
app: automationservice
app.kubernetes.io/name: automationservice
......@@ -39,8 +39,8 @@ spec:
template:
metadata:
annotations:
app.quarkus.io/commit-id: efb79e125321a3ea074cb90221a1b1d56dee5153
app.quarkus.io/build-timestamp: 2022-08-30 - 14:08:06 +0000
app.quarkus.io/commit-id: 80cfc0874138153f72a2a673fc4d040be707e899
app.quarkus.io/build-timestamp: 2022-08-31 - 09:25:37 +0000
labels:
app: automationservice
app.kubernetes.io/name: automationservice
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment