diff --git a/frontend/src/components/GSeedConfiguration.vue b/frontend/src/components/GSeedConfiguration.vue index af632ffb0c..9df05e30cf 100644 --- a/frontend/src/components/GSeedConfiguration.vue +++ b/frontend/src/components/GSeedConfiguration.vue @@ -23,6 +23,12 @@ SPDX-License-Identifier: Apache-2.0 :items="seedNames" persistent-hint /> +
+ Note: Ensure network connectivity for etcd backups and Shoot control plane. Without it, migration may stall. +
@@ -43,8 +49,8 @@ import { useShootItem } from '@/composables/useShootItem' import { errorDetailsFromError } from '@/utils/error' import { + find, map, - filter, } from '@/lodash' export default { @@ -63,8 +69,19 @@ export default { const seedStore = useSeedStore() const seedNames = computed(() => { - const seeds = filter(seedStore.seedList, ['data.type', shootCloudProviderKind.value]) - return map(seeds, 'metadata.name') + return map(seedStore.seedList, 'metadata.name') + }) + + const providerMismatch = computed(() => { + const selectedSeed = find(seedStore.seedList, ['metadata.name', seedName.value]) + const sourceSeed = find(seedStore.seedList, ['metadata.name', shootSeedName.value]) + if (!selectedSeed || !sourceSeed) { + return false + } + const selectedProvider = selectedSeed.data.type + const sourceProvider = sourceSeed.data.type + const shootProvider = shootCloudProviderKind.value + return selectedProvider !== sourceProvider || selectedProvider !== shootProvider }) const seedName = ref(shootSeedName.value) @@ -75,6 +92,7 @@ export default { shootSeedName, seedName, seedNames, + providerMismatch, } }, methods: {