diff --git a/LICENSE b/LICENSE index 3d5f40d..36881f0 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [2023] Open Text. + Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/commands/cluster_command_launcher.go b/commands/cluster_command_launcher.go index f31dc22..afa034e 100644 --- a/commands/cluster_command_launcher.go +++ b/commands/cluster_command_launcher.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cluster_command_launcher_test.go b/commands/cluster_command_launcher_test.go index 9b66597..6baa1b0 100644 --- a/commands/cluster_command_launcher_test.go +++ b/commands/cluster_command_launcher_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_add_node.go b/commands/cmd_add_node.go index bb316e3..c0111c1 100644 --- a/commands/cmd_add_node.go +++ b/commands/cmd_add_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_add_subcluster.go b/commands/cmd_add_subcluster.go index fc3b30a..55838cb 100644 --- a/commands/cmd_add_subcluster.go +++ b/commands/cmd_add_subcluster.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_base.go b/commands/cmd_base.go index 2552008..6f8cf48 100644 --- a/commands/cmd_base.go +++ b/commands/cmd_base.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_create_db.go b/commands/cmd_create_db.go index bfae8ef..dde2969 100644 --- a/commands/cmd_create_db.go +++ b/commands/cmd_create_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_drop_db.go b/commands/cmd_drop_db.go index 9b57f93..76261f7 100644 --- a/commands/cmd_drop_db.go +++ b/commands/cmd_drop_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_install_packages.go b/commands/cmd_install_packages.go index 6f71b58..a91897a 100644 --- a/commands/cmd_install_packages.go +++ b/commands/cmd_install_packages.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_list_all_nodes.go b/commands/cmd_list_all_nodes.go index b51df15..8b841af 100644 --- a/commands/cmd_list_all_nodes.go +++ b/commands/cmd_list_all_nodes.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -107,9 +107,9 @@ func (c *CmdListAllNodes) Run(vcc vclusterops.ClusterCommands) error { } } - bytes, err := json.MarshalIndent(nodeStates, "", " ") + bytes, err := c.marshalNoteStates(nodeStates) if err != nil { - return fmt.Errorf("fail to marshal the node state result, details %w", err) + return err } c.writeCmdOutputToFile(globals.file, bytes, vcc.GetLog()) @@ -121,3 +121,37 @@ func (c *CmdListAllNodes) Run(vcc vclusterops.ClusterCommands) error { func (c *CmdListAllNodes) SetDatabaseOptions(opt *vclusterops.DatabaseOptions) { c.fetchNodeStateOptions.DatabaseOptions = *opt } + +func (c *CmdListAllNodes) marshalNoteStates(nodeStates []vclusterops.NodeInfo) (bytes []byte, err error) { + var isEon bool + if len(nodeStates) > 0 { + // node in Eon database should not have an empty sc name + if nodeStates[0].Subcluster != "" { + isEon = true + } + } + + if isEon { + bytes, err = json.MarshalIndent(nodeStates, "", " ") + if err != nil { + return bytes, fmt.Errorf("fail to marshal the node state result, details %w", err) + } + } else { + var nodeStatesEnterprise []vclusterops.NodeInfoEnterprise + for _, n := range nodeStates { + var nEnterprise vclusterops.NodeInfoEnterprise + nEnterprise.Address = n.Address + nEnterprise.Name = n.Name + nEnterprise.State = n.State + nEnterprise.CatalogPath = n.CatalogPath + nEnterprise.Version = n.Version + nodeStatesEnterprise = append(nodeStatesEnterprise, nEnterprise) + } + bytes, err = json.MarshalIndent(nodeStatesEnterprise, "", " ") + if err != nil { + return bytes, fmt.Errorf("fail to marshal the node state result, details %w", err) + } + } + + return bytes, nil +} diff --git a/commands/cmd_re_ip.go b/commands/cmd_re_ip.go index f8b6354..b3a1aa2 100644 --- a/commands/cmd_re_ip.go +++ b/commands/cmd_re_ip.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_remove_node.go b/commands/cmd_remove_node.go index dfd3bfc..d7e1815 100644 --- a/commands/cmd_remove_node.go +++ b/commands/cmd_remove_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_remove_subcluster.go b/commands/cmd_remove_subcluster.go index 132410e..4e4c644 100644 --- a/commands/cmd_remove_subcluster.go +++ b/commands/cmd_remove_subcluster.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_restart_node.go b/commands/cmd_restart_node.go index 7484cc2..8cbc3f7 100644 --- a/commands/cmd_restart_node.go +++ b/commands/cmd_restart_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_revive_db.go b/commands/cmd_revive_db.go index 46c8676..b34c781 100644 --- a/commands/cmd_revive_db.go +++ b/commands/cmd_revive_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_sandbox.go b/commands/cmd_sandbox.go index 5f1d547..7a5cee1 100644 --- a/commands/cmd_sandbox.go +++ b/commands/cmd_sandbox.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_scrutinize.go b/commands/cmd_scrutinize.go index 976cb38..fb1c434 100644 --- a/commands/cmd_scrutinize.go +++ b/commands/cmd_scrutinize.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_show_restore_points.go b/commands/cmd_show_restore_points.go index db6ef5d..58066ec 100644 --- a/commands/cmd_show_restore_points.go +++ b/commands/cmd_show_restore_points.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_start_db.go b/commands/cmd_start_db.go index eeee280..7d2375e 100644 --- a/commands/cmd_start_db.go +++ b/commands/cmd_start_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_stop_db.go b/commands/cmd_stop_db.go index 0db3a7f..6e5b334 100644 --- a/commands/cmd_stop_db.go +++ b/commands/cmd_stop_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/cmd_unsandbox.go b/commands/cmd_unsandbox.go index 919c931..e0cb1fc 100644 --- a/commands/cmd_unsandbox.go +++ b/commands/cmd_unsandbox.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/helpers.go b/commands/helpers.go index 7a1ce25..bb8aa15 100644 --- a/commands/helpers.go +++ b/commands/helpers.go @@ -1,5 +1,5 @@ /* -(c) Copyright [2023] Open Text. +(c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/init.go b/commands/init.go index cbfa328..c1d7c01 100644 --- a/commands/init.go +++ b/commands/init.go @@ -1,5 +1,5 @@ /* -(c) Copyright [2023] Open Text. +(c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/commands/scrutinize_test.go b/commands/scrutinize_test.go index ed7b4ee..9fba1c0 100644 --- a/commands/scrutinize_test.go +++ b/commands/scrutinize_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/logging-utils.sh b/logging-utils.sh index 02d5148..17cfef9 100644 --- a/logging-utils.sh +++ b/logging-utils.sh @@ -1,6 +1,6 @@ #!/bin/bash -# (c) Copyright [2023] Open Text. +# (c) Copyright [2023-2024] Open Text. # Licensed under the Apache License, Version 2.0 (the "License"); # You may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/main.go b/main.go index dcc13b3..e29b96c 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/rfc7807/errors.go b/rfc7807/errors.go index 88173a6..bb4b6e0 100644 --- a/rfc7807/errors.go +++ b/rfc7807/errors.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/rfc7807/rfc7807.go b/rfc7807/rfc7807.go index b1b861c..04c9e8b 100644 --- a/rfc7807/rfc7807.go +++ b/rfc7807/rfc7807.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/rfc7807/rfc7807_test.go b/rfc7807/rfc7807_test.go index 1459fe8..ed4bb51 100644 --- a/rfc7807/rfc7807_test.go +++ b/rfc7807/rfc7807_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/sync-to-github.sh b/sync-to-github.sh index c003068..bb7b49c 100755 --- a/sync-to-github.sh +++ b/sync-to-github.sh @@ -1,6 +1,6 @@ #!/bin/bash -# (c) Copyright [2023] Open Text. +# (c) Copyright [2023-2024] Open Text. # Licensed under the Apache License, Version 2.0 (the "License"); # You may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/vclusterops/adapter_pool.go b/vclusterops/adapter_pool.go index a05f4c4..1b7f7ad 100644 --- a/vclusterops/adapter_pool.go +++ b/vclusterops/adapter_pool.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/add_node.go b/vclusterops/add_node.go index 389101d..adb4049 100644 --- a/vclusterops/add_node.go +++ b/vclusterops/add_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/add_subcluster.go b/vclusterops/add_subcluster.go index 47dbdc6..d473e76 100644 --- a/vclusterops/add_subcluster.go +++ b/vclusterops/add_subcluster.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/cluster_op.go b/vclusterops/cluster_op.go index 12edf12..a575377 100644 --- a/vclusterops/cluster_op.go +++ b/vclusterops/cluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/cluster_op_engine.go b/vclusterops/cluster_op_engine.go index 8c2b75a..0bcf1a1 100644 --- a/vclusterops/cluster_op_engine.go +++ b/vclusterops/cluster_op_engine.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/cluster_op_engine_context.go b/vclusterops/cluster_op_engine_context.go index b0b65cc..1f23bf3 100644 --- a/vclusterops/cluster_op_engine_context.go +++ b/vclusterops/cluster_op_engine_context.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -36,6 +36,9 @@ type opEngineExecContext struct { dbInfo string // store the db info that retrieved from communal storage restorePoints []RestorePoint // store list existing restore points that queried from an archive systemTableList systemTableListInfo // used for staging system tables + + // hosts on which the wrong authentication occurred + hostsWithWrongAuth []string } func makeOpEngineExecContext(logger vlog.Printer) opEngineExecContext { diff --git a/vclusterops/cluster_op_engine_test.go b/vclusterops/cluster_op_engine_test.go index aed7d2a..67b23ae 100644 --- a/vclusterops/cluster_op_engine_test.go +++ b/vclusterops/cluster_op_engine_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/cluster_op_test.go b/vclusterops/cluster_op_test.go index 8c797ed..7a6272d 100644 --- a/vclusterops/cluster_op_test.go +++ b/vclusterops/cluster_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/coordinator_database.go b/vclusterops/coordinator_database.go index 554c771..590729b 100644 --- a/vclusterops/coordinator_database.go +++ b/vclusterops/coordinator_database.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -332,6 +332,7 @@ type VCoordinationNode struct { Subcluster string // empty string if it is not in a sandbox Sandbox string + Version string } func makeVCoordinationNode() VCoordinationNode { diff --git a/vclusterops/create_db.go b/vclusterops/create_db.go index 1409981..fc2f806 100644 --- a/vclusterops/create_db.go +++ b/vclusterops/create_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -376,7 +376,7 @@ func (vcc VClusterCommands) produceCreateDBBootstrapInstructions( nmaHealthOp := makeNMAHealthOp(hosts) // require to have the same vertica version - nmaVerticaVersionOp := makeNMAVerticaVersionOp(hosts, true, vdb.IsEon) + nmaVerticaVersionOp := makeNMACheckVerticaVersionOp(hosts, true, vdb.IsEon) // need username for https operations err := options.validateUserName(vcc.Log) diff --git a/vclusterops/create_db_test.go b/vclusterops/create_db_test.go index f89b912..8c38724 100644 --- a/vclusterops/create_db_test.go +++ b/vclusterops/create_db_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/drop_db.go b/vclusterops/drop_db.go index 3cc63cf..e80bcd1 100644 --- a/vclusterops/drop_db.go +++ b/vclusterops/drop_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/fetch_database.go b/vclusterops/fetch_database.go index 1b091d2..ff46ebb 100644 --- a/vclusterops/fetch_database.go +++ b/vclusterops/fetch_database.go @@ -148,18 +148,23 @@ func (vcc VClusterCommands) produceRecoverConfigInstructions( var instructions []clusterOp nmaHealthOp := makeNMAHealthOp(options.Hosts) + nmaGetNodesInfoOp := makeNMAGetNodesInfoOp(options.Hosts, options.DBName, options.CatalogPrefix, true /* ignore internal errors */, vdb) + nmaReadCatalogEditorOp, err := makeNMAReadCatalogEditorOp(vdb) if err != nil { return instructions, err } + nmaReadVerticaVersionOp := makeNMAReadVerticaVersionOp(vdb) + instructions = append( instructions, &nmaHealthOp, &nmaGetNodesInfoOp, &nmaReadCatalogEditorOp, + &nmaReadVerticaVersionOp, ) return instructions, nil diff --git a/vclusterops/fetch_node_state.go b/vclusterops/fetch_node_state.go index 06e9713..fc1c311 100644 --- a/vclusterops/fetch_node_state.go +++ b/vclusterops/fetch_node_state.go @@ -79,6 +79,12 @@ func (vcc VClusterCommands) VFetchNodeState(options *VFetchNodeStateOptions) ([] return nodeStates, nil } + // error out in case of wrong certificate or password + if len(clusterOpEngine.execContext.hostsWithWrongAuth) > 0 { + return nodeStates, + fmt.Errorf("wrong certificate or password on hosts %v", clusterOpEngine.execContext.hostsWithWrongAuth) + } + // if failed to get node info from a running database, // we will try to get it by reading catalog editor upNodeCount := 0 @@ -90,7 +96,8 @@ func (vcc VClusterCommands) VFetchNodeState(options *VFetchNodeStateOptions) ([] if upNodeCount == 0 { const msg = "Cannot get node information from running database. " + - "Try to get node information by reading catalog editor." + "Try to get node information by reading catalog editor.\n" + + "The states of the nodes are shown as DOWN because we failed to fetch the node states." fmt.Println(msg) vcc.Log.PrintInfo(msg) @@ -113,6 +120,7 @@ func (vcc VClusterCommands) VFetchNodeState(options *VFetchNodeStateOptions) ([] nodeInfo.CatalogPath = n.CatalogPath nodeInfo.Subcluster = n.Subcluster nodeInfo.IsPrimary = n.IsPrimary + nodeInfo.Version = n.Version nodeInfo.State = util.NodeDownState downNodeStates = append(downNodeStates, nodeInfo) } diff --git a/vclusterops/helpers.go b/vclusterops/helpers.go index 11bbd2e..7111398 100644 --- a/vclusterops/helpers.go +++ b/vclusterops/helpers.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -118,10 +118,8 @@ func (node *nodeStateInfo) asNodeInfo() (n NodeInfo, err error) { verWithoutHotfix := 2 if parts := strings.Split(node.Version, "-"); len(parts) == verWithHotfix { n.Version = parts[0] + "-" + parts[1] - n.Revision = parts[2] } else if len(parts) == verWithoutHotfix { n.Version = parts[0] - n.Revision = parts[1] } else { err = fmt.Errorf("failed to parse version '%s'", node.Version) } diff --git a/vclusterops/helpers_test.go b/vclusterops/helpers_test.go index 407ee70..f3b744b 100644 --- a/vclusterops/helpers_test.go +++ b/vclusterops/helpers_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/http_adapter.go b/vclusterops/http_adapter.go index 2352efb..96223b5 100644 --- a/vclusterops/http_adapter.go +++ b/vclusterops/http_adapter.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/http_adapter_test.go b/vclusterops/http_adapter_test.go index 33e085c..76ee348 100644 --- a/vclusterops/http_adapter_test.go +++ b/vclusterops/http_adapter_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/http_request.go b/vclusterops/http_request.go index b432479..e6c2947 100644 --- a/vclusterops/http_request.go +++ b/vclusterops/http_request.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/http_request_dispatcher.go b/vclusterops/http_request_dispatcher.go index 43c6e33..0bc1caa 100644 --- a/vclusterops/http_request_dispatcher.go +++ b/vclusterops/http_request_dispatcher.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_add_subcluster_op.go b/vclusterops/https_add_subcluster_op.go index 4a1d06f..c04f3b0 100644 --- a/vclusterops/https_add_subcluster_op.go +++ b/vclusterops/https_add_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_check_db_running_op.go b/vclusterops/https_check_db_running_op.go index 65a89aa..551f652 100644 --- a/vclusterops/https_check_db_running_op.go +++ b/vclusterops/https_check_db_running_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_check_node_state_op.go b/vclusterops/https_check_node_state_op.go index 9e4bdc8..4d276ff 100644 --- a/vclusterops/https_check_node_state_op.go +++ b/vclusterops/https_check_node_state_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -89,6 +89,7 @@ func (op *httpsCheckNodeStateOp) processResult(execContext *opEngineExecContext) if result.isUnauthorizedRequest() { op.logger.PrintError("[%s] unauthorized request: %s", op.name, result.content) + execContext.hostsWithWrongAuth = append(execContext.hostsWithWrongAuth, host) // return here because we assume that // we will get the same error across other nodes allErrs = errors.Join(allErrs, result.err) diff --git a/vclusterops/https_check_subcluster_op.go b/vclusterops/https_check_subcluster_op.go index 3179433..09e4e6b 100644 --- a/vclusterops/https_check_subcluster_op.go +++ b/vclusterops/https_check_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_check_subcluster_sandbox_op.go b/vclusterops/https_check_subcluster_sandbox_op.go index aa1219a..530a87a 100644 --- a/vclusterops/https_check_subcluster_sandbox_op.go +++ b/vclusterops/https_check_subcluster_sandbox_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_create_cluster_depot_op.go b/vclusterops/https_create_cluster_depot_op.go index 2c0d77f..8cc6921 100644 --- a/vclusterops/https_create_cluster_depot_op.go +++ b/vclusterops/https_create_cluster_depot_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_create_node_op.go b/vclusterops/https_create_node_op.go index 08bbe66..d9ab616 100644 --- a/vclusterops/https_create_node_op.go +++ b/vclusterops/https_create_node_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_create_nodes_depot_op.go b/vclusterops/https_create_nodes_depot_op.go index 4438a31..dfd6347 100644 --- a/vclusterops/https_create_nodes_depot_op.go +++ b/vclusterops/https_create_nodes_depot_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_drop_node_op.go b/vclusterops/https_drop_node_op.go index 8fe34af..2df1a18 100644 --- a/vclusterops/https_drop_node_op.go +++ b/vclusterops/https_drop_node_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_drop_subcluster_op.go b/vclusterops/https_drop_subcluster_op.go index 72c199f..d1eccd2 100644 --- a/vclusterops/https_drop_subcluster_op.go +++ b/vclusterops/https_drop_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_find_subcluster_op.go b/vclusterops/https_find_subcluster_op.go index ae0f6df..e73a265 100644 --- a/vclusterops/https_find_subcluster_op.go +++ b/vclusterops/https_find_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_get_cluster_info_op.go b/vclusterops/https_get_cluster_info_op.go index c77f555..4baf663 100644 --- a/vclusterops/https_get_cluster_info_op.go +++ b/vclusterops/https_get_cluster_info_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_get_nodes_info_op.go b/vclusterops/https_get_nodes_info_op.go index 6a864bf..5caec11 100644 --- a/vclusterops/https_get_nodes_info_op.go +++ b/vclusterops/https_get_nodes_info_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_get_system_tables_op.go b/vclusterops/https_get_system_tables_op.go index a735577..f0e3238 100644 --- a/vclusterops/https_get_system_tables_op.go +++ b/vclusterops/https_get_system_tables_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_get_up_nodes_op.go b/vclusterops/https_get_up_nodes_op.go index 987d903..c339a10 100644 --- a/vclusterops/https_get_up_nodes_op.go +++ b/vclusterops/https_get_up_nodes_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_install_packages_op.go b/vclusterops/https_install_packages_op.go index 5274ba6..788b896 100644 --- a/vclusterops/https_install_packages_op.go +++ b/vclusterops/https_install_packages_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_mark_design_ksafe_op.go b/vclusterops/https_mark_design_ksafe_op.go index 0cfdf5b..eaf149f 100644 --- a/vclusterops/https_mark_design_ksafe_op.go +++ b/vclusterops/https_mark_design_ksafe_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_mark_nodes_ephemeral_op.go b/vclusterops/https_mark_nodes_ephemeral_op.go index b60628e..e794e9e 100644 --- a/vclusterops/https_mark_nodes_ephemeral_op.go +++ b/vclusterops/https_mark_nodes_ephemeral_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_poll_node_state_op.go b/vclusterops/https_poll_node_state_op.go index d2377b1..d782e56 100644 --- a/vclusterops/https_poll_node_state_op.go +++ b/vclusterops/https_poll_node_state_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_poll_node_state_op_test.go b/vclusterops/https_poll_node_state_op_test.go index 70f430b..9c1089d 100644 --- a/vclusterops/https_poll_node_state_op_test.go +++ b/vclusterops/https_poll_node_state_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_poll_subcluster_node_state_op.go b/vclusterops/https_poll_subcluster_node_state_op.go index 6b11e93..31a0724 100644 --- a/vclusterops/https_poll_subcluster_node_state_op.go +++ b/vclusterops/https_poll_subcluster_node_state_op.go @@ -1,5 +1,5 @@ /* -(c) Copyright [2023] Open Text. +(c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_poll_subscription_state_op.go b/vclusterops/https_poll_subscription_state_op.go index 53938a6..0f20455 100644 --- a/vclusterops/https_poll_subscription_state_op.go +++ b/vclusterops/https_poll_subscription_state_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_re_ip_op.go b/vclusterops/https_re_ip_op.go index a067f09..4c12b75 100644 --- a/vclusterops/https_re_ip_op.go +++ b/vclusterops/https_re_ip_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_rebalance_cluster_op.go b/vclusterops/https_rebalance_cluster_op.go index bcadfc1..adfb171 100644 --- a/vclusterops/https_rebalance_cluster_op.go +++ b/vclusterops/https_rebalance_cluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_rebalance_subcluster_shards_op.go b/vclusterops/https_rebalance_subcluster_shards_op.go index 985cac8..cd28c47 100644 --- a/vclusterops/https_rebalance_subcluster_shards_op.go +++ b/vclusterops/https_rebalance_subcluster_shards_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_reload_spread_op.go b/vclusterops/https_reload_spread_op.go index e814dab..cca5a46 100644 --- a/vclusterops/https_reload_spread_op.go +++ b/vclusterops/https_reload_spread_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_sandbox_subcluster_op.go b/vclusterops/https_sandbox_subcluster_op.go index d86ccce..093c188 100644 --- a/vclusterops/https_sandbox_subcluster_op.go +++ b/vclusterops/https_sandbox_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_spread_remove_node_op.go b/vclusterops/https_spread_remove_node_op.go index 3eb788f..48f4217 100644 --- a/vclusterops/https_spread_remove_node_op.go +++ b/vclusterops/https_spread_remove_node_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_stage_system_tables_op.go b/vclusterops/https_stage_system_tables_op.go index 046ebe3..a7ee8a9 100644 --- a/vclusterops/https_stage_system_tables_op.go +++ b/vclusterops/https_stage_system_tables_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_startup_command_op.go b/vclusterops/https_startup_command_op.go index 75b12ba..0fd1835 100644 --- a/vclusterops/https_startup_command_op.go +++ b/vclusterops/https_startup_command_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_stop_db_op.go b/vclusterops/https_stop_db_op.go index 73a13a7..d3b25e3 100644 --- a/vclusterops/https_stop_db_op.go +++ b/vclusterops/https_stop_db_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_stop_node_op.go b/vclusterops/https_stop_node_op.go index ab9a46f..0e418a8 100644 --- a/vclusterops/https_stop_node_op.go +++ b/vclusterops/https_stop_node_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_sync_catalog_op.go b/vclusterops/https_sync_catalog_op.go index 3a7bb39..9f1909d 100644 --- a/vclusterops/https_sync_catalog_op.go +++ b/vclusterops/https_sync_catalog_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/https_unsandbox_subcluster_op.go b/vclusterops/https_unsandbox_subcluster_op.go index bc1f054..25afce6 100644 --- a/vclusterops/https_unsandbox_subcluster_op.go +++ b/vclusterops/https_unsandbox_subcluster_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/install_packages.go b/vclusterops/install_packages.go index b3645be..b1f32c2 100644 --- a/vclusterops/install_packages.go +++ b/vclusterops/install_packages.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/network_adapter.go b/vclusterops/network_adapter.go index 020f9d7..9e4e30b 100644 --- a/vclusterops/network_adapter.go +++ b/vclusterops/network_adapter.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_bootstrap_catalog_op.go b/vclusterops/nma_bootstrap_catalog_op.go index 74a548d..c4cf52d 100644 --- a/vclusterops/nma_bootstrap_catalog_op.go +++ b/vclusterops/nma_bootstrap_catalog_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_download_config.go b/vclusterops/nma_download_config.go index ca647a9..0b4a2d1 100644 --- a/vclusterops/nma_download_config.go +++ b/vclusterops/nma_download_config.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_download_file_op.go b/vclusterops/nma_download_file_op.go index 3e03fb3..d6d9170 100644 --- a/vclusterops/nma_download_file_op.go +++ b/vclusterops/nma_download_file_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_download_file_op_test.go b/vclusterops/nma_download_file_op_test.go index fd0405b..591f440 100644 --- a/vclusterops/nma_download_file_op_test.go +++ b/vclusterops/nma_download_file_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_get_healthy_nodes_op.go b/vclusterops/nma_get_healthy_nodes_op.go index afcbd50..7f2d063 100644 --- a/vclusterops/nma_get_healthy_nodes_op.go +++ b/vclusterops/nma_get_healthy_nodes_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_get_nodes_info_op.go b/vclusterops/nma_get_nodes_info_op.go index 826bce5..3e954ba 100644 --- a/vclusterops/nma_get_nodes_info_op.go +++ b/vclusterops/nma_get_nodes_info_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_get_scrutinize_tar_op.go b/vclusterops/nma_get_scrutinize_tar_op.go index 917aa15..d2f442a 100644 --- a/vclusterops/nma_get_scrutinize_tar_op.go +++ b/vclusterops/nma_get_scrutinize_tar_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_health_op.go b/vclusterops/nma_health_op.go index deabd53..51966ca 100644 --- a/vclusterops/nma_health_op.go +++ b/vclusterops/nma_health_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_load_remote_catalog_op.go b/vclusterops/nma_load_remote_catalog_op.go index ac129fe..d9c01ed 100644 --- a/vclusterops/nma_load_remote_catalog_op.go +++ b/vclusterops/nma_load_remote_catalog_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_network_profile_op.go b/vclusterops/nma_network_profile_op.go index a9e9fca..d72bb08 100644 --- a/vclusterops/nma_network_profile_op.go +++ b/vclusterops/nma_network_profile_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_prepare_directories_op.go b/vclusterops/nma_prepare_directories_op.go index aaab00c..d4e0a4a 100644 --- a/vclusterops/nma_prepare_directories_op.go +++ b/vclusterops/nma_prepare_directories_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_prepare_scrutinizer_directories_op.go b/vclusterops/nma_prepare_scrutinizer_directories_op.go index a7ace96..0bf15f1 100644 --- a/vclusterops/nma_prepare_scrutinizer_directories_op.go +++ b/vclusterops/nma_prepare_scrutinizer_directories_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_re_ip_op.go b/vclusterops/nma_re_ip_op.go index 7f47986..992bb66 100644 --- a/vclusterops/nma_re_ip_op.go +++ b/vclusterops/nma_re_ip_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_read_catalog_editor_op.go b/vclusterops/nma_read_catalog_editor_op.go index 5776024..9d94af4 100644 --- a/vclusterops/nma_read_catalog_editor_op.go +++ b/vclusterops/nma_read_catalog_editor_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_show_restore_points_op.go b/vclusterops/nma_show_restore_points_op.go index 5da8672..318682c 100644 --- a/vclusterops/nma_show_restore_points_op.go +++ b/vclusterops/nma_show_restore_points_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_show_restore_points_op_test.go b/vclusterops/nma_show_restore_points_op_test.go index 0f139e4..e1280dc 100644 --- a/vclusterops/nma_show_restore_points_op_test.go +++ b/vclusterops/nma_show_restore_points_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_spread_security_op.go b/vclusterops/nma_spread_security_op.go index 608ce4d..22ef70c 100644 --- a/vclusterops/nma_spread_security_op.go +++ b/vclusterops/nma_spread_security_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_spread_security_op_test.go b/vclusterops/nma_spread_security_op_test.go index 1dd8f08..5df3ce1 100644 --- a/vclusterops/nma_spread_security_op_test.go +++ b/vclusterops/nma_spread_security_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_stage_dc_tables_op.go b/vclusterops/nma_stage_dc_tables_op.go index ea94ae3..59245da 100644 --- a/vclusterops/nma_stage_dc_tables_op.go +++ b/vclusterops/nma_stage_dc_tables_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_stage_vertica_logs_op.go b/vclusterops/nma_stage_vertica_logs_op.go index 7af7856..fde5476 100644 --- a/vclusterops/nma_stage_vertica_logs_op.go +++ b/vclusterops/nma_stage_vertica_logs_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_start_node_op.go b/vclusterops/nma_start_node_op.go index 4221853..be65a4d 100644 --- a/vclusterops/nma_start_node_op.go +++ b/vclusterops/nma_start_node_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_upload_config.go b/vclusterops/nma_upload_config.go index 61cb586..42a7ba1 100644 --- a/vclusterops/nma_upload_config.go +++ b/vclusterops/nma_upload_config.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/nma_vertica_version_op.go b/vclusterops/nma_vertica_version_op.go index 58d27c5..b93577b 100644 --- a/vclusterops/nma_vertica_version_op.go +++ b/vclusterops/nma_vertica_version_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -18,6 +18,7 @@ package vclusterops import ( "errors" "fmt" + "strings" "github.com/vertica/vcluster/vclusterops/util" ) @@ -38,6 +39,7 @@ type nmaVerticaVersionOp struct { vdb *VCoordinationDatabase sandbox bool scName string + readOnly bool } func makeHostVersionMap() hostVersionMap { @@ -48,10 +50,10 @@ func makeSCToHostVersionMap() map[string]hostVersionMap { return make(map[string]hostVersionMap) } -// makeNMAVerticaVersionOp is used when db has not been created -func makeNMAVerticaVersionOp(hosts []string, sameVersion, isEon bool) nmaVerticaVersionOp { +// makeNMACheckVerticaVersionOp is used when db has not been created +func makeNMACheckVerticaVersionOp(hosts []string, sameVersion, isEon bool) nmaVerticaVersionOp { op := nmaVerticaVersionOp{} - op.name = "NMAVerticaVersionOp" + op.name = "NMACheckVerticaVersionOp" op.description = "Check Vertica version" op.hosts = hosts op.RequireSameVersion = sameVersion @@ -60,16 +62,29 @@ func makeNMAVerticaVersionOp(hosts []string, sameVersion, isEon bool) nmaVertica return op } +// makeNMAReadVerticaVersionOp is used to read Vertica version from each node +// to a VDB object +func makeNMAReadVerticaVersionOp(vdb *VCoordinationDatabase) nmaVerticaVersionOp { + op := nmaVerticaVersionOp{} + op.name = "NMAReadVerticaVersionOp" + op.description = "Read Vertica version" + op.hosts = vdb.HostList + op.readOnly = true + op.vdb = vdb + op.SCToHostVersionMap = makeSCToHostVersionMap() + return op +} + // makeNMAVerticaVersionOpWithoutHosts is used when db is down func makeNMAVerticaVersionOpWithoutHosts(sameVersion bool) nmaVerticaVersionOp { // We set hosts to nil and isEon to false temporarily, and they will get the correct value from execute context in prepare() - return makeNMAVerticaVersionOp(nil /*hosts*/, sameVersion, false /*isEon*/) + return makeNMACheckVerticaVersionOp(nil /*hosts*/, sameVersion, false /*isEon*/) } // makeNMAVerticaVersionOpAfterUnsandbox is used after unsandboxing func makeNMAVerticaVersionOpAfterUnsandbox(sameVersion bool, scName string) nmaVerticaVersionOp { // We set hosts to nil and isEon to true - op := makeNMAVerticaVersionOp(nil /*hosts*/, sameVersion, true /*isEon*/) + op := makeNMACheckVerticaVersionOp(nil /*hosts*/, sameVersion, true /*isEon*/) op.sandbox = true op.scName = scName return op @@ -78,7 +93,7 @@ func makeNMAVerticaVersionOpAfterUnsandbox(sameVersion bool, scName string) nmaV // makeNMAVerticaVersionOpWithVDB is used when db is up func makeNMAVerticaVersionOpWithVDB(sameVersion bool, vdb *VCoordinationDatabase) nmaVerticaVersionOp { // We set hosts to nil temporarily, and it will get the correct value from vdb in prepare() - op := makeNMAVerticaVersionOp(nil /*hosts*/, sameVersion, vdb.IsEon) + op := makeNMACheckVerticaVersionOp(nil /*hosts*/, sameVersion, vdb.IsEon) op.vdb = vdb return op } @@ -288,9 +303,43 @@ func (op *nmaVerticaVersionOp) logCheckVersionMatch() error { } func (op *nmaVerticaVersionOp) processResult(_ *opEngineExecContext) error { + if op.readOnly { + return op.readVersion() + } + err := op.logResponseCollectVersions() if err != nil { return err } + return op.logCheckVersionMatch() } + +func (op *nmaVerticaVersionOp) readVersion() error { + for host, result := range op.clusterHTTPRequest.ResultCollection { + op.logResponse(host, result) + + versionMap, err := op.parseAndCheckMapResponse(host, result.content) + if err != nil { + return fmt.Errorf("[%s] fail to parse result on host %s, details: %w", op.name, host, err) + } + + // the versionStr looks like + // Vertica Analytic Database v24.3.0 + versionStr, ok := versionMap["vertica_version"] + // missing key "vertica_version" + if !ok { + return fmt.Errorf("unable to get vertica version from host %s", host) + } + + vnode, ok := op.vdb.HostNodeMap[host] + // missing host in vdb + if !ok { + return fmt.Errorf("failed to find host %s in the vdb object", host) + } + versionInfo := strings.Split(versionStr, " ") + vnode.Version = versionInfo[len(versionInfo)-1] + } + + return nil +} diff --git a/vclusterops/nma_vertica_version_op_test.go b/vclusterops/nma_vertica_version_op_test.go index ee9d373..ed08605 100644 --- a/vclusterops/nma_vertica_version_op_test.go +++ b/vclusterops/nma_vertica_version_op_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -23,7 +23,7 @@ import ( ) func TestLogCheckVersionMatch(t *testing.T) { - op := makeNMAVerticaVersionOp(nil, true, true) + op := makeNMACheckVerticaVersionOp(nil, true, true) op.HasIncomingSCNames = true // case 1. one subcluster (enterprise db is one example of this case) diff --git a/vclusterops/node_info.go b/vclusterops/node_info.go index 427b52c..3637789 100644 --- a/vclusterops/node_info.go +++ b/vclusterops/node_info.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -26,7 +26,15 @@ type NodeInfo struct { Subcluster string `json:"subcluster"` IsPrimary bool `json:"is_primary"` Version string `json:"version"` - Revision string `json:"revision"` +} + +// NodeInfo does not contain Eon specific information +type NodeInfoEnterprise struct { + Address string `json:"address"` + Name string `json:"name"` // vnode name, e.g., v_dbname_node0001 + State string `json:"state"` + CatalogPath string `json:"catalog_path"` + Version string `json:"version"` } type nodesInfo struct { diff --git a/vclusterops/node_info_test.go b/vclusterops/node_info_test.go index 55a0462..97650e2 100644 --- a/vclusterops/node_info_test.go +++ b/vclusterops/node_info_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/re_ip.go b/vclusterops/re_ip.go index 172d8b0..de43187 100644 --- a/vclusterops/re_ip.go +++ b/vclusterops/re_ip.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/re_ip_test.go b/vclusterops/re_ip_test.go index cfe46fe..a669c48 100644 --- a/vclusterops/re_ip_test.go +++ b/vclusterops/re_ip_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/remove_node.go b/vclusterops/remove_node.go index e24fa5c..3b50c65 100644 --- a/vclusterops/remove_node.go +++ b/vclusterops/remove_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/remove_subcluster.go b/vclusterops/remove_subcluster.go index 9e43120..e41cede 100644 --- a/vclusterops/remove_subcluster.go +++ b/vclusterops/remove_subcluster.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/remove_subcluster_test.go b/vclusterops/remove_subcluster_test.go index 26d3530..4db2554 100644 --- a/vclusterops/remove_subcluster_test.go +++ b/vclusterops/remove_subcluster_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/replication.go b/vclusterops/replication.go index e833eb1..1e849a6 100644 --- a/vclusterops/replication.go +++ b/vclusterops/replication.go @@ -186,7 +186,7 @@ func (vcc VClusterCommands) produceDBReplicationInstructions(options *VReplicati nmaHealthOp := makeNMAHealthOp(options.Hosts) // require to have the same vertica version - nmaVerticaVersionOp := makeNMAVerticaVersionOp(options.Hosts, true, true /*IsEon*/) + nmaVerticaVersionOp := makeNMACheckVerticaVersionOp(options.Hosts, true, true /*IsEon*/) initiatorTargetHost := getInitiator(options.TargetHosts) httpsStartReplicationOp, err := makeHTTPSStartReplicationOp(options.DBName, options.Hosts, options.usePassword, diff --git a/vclusterops/restore_points.go b/vclusterops/restore_points.go index 7753dec..84ab170 100644 --- a/vclusterops/restore_points.go +++ b/vclusterops/restore_points.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -189,7 +189,7 @@ func (vcc VClusterCommands) produceShowRestorePointsInstructions(options *VShowR nmaHealthOp := makeNMAHealthOp(hosts) // require to have the same vertica version - nmaVerticaVersionOp := makeNMAVerticaVersionOp(hosts, true, true /*IsEon*/) + nmaVerticaVersionOp := makeNMACheckVerticaVersionOp(hosts, true, true /*IsEon*/) nmaShowRestorePointOp := makeNMAShowRestorePointsOpWithFilterOptions(vcc.Log, bootstrapHost, options.DBName, options.CommunalStorageLocation, options.ConfigurationParameters, &options.FilterOptions) diff --git a/vclusterops/revive_db.go b/vclusterops/revive_db.go index f6d3e0c..1f5edd2 100644 --- a/vclusterops/revive_db.go +++ b/vclusterops/revive_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/sandbox.go b/vclusterops/sandbox.go index e41261b..adc7739 100644 --- a/vclusterops/sandbox.go +++ b/vclusterops/sandbox.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/scrutinize.go b/vclusterops/scrutinize.go index 94c1893..50c9ac6 100644 --- a/vclusterops/scrutinize.go +++ b/vclusterops/scrutinize.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/scrutinize_op.go b/vclusterops/scrutinize_op.go index f41dbc1..8c5c2a1 100644 --- a/vclusterops/scrutinize_op.go +++ b/vclusterops/scrutinize_op.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/start_db.go b/vclusterops/start_db.go index 78fe686..d39e96a 100644 --- a/vclusterops/start_db.go +++ b/vclusterops/start_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/start_node.go b/vclusterops/start_node.go index fe170e4..cc63aa3 100644 --- a/vclusterops/start_node.go +++ b/vclusterops/start_node.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/state_poller.go b/vclusterops/state_poller.go index 9e599a1..e5d5aae 100644 --- a/vclusterops/state_poller.go +++ b/vclusterops/state_poller.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/stop_db.go b/vclusterops/stop_db.go index e43b5be..e0f1ea9 100644 --- a/vclusterops/stop_db.go +++ b/vclusterops/stop_db.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/unsandbox.go b/vclusterops/unsandbox.go index d4427b7..018b44d 100644 --- a/vclusterops/unsandbox.go +++ b/vclusterops/unsandbox.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/util/defaults.go b/vclusterops/util/defaults.go index 704d3e6..992a116 100644 --- a/vclusterops/util/defaults.go +++ b/vclusterops/util/defaults.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/util/util.go b/vclusterops/util/util.go index a824fee..5ed515a 100644 --- a/vclusterops/util/util.go +++ b/vclusterops/util/util.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/util/util_test.go b/vclusterops/util/util_test.go index 36d8e9e..a61fc10 100644 --- a/vclusterops/util/util_test.go +++ b/vclusterops/util/util_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vcluster_database_options.go b/vclusterops/vcluster_database_options.go index 25d103d..845920d 100644 --- a/vclusterops/vcluster_database_options.go +++ b/vclusterops/vcluster_database_options.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vcluster_database_options_test.go b/vclusterops/vcluster_database_options_test.go index fd560c0..2c59ff8 100644 --- a/vclusterops/vcluster_database_options_test.go +++ b/vclusterops/vcluster_database_options_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vcluster_version.go b/vclusterops/vcluster_version.go index 731054d..523cc0b 100644 --- a/vclusterops/vcluster_version.go +++ b/vclusterops/vcluster_version.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vcluster_version_test.go b/vclusterops/vcluster_version_test.go index 979621c..374bd3f 100644 --- a/vclusterops/vcluster_version_test.go +++ b/vclusterops/vcluster_version_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vlog/printer.go b/vclusterops/vlog/printer.go index a69bec7..1588f26 100644 --- a/vclusterops/vlog/printer.go +++ b/vclusterops/vlog/printer.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vlog/printer_test.go b/vclusterops/vlog/printer_test.go index b86d2f7..1152daf 100644 --- a/vclusterops/vlog/printer_test.go +++ b/vclusterops/vlog/printer_test.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/vclusterops/vstruct/vstruct.go b/vclusterops/vstruct/vstruct.go index dbb6a52..e4f5e03 100644 --- a/vclusterops/vstruct/vstruct.go +++ b/vclusterops/vstruct/vstruct.go @@ -1,5 +1,5 @@ /* - (c) Copyright [2023] Open Text. + (c) Copyright [2023-2024] Open Text. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at