diff --git a/proto/automation.proto b/proto/automation.proto index 6de1d51e2aa440651beaf3875d213a2deee79abb..208c9cff1b7a86410d4c31e57c99eab16adf9eff 100644 --- a/proto/automation.proto +++ b/proto/automation.proto @@ -40,7 +40,7 @@ message DeviceRoleState { } message DeviceDeletionResult { - repeated bool deleted = 1; + repeated string deleted = 1; } message Empty {} diff --git a/src/automation/README.md b/src/automation/README.md index dc8aef6b11581ed43d0b6f8d2889428d23aefbc1..a66aab8ca54ea2661b943dc3f2b2d6d18777ca16 100644 --- a/src/automation/README.md +++ b/src/automation/README.md @@ -1,4 +1,6 @@ -# How to run locally the automation service (tested in Ubuntu 20.04) +# Automation TeraFlow OS service + +The Automation service, also known as Zero-Touch Provisioning (ZTP), is tested on Ubuntu 20.04. Follow the instructions below to build, test, and run this service on your local environment. ## Compile code diff --git a/src/automation/target/generated-sources/grpc/automation/Automation.java b/src/automation/target/generated-sources/grpc/automation/Automation.java index c4eb90a45b7ac0d615d72df7e1f0b314a764036a..a44bc42294078fdba325d9dc9f149eaf1bd2bcbc 100644 --- a/src/automation/target/generated-sources/grpc/automation/Automation.java +++ b/src/automation/target/generated-sources/grpc/automation/Automation.java @@ -3344,21 +3344,29 @@ public final class Automation { com.google.protobuf.MessageOrBuilder { /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return A list containing the deleted. */ - java.util.List<java.lang.Boolean> getDeletedList(); + java.util.List<java.lang.String> + getDeletedList(); /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return The count of deleted. */ int getDeletedCount(); /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param index The index of the element to return. * @return The deleted at the given index. */ - boolean getDeleted(int index); + java.lang.String getDeleted(int index); + /** + * <code>repeated string deleted = 1;</code> + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + com.google.protobuf.ByteString + getDeletedBytes(int index); } /** * Protobuf type {@code automation.DeviceDeletionResult} @@ -3373,7 +3381,7 @@ public final class Automation { super(builder); } private DeviceDeletionResult() { - deleted_ = emptyBooleanList(); + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @@ -3407,25 +3415,13 @@ public final class Automation { case 0: done = true; break; - case 8: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deleted_ = newBooleanList(); - mutable_bitField0_ |= 0x00000001; - } - deleted_.addBoolean(input.readBool()); - break; - } case 10: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { - deleted_ = newBooleanList(); + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deleted_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } - while (input.getBytesUntilLimit() > 0) { - deleted_.addBoolean(input.readBool()); - } - input.popLimit(limit); + deleted_.add(s); break; } default: { @@ -3444,7 +3440,7 @@ public final class Automation { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - deleted_.makeImmutable(); // C + deleted_ = deleted_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -3464,32 +3460,39 @@ public final class Automation { } public static final int DELETED_FIELD_NUMBER = 1; - private com.google.protobuf.Internal.BooleanList deleted_; + private com.google.protobuf.LazyStringList deleted_; /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return A list containing the deleted. */ - @java.lang.Override - public java.util.List<java.lang.Boolean> + public com.google.protobuf.ProtocolStringList getDeletedList() { return deleted_; } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return The count of deleted. */ public int getDeletedCount() { return deleted_.size(); } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param index The index of the element to return. * @return The deleted at the given index. */ - public boolean getDeleted(int index) { - return deleted_.getBoolean(index); + public java.lang.String getDeleted(int index) { + return deleted_.get(index); + } + /** + * <code>repeated string deleted = 1;</code> + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + public com.google.protobuf.ByteString + getDeletedBytes(int index) { + return deleted_.getByteString(index); } - private int deletedMemoizedSerializedSize = -1; private byte memoizedIsInitialized = -1; @java.lang.Override @@ -3505,13 +3508,8 @@ public final class Automation { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - getSerializedSize(); - if (getDeletedList().size() > 0) { - output.writeUInt32NoTag(10); - output.writeUInt32NoTag(deletedMemoizedSerializedSize); - } for (int i = 0; i < deleted_.size(); i++) { - output.writeBoolNoTag(deleted_.getBoolean(i)); + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, deleted_.getRaw(i)); } unknownFields.writeTo(output); } @@ -3524,14 +3522,11 @@ public final class Automation { size = 0; { int dataSize = 0; - dataSize = 1 * getDeletedList().size(); - size += dataSize; - if (!getDeletedList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); + for (int i = 0; i < deleted_.size(); i++) { + dataSize += computeStringSizeNoTag(deleted_.getRaw(i)); } - deletedMemoizedSerializedSize = dataSize; + size += dataSize; + size += 1 * getDeletedList().size(); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3698,7 +3693,7 @@ public final class Automation { @java.lang.Override public Builder clear() { super.clear(); - deleted_ = emptyBooleanList(); + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -3728,7 +3723,7 @@ public final class Automation { automation.Automation.DeviceDeletionResult result = new automation.Automation.DeviceDeletionResult(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { - deleted_.makeImmutable(); + deleted_ = deleted_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.deleted_ = deleted_; @@ -3820,68 +3815,83 @@ public final class Automation { } private int bitField0_; - private com.google.protobuf.Internal.BooleanList deleted_ = emptyBooleanList(); + private com.google.protobuf.LazyStringList deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureDeletedIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { - deleted_ = mutableCopy(deleted_); + deleted_ = new com.google.protobuf.LazyStringArrayList(deleted_); bitField0_ |= 0x00000001; } } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return A list containing the deleted. */ - public java.util.List<java.lang.Boolean> + public com.google.protobuf.ProtocolStringList getDeletedList() { - return ((bitField0_ & 0x00000001) != 0) ? - java.util.Collections.unmodifiableList(deleted_) : deleted_; + return deleted_.getUnmodifiableView(); } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return The count of deleted. */ public int getDeletedCount() { return deleted_.size(); } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param index The index of the element to return. * @return The deleted at the given index. */ - public boolean getDeleted(int index) { - return deleted_.getBoolean(index); + public java.lang.String getDeleted(int index) { + return deleted_.get(index); + } + /** + * <code>repeated string deleted = 1;</code> + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + public com.google.protobuf.ByteString + getDeletedBytes(int index) { + return deleted_.getByteString(index); } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param index The index to set the value at. * @param value The deleted to set. * @return This builder for chaining. */ public Builder setDeleted( - int index, boolean value) { - ensureDeletedIsMutable(); - deleted_.setBoolean(index, value); + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeletedIsMutable(); + deleted_.set(index, value); onChanged(); return this; } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param value The deleted to add. * @return This builder for chaining. */ - public Builder addDeleted(boolean value) { - ensureDeletedIsMutable(); - deleted_.addBoolean(value); + public Builder addDeleted( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeletedIsMutable(); + deleted_.add(value); onChanged(); return this; } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @param values The deleted to add. * @return This builder for chaining. */ public Builder addAllDeleted( - java.lang.Iterable<? extends java.lang.Boolean> values) { + java.lang.Iterable<java.lang.String> values) { ensureDeletedIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, deleted_); @@ -3889,15 +3899,31 @@ public final class Automation { return this; } /** - * <code>repeated bool deleted = 1;</code> + * <code>repeated string deleted = 1;</code> * @return This builder for chaining. */ public Builder clearDeleted() { - deleted_ = emptyBooleanList(); + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } + /** + * <code>repeated string deleted = 1;</code> + * @param value The bytes of the deleted to add. + * @return This builder for chaining. + */ + public Builder addDeletedBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureDeletedIsMutable(); + deleted_.add(value); + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -4419,7 +4445,7 @@ public final class Automation { "evRoleId\030\001 \001(\0132\030.automation.DeviceRoleId" + "\0220\n\014devRoleState\030\002 \001(\0162\032.automation.ZtpD" + "eviceState\"\'\n\024DeviceDeletionResult\022\017\n\007de" + - "leted\030\001 \003(\010\"\007\n\005Empty*H\n\016DeviceRoleType\022\010" + + "leted\030\001 \003(\t\"\007\n\005Empty*H\n\016DeviceRoleType\022\010" + "\n\004NONE\020\000\022\013\n\007DEV_OPS\020\001\022\014\n\010DEV_CONF\020\002\022\021\n\rP" + "IPELINE_CONF\020\003*~\n\016ZtpDeviceState\022\033\n\027ZTP_" + "DEV_STATE_UNDEFINED\020\000\022\031\n\025ZTP_DEV_STATE_C" + diff --git a/src/automation/target/kubernetes/kubernetes.yml b/src/automation/target/kubernetes/kubernetes.yml index a57486db6f17111a43600c943a392fa462112f49..51af1ccf1c1eb02d23adbe2954d3cd812704cc45 100644 --- a/src/automation/target/kubernetes/kubernetes.yml +++ b/src/automation/target/kubernetes/kubernetes.yml @@ -12,12 +12,12 @@ metadata: name: automationservice spec: ports: - - name: grpc-server - port: 9999 - targetPort: 9999 - name: http port: 8080 targetPort: 8080 + - name: grpc-server + port: 9999 + targetPort: 9999 selector: app.kubernetes.io/name: automationservice app.kubernetes.io/version: 0.0.1 @@ -74,12 +74,12 @@ spec: timeoutSeconds: 10 name: automationservice ports: - - containerPort: 9999 - name: grpc-server - protocol: TCP - containerPort: 8080 name: http protocol: TCP + - containerPort: 9999 + name: grpc-server + protocol: TCP readinessProbe: failureThreshold: 3 httpGet: