Skip to content

Commit ed683d9

Browse files
committed
OCM-11595 | feat: Change describe formatting and edit interactive mode
1 parent 6c9a862 commit ed683d9

File tree

2 files changed

+17
-37
lines changed

2 files changed

+17
-37
lines changed

cmd/describe/cluster/cmd.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,20 +207,24 @@ func run(cmd *cobra.Command, argv []string) {
207207

208208
if len(collection.Items().Items()) > 0 {
209209
migrationsToShow := map[string]string{}
210+
migrationTypes := map[string]string{}
210211
for _, migration := range collection.Items().Items() {
211212
state, ok := migration.State().GetValue()
212213
if !ok {
213214
r.Reporter.Errorf("Failed to get cluster migration state")
214215
}
215216
if state != cmv1.ClusterMigrationStateValueCompleted {
216217
migrationsToShow[migration.ID()] = string(state)
218+
migrationTypes[migration.ID()] = string(migration.Type())
217219
}
218220
}
219221

220222
if len(migrationsToShow) > 0 {
221-
migrationsStr = " - Migrations:\n"
223+
migrationsStr = "Migrations:\n"
222224
for migrationID, migrationStatus := range migrationsToShow {
223-
migrationsStr += fmt.Sprintf(" -%s %s\n", migrationID, migrationStatus)
225+
migrationsStr += fmt.Sprintf(" - %s \n"+
226+
" - Type: %s\n"+
227+
" - State: %s\n", migrationID, migrationTypes[migrationID], migrationStatus)
224228
}
225229
}
226230
}

cmd/edit/cluster/cmd.go

Lines changed: 11 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -736,25 +736,12 @@ func run(cmd *cobra.Command, _ []string) {
736736
}
737737

738738
// SDN -> OVN Migration
739-
var clusterNetworkType string
740-
if !cmd.Flags().Changed(ocm.NetworkTypeFlagName) {
741-
var ok bool
742-
if cluster.Network() == nil {
743-
ok = false
744-
} else {
745-
networkType, ok = cluster.Network().GetType()
746-
clusterNetworkType = networkType // Store the cluster's current network type for interactive usage
747-
}
748-
if !ok {
749-
r.Reporter.Errorf("Unable to get cluster's network type")
750-
os.Exit(1)
751-
}
752-
}
753-
754739
var migrateNetworkType bool
755740
// Only prompt user with migrating the cluster's network type when it is not OVN-Kubernetes
756-
if interactive.Enabled() && clusterNetworkType != "" && clusterNetworkType != ocm.NetworkTypeOvn &&
757-
clusterNetworkType != ocm.NetworkTypeOvnAlias {
741+
if cmd.Flags().Changed(ocm.NetworkTypeFlagName) && networkType == ocm.NetworkTypeOvn {
742+
interactive.SetEnabled(true)
743+
}
744+
if interactive.Enabled() && args.networkType != "" {
758745

759746
migrateNetworkType, err = interactive.GetBool(interactive.Input{
760747
Question: "Migrate cluster network type from OpenShiftSDN -> OVN-Kubernetes",
@@ -768,15 +755,6 @@ func run(cmd *cobra.Command, _ []string) {
768755
os.Exit(1)
769756
}
770757

771-
if migrateNetworkType {
772-
migrateNetworkType, err = confirmMigration()
773-
774-
if err != nil {
775-
r.Reporter.Errorf("%s", err)
776-
os.Exit(1)
777-
}
778-
}
779-
780758
if migrateNetworkType && interactive.Enabled() {
781759
networkType, err = interactive.GetString(interactive.Input{
782760
Question: "Network type for cluster",
@@ -788,19 +766,17 @@ func run(cmd *cobra.Command, _ []string) {
788766
os.Exit(1)
789767
}
790768

791-
ovnSubnets, err := interactive.GetString(interactive.Input{
792-
Question: "OVN-Kubernetes internal subnet configuration for cluster",
769+
ovnSubnets, _ := interactive.GetString(interactive.Input{
770+
Question: "OVN-Kubernetes internal subnet configuration for cluster (key=value format)",
793771
Help: cmd.Flags().Lookup(ocm.OvnInternalSubnetsFlagName).Usage,
794772
Default: ovnInternalSubnets,
795-
Options: []string{ocm.SubnetConfigTransit, ocm.SubnetConfigJoin, ocm.SubnetConfigMasquerade},
796773
Required: false,
797774
})
798-
if err != nil {
799-
r.Reporter.Errorf("Expected a valid value: %v", err)
800-
}
801-
ovnInternalSubnets, err = ocm.ParseAndValidateOvnInternalSubnets(ovnSubnets)
802-
if err != nil {
803-
r.Reporter.Errorf("Failed to parse '%s': %s", ocm.OvnInternalSubnetsFlagName, err)
775+
if ovnSubnets != "" {
776+
ovnInternalSubnets, err = ocm.ParseAndValidateOvnInternalSubnets(ovnSubnets)
777+
if err != nil {
778+
r.Reporter.Errorf("Failed to parse '%s': %s", ocm.OvnInternalSubnetsFlagName, err)
779+
}
804780
}
805781
}
806782
}

0 commit comments

Comments
 (0)