From 43ca65f6b3bbb13a402addfa540510017df35217 Mon Sep 17 00:00:00 2001 From: Joseph Rajewski <83741749+paladin-devops@users.noreply.github.com> Date: Wed, 2 Nov 2022 10:38:53 -0400 Subject: [PATCH 1/2] fix: set CSI parameter configuration for Nomad server install. --- internal/installutil/nomad/nomad.go | 3 ++- internal/runnerinstall/nomad.go | 1 + internal/serverinstall/nomad.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/installutil/nomad/nomad.go b/internal/installutil/nomad/nomad.go index acf2a2ae6a0..64915c7984c 100644 --- a/internal/installutil/nomad/nomad.go +++ b/internal/installutil/nomad/nomad.go @@ -168,7 +168,7 @@ func CreatePersistentVolume( client *api.Client, id, name, csiPluginId, csiVolumeProvider, csiFS, csiExternalId string, csiVolumeCapacityMin, csiVolumeCapacityMax int64, - csiTopologies, csiSecrets map[string]string, + csiTopologies, csiSecrets, csiParams map[string]string, ) error { vol := api.CSIVolume{ ID: id, @@ -187,6 +187,7 @@ func CreatePersistentVolume( RequestedCapacityMin: DefaultCSIVolumeCapacityMin, RequestedCapacityMax: DefaultCSIVolumeCapacityMax, PluginID: csiPluginId, + Parameters: csiParams, Provider: csiVolumeProvider, RequestedTopologies: &api.CSITopologyRequest{ Required: nil, diff --git a/internal/runnerinstall/nomad.go b/internal/runnerinstall/nomad.go index 5d9642f891d..fb21063b347 100644 --- a/internal/runnerinstall/nomad.go +++ b/internal/runnerinstall/nomad.go @@ -101,6 +101,7 @@ func (i *NomadRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) e i.Config.CsiVolumeCapacityMax, i.Config.CsiTopologies, i.Config.CsiSecrets, + map[string]string{}, ) if err != nil { return fmt.Errorf("error creating Nomad persistent volume: %s", clierrors.Humanize(err)) diff --git a/internal/serverinstall/nomad.go b/internal/serverinstall/nomad.go index f66fdce8070..46a5ca55683 100644 --- a/internal/serverinstall/nomad.go +++ b/internal/serverinstall/nomad.go @@ -226,6 +226,7 @@ func (i *NomadInstaller) Install( i.config.csiVolumeCapacityMax, i.config.csiTopologies, i.config.csiSecrets, + i.config.csiParams, ) if err != nil { return nil, "", status.Errorf(codes.Internal, "Failed creating Nomad persistent volume: %s", err) From a3686307efcd82b532422ef6ce0cdad587ae1002 Mon Sep 17 00:00:00 2001 From: Joseph Rajewski <83741749+paladin-devops@users.noreply.github.com> Date: Wed, 2 Nov 2022 11:08:40 -0400 Subject: [PATCH 2/2] fix: set CSI params for Nomad runner install. --- .changelog/4157.txt | 3 +++ internal/runnerinstall/nomad.go | 9 ++++++++- internal/serverinstall/nomad.go | 1 + website/content/commands/runner-install.mdx | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .changelog/4157.txt diff --git a/.changelog/4157.txt b/.changelog/4157.txt new file mode 100644 index 00000000000..ac7318deb92 --- /dev/null +++ b/.changelog/4157.txt @@ -0,0 +1,3 @@ +```release-note:bug +install/nomad: Update installation with Nomad to use CSI parameters. +``` \ No newline at end of file diff --git a/internal/runnerinstall/nomad.go b/internal/runnerinstall/nomad.go index fb21063b347..64a43553384 100644 --- a/internal/runnerinstall/nomad.go +++ b/internal/runnerinstall/nomad.go @@ -44,6 +44,7 @@ type NomadConfig struct { CsiFS string `hcl:"csi_fs,optional"` CsiTopologies map[string]string `hcl:"nomad_csi_topologies,optional"` CsiExternalId string `hcl:"nomad_csi_external_id,optional"` + CsiParams map[string]string `hcl:"nomad_csi_params,optional"` CsiPluginId string `hcl:"nomad_csi_plugin_id"` CsiSecrets map[string]string `hcl:"nomad_csi_secrets,optional"` CsiVolume string `hcl:"nomad_csi_volume,optional"` @@ -101,7 +102,7 @@ func (i *NomadRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) e i.Config.CsiVolumeCapacityMax, i.Config.CsiTopologies, i.Config.CsiSecrets, - map[string]string{}, + i.Config.CsiParams, ) if err != nil { return fmt.Errorf("error creating Nomad persistent volume: %s", clierrors.Humanize(err)) @@ -281,6 +282,12 @@ func (i *NomadRunnerInstaller) InstallFlags(set *flag.Set) { Default: nomadutil.DefaultCSIVolumeMountFS, }) + set.StringMapVar(&flag.StringMapVar{ + Name: "nomad-csi-params", + Target: &i.Config.CsiParams, + Usage: "Parameters passed directly to the CSI plugin to configure the volume.", + }) + set.StringMapVar(&flag.StringMapVar{ Name: "nomad-csi-topologies", Target: &i.Config.CsiTopologies, diff --git a/internal/serverinstall/nomad.go b/internal/serverinstall/nomad.go index 46a5ca55683..0c0a889db8f 100644 --- a/internal/serverinstall/nomad.go +++ b/internal/serverinstall/nomad.go @@ -642,6 +642,7 @@ func (i *NomadInstaller) InstallRunner( CsiFS: i.config.csiFS, CsiTopologies: i.config.csiTopologies, CsiExternalId: i.config.csiExternalId, + CsiParams: i.config.csiParams, CsiPluginId: i.config.csiPluginId, CsiSecrets: i.config.csiSecrets, CsiVolume: i.config.runnerCsiVolume, diff --git a/website/content/commands/runner-install.mdx b/website/content/commands/runner-install.mdx index 46e6a1bcd49..dfb40c1ddcb 100644 --- a/website/content/commands/runner-install.mdx +++ b/website/content/commands/runner-install.mdx @@ -89,6 +89,7 @@ the install, the command would be: - `-nomad-csi-volume-capacity-min=` - Nomad CSI volume capacity minimum, in bytes. The default is 1073741824. - `-nomad-csi-volume-capacity-max=` - Nomad CSI volume capacity maximum, in bytes. The default is 2147483648. - `-nomad-csi-fs=` - Nomad CSI volume mount option file system. The default is xfs. +- `-nomad-csi-params=` - Parameters passed directly to the CSI plugin to configure the volume. - `-nomad-csi-topologies=` - Locations from which the Nomad Volume will be accessible. - `-nomad-csi-external-id=` - The ID of the physical volume from the Nomad storage provider. - `-nomad-csi-secrets=` - Credentials for publishing volume for Waypoint runner.