|
@@ -42,6 +42,7 @@ import configLoader from "@src/utils/Config";
|
|
|
import ObjectUtils from "@src/utils/ObjectUtils";
|
|
import ObjectUtils from "@src/utils/ObjectUtils";
|
|
|
|
|
|
|
|
import replicaImage from "./images/replica.svg";
|
|
import replicaImage from "./images/replica.svg";
|
|
|
|
|
+import liveMigrationImage from "./images/live_migration.svg";
|
|
|
|
|
|
|
|
import type { InstanceScript } from "@src/@types/Instance";
|
|
import type { InstanceScript } from "@src/@types/Instance";
|
|
|
import type { Execution } from "@src/@types/Execution";
|
|
import type { Execution } from "@src/@types/Execution";
|
|
@@ -205,6 +206,24 @@ class ReplicaDetailsPage extends React.Component<Props, State> {
|
|
|
return this.getLastExecution()?.status;
|
|
return this.getLastExecution()?.status;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ getReplicaItemType() {
|
|
|
|
|
+ let item_type = "replica";
|
|
|
|
|
+ let scenario = this.replica?.scenario;
|
|
|
|
|
+ if (scenario && scenario === "live_migration") {
|
|
|
|
|
+ item_type = "migration";
|
|
|
|
|
+ }
|
|
|
|
|
+ return item_type;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ getReplicaImageType() {
|
|
|
|
|
+ let image = replicaImage;
|
|
|
|
|
+ let scenario = this.replica?.scenario;
|
|
|
|
|
+ if (scenario && scenario === "live_migration") {
|
|
|
|
|
+ image = liveMigrationImage;
|
|
|
|
|
+ }
|
|
|
|
|
+ return image;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
async loadIsEditable(replicaDetails: ReplicaItemDetails) {
|
|
async loadIsEditable(replicaDetails: ReplicaItemDetails) {
|
|
|
const targetEndpointId = replicaDetails.destination_endpoint_id;
|
|
const targetEndpointId = replicaDetails.destination_endpoint_id;
|
|
|
const sourceEndpointId = replicaDetails.origin_endpoint_id;
|
|
const sourceEndpointId = replicaDetails.origin_endpoint_id;
|
|
@@ -704,11 +723,11 @@ class ReplicaDetailsPage extends React.Component<Props, State> {
|
|
|
<DetailsContentHeader
|
|
<DetailsContentHeader
|
|
|
statusPill={replica?.last_execution_status}
|
|
statusPill={replica?.last_execution_status}
|
|
|
itemTitle={getTransferItemTitle(this.replica)}
|
|
itemTitle={getTransferItemTitle(this.replica)}
|
|
|
- itemType="replica"
|
|
|
|
|
|
|
+ itemType={this.getReplicaItemType()}
|
|
|
itemDescription={replica?.description}
|
|
itemDescription={replica?.description}
|
|
|
dropdownActions={dropdownActions}
|
|
dropdownActions={dropdownActions}
|
|
|
backLink="/replicas"
|
|
backLink="/replicas"
|
|
|
- typeImage={replicaImage}
|
|
|
|
|
|
|
+ typeImage={this.getReplicaImageType()}
|
|
|
alertInfoPill
|
|
alertInfoPill
|
|
|
/>
|
|
/>
|
|
|
}
|
|
}
|