Skip to content

Commit ad11263

Browse files
support dry-run (#219)
* support dry-run * wip
1 parent 4aa6a9b commit ad11263

20 files changed

+58
-21
lines changed

venona/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.15
1+
1.5.16

venonactl/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.15
1+
1.5.16

venonactl/cmd/attach.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ var attachRuntimeCmdOptions struct {
4343
templateValues []string
4444
templateFileValues []string
4545
templateValueFiles []string
46+
dryRun bool
4647
}
4748

4849
var attachRuntimeCmd = &cobra.Command{
@@ -104,18 +105,20 @@ var attachRuntimeCmd = &cobra.Command{
104105
RuntimeClusterName: attachRuntimeCmdOptions.kube.namespace,
105106
RuntimeServiceAccount: attachRuntimeCmdOptions.kube.serviceAccount,
106107
RestartAgent: attachRuntimeCmdOptions.restartAgent,
108+
DryRun: attachRuntimeCmdOptions.dryRun,
107109
}
108110

109111
// runtime
110112
var runtimeInCluster bool
111113
mergeValueBool(templateValuesMap, "RuntimeInCluster", &runtimeInCluster)
112-
builderInstallOpt.KubeBuilder = getKubeClientBuilder(attachRuntimeCmdOptions.kube.context, attachRuntimeCmdOptions.kube.namespace, attachRuntimeCmdOptions.kube.kubePath, runtimeInCluster)
114+
builderInstallOpt.KubeBuilder = getKubeClientBuilder(attachRuntimeCmdOptions.kube.context, attachRuntimeCmdOptions.kube.namespace, attachRuntimeCmdOptions.kube.kubePath, runtimeInCluster, attachRuntimeCmdOptions.dryRun)
113115

114116
// agent
115117
builderInstallOpt.AgentKubeBuilder = getKubeClientBuilder(attachRuntimeCmdOptions.kubeVenona.context,
116118
attachRuntimeCmdOptions.kubeVenona.namespace,
117119
attachRuntimeCmdOptions.kubeVenona.kubePath,
118-
false)
120+
false,
121+
attachRuntimeCmdOptions.dryRun)
119122

120123
builder.Add(plugins.RuntimeAttachType)
121124

@@ -151,6 +154,7 @@ func init() {
151154
attachRuntimeCmd.Flags().StringVar(&attachRuntimeCmdOptions.kubeVenona.context, "kube-context-name-agent", viper.GetString("kube-context-agent"), "Name of the kubernetes context on which venona is installed (default is current-context) [$KUBE_CONTEXT]")
152155
attachRuntimeCmd.Flags().StringVar(&attachRuntimeCmdOptions.kubeVenona.kubePath, "kube-config-path-agent", viper.GetString("kubeconfig-agent"), "Path to kubeconfig file (default is $HOME/.kube/config) for agent [$KUBECONFIG]")
153156
attachRuntimeCmd.Flags().BoolVar(&attachRuntimeCmdOptions.restartAgent, "restart-agent", viper.GetBool("restart-agent"), "Restart agent after attach operation")
157+
attachRuntimeCmd.Flags().BoolVar(&attachRuntimeCmdOptions.dryRun, "dry-run", false, "Set to true to simulate installation")
154158

155159
attachRuntimeCmd.Flags().StringArrayVar(&attachRuntimeCmdOptions.templateValues, "set-value", []string{}, "Set values for templates --set-value agentId=12345")
156160
attachRuntimeCmd.Flags().StringArrayVar(&attachRuntimeCmdOptions.templateFileValues, "set-file", []string{}, "Set values for templates from file")

venonactl/cmd/cmdutils.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,13 @@ func createTable() *tablewriter.Table {
165165
return table
166166
}
167167

168-
func getKubeClientBuilder(context string, namespace string, path string, inCluster bool) kube.Kube {
168+
func getKubeClientBuilder(context string, namespace string, path string, inCluster bool, dryRun bool) kube.Kube {
169169
return kube.New(&kube.Options{
170170
ContextName: context,
171171
Namespace: namespace,
172172
PathToKubeConfig: path,
173173
InCluster: inCluster,
174+
DryRun: dryRun,
174175
})
175176
}
176177

@@ -317,4 +318,4 @@ func mergeValueMSI(valuesMap map[string]interface{}, key string, param *map[stri
317318
}
318319
val := mapX.Get(key).MSI(defaultValue...)
319320
*param = val
320-
}
321+
}

venonactl/cmd/install-agent.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,11 @@ var installAgentCmd = &cobra.Command{
137137
s.KubernetesAPI.NodeSelector = installAgentCmdOptions.kube.nodeSelector
138138

139139
builderInstallOpt.ClusterName = s.KubernetesAPI.ContextName
140-
builderInstallOpt.KubeBuilder = getKubeClientBuilder(builderInstallOpt.ClusterName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster)
140+
builderInstallOpt.KubeBuilder = getKubeClientBuilder(builderInstallOpt.ClusterName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath,
141+
s.KubernetesAPI.InCluster,
142+
installAgentCmdOptions.dryRun)
141143
builderInstallOpt.ClusterNamespace = s.KubernetesAPI.Namespace
144+
builderInstallOpt.DryRun = installAgentCmdOptions.dryRun
142145

143146
builder.Add(plugins.VenonaPluginType)
144147

venonactl/cmd/install-app-proxy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ var installAppProxyCmd = &cobra.Command{
8686
}
8787

8888
builderInstallOpt.ClusterName = s.KubernetesAPI.ContextName
89-
builderInstallOpt.KubeBuilder = getKubeClientBuilder(builderInstallOpt.ClusterName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster)
89+
builderInstallOpt.KubeBuilder = getKubeClientBuilder(builderInstallOpt.ClusterName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster, builderInstallOpt.DryRun)
9090
builderInstallOpt.ClusterNamespace = s.KubernetesAPI.Namespace
9191
builder.Add(plugins.AppProxyPluginType)
9292

venonactl/cmd/install-monitor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ var installMonitorAgentCmd = &cobra.Command{
8787
DryRun: installMonitorAgentCmdOptions.dryRun,
8888
}
8989

90-
builderInstallOpt.KubeBuilder = getKubeClientBuilder(s.KubernetesAPI.ContextName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster)
90+
builderInstallOpt.KubeBuilder = getKubeClientBuilder(s.KubernetesAPI.ContextName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster, installMonitorAgentCmdOptions.dryRun)
9191

9292
if installMonitorAgentCmdOptions.clusterId == "" {
9393
dieOnError(fmt.Errorf("Cluster id is required in order to install monitor"))

venonactl/cmd/install-runtime.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,9 @@ var installRuntimeCmd = &cobra.Command{
153153
lgr.Info("Custom StorageClass is set, skipping installation of default volume provisioner")
154154
}
155155

156-
builderInstallOpt.KubeBuilder = getKubeClientBuilder(s.KubernetesAPI.ContextName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster)
156+
builderInstallOpt.KubeBuilder = getKubeClientBuilder(s.KubernetesAPI.ContextName, s.KubernetesAPI.Namespace, s.KubernetesAPI.ConfigPath,
157+
s.KubernetesAPI.InCluster,
158+
installRuntimeCmdOptions.dryRun)
157159
values := s.BuildValues()
158160
values = mergeMaps(values, templateValuesMap)
159161

venonactl/cmd/migrate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ var migrateCmd = &cobra.Command{
5454
err := p.Migrate(&plugins.MigrateOptions{
5555
ClusterNamespace: migrateCmdOpt.kube.namespace,
5656
ClusterName: migrateCmdOpt.kube.context,
57-
KubeBuilder: getKubeClientBuilder(migrateCmdOpt.kube.context, migrateCmdOpt.kube.namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster),
57+
KubeBuilder: getKubeClientBuilder(migrateCmdOpt.kube.context, migrateCmdOpt.kube.namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster, false),
5858
}, values)
5959
if err != nil {
6060
dieOnError(err)

venonactl/cmd/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func printTableWithKubernetesRelatedResources(re *codefresh.RuntimeEnvironment,
113113
Add(plugins.VenonaPluginType).
114114
Add(plugins.VolumeProvisionerPluginType)
115115
statusOpt := &plugins.StatusOptions{
116-
KubeBuilder: getKubeClientBuilder(context, re.RuntimeScheduler.Cluster.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster),
116+
KubeBuilder: getKubeClientBuilder(context, re.RuntimeScheduler.Cluster.Namespace, s.KubernetesAPI.ConfigPath, s.KubernetesAPI.InCluster, false),
117117
ClusterNamespace: s.KubernetesAPI.Namespace,
118118
}
119119
for _, p := range builder.Get() {

0 commit comments

Comments
 (0)