Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated API fields per review

...

This is an example of the new ‘cluster’ API, is part of the device configuration of EVE API


message EdgeDevConfig {
...
    // cluster configureconfiguration
    EdgeNodeCluster cluster;
}

message EdgeNodeCluster {
    // cluster name, in case it has multiple cluster on the same site
    string ClusterName cluster_name;
    // cluster UUID
    string ClusterID cluster_id;
    // Cluster-Interface, for example "eth1"
    string ClusterInterface cluster_interface;
    // The ‘cluster-prefix’ IP address of the ‘Cluster-Interface’, e.g. 10.244.244.2/28
    string ClusterIPPrefix cluster_ip_prefix;
    // This device is ‘seed-server’ or not
    bool IsSeedServer;
    // This device is an ‘Agent’ node
    bool IsAgent Is_agent;
    // SSIP - Seed- Server IP address to join during bootstrapthe cluster. E.g. 10.244.244.1
    string SeedServerIPAddress join_server_ip;
    // encrypted token string, use edge-node TMP to decrypt
    org.lfedge.eve.common.CipherBlock EncryptedClusterToken;
    // Resource label list, may not be in first phases
    map <string, string> ResourceLabel;
} encrypted_cluster_token;
}

App Instance App Instance API

This is an example of the change of the ‘AppInstanceConfig’ API


message AppInstanceConfig {

    // This edge-node UUID for the Designated Node for the Application
string DesignatedNodeID;
// If the App allows automatically migrated or not
    bool AutoMigration;
    // a set of ResourceLabels for node selection (may not be in first phases)
    map<string, string> NodeSelectLabels   string designated_node_id;

}

Volume API

This is an example of the change of the ‘Volume’ API

...

message Volume {

    // To inform the edge-node if the device receives this Volume is
    // responsible to create volume, convert PVC or not
    String DesignateNodeID;
    // replicated to devices with UUID array, number arrange from 0 to 2// responsible to create volume, convert PVC or not
    repeated string ReplicaNodeID designated_node_id;
}

App Info Message API

This is an example of the change of the ‘Info’ API


enum ZInfoClusterNodeStatus {
  Node Node_Status_INVALID;
  Node Node_Status_READY;          // cluster reports our node is ready
  Node Node_Status_NOTREADY;  // cluster reports our node is ready
  Node Node_Status_UNKNOWN;  // cluster API server can not be reached
}

message ZInfoClusterNode {
    ZInfoClusterNodeStatus node_status;
}

message ZInfoMsg {
    oneof InfoContent {
             ...
      ZInfoClusterNode  ZInfoClusterNode cluster_node;
    }
}

message ZInfoApp {
    // Report Node status of this Node in the cluster
   
    // The App in cluster mode is currently running on this edge-node
    bool ClusterAppRunning;
cluster_app_running;
}