Skip to content

Commit c0583b3

Browse files
authored
Add Volume Mounts (#195)
* adding volume mounts
1 parent 27ff123 commit c0583b3

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

pkg/apis/upgrade.cattle.io/v1/types.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ type ContainerSpec struct {
6262
Args []string `json:"args,omitempty"`
6363
Env []corev1.EnvVar `json:"envs,omitempty"`
6464
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
65+
Volumes []VolumeSpec `json:"volumes,omitempty"`
66+
}
67+
68+
type VolumeSpec struct {
69+
Name string `json:"name,omitempty"`
70+
Source string `json:"source,omitempty"`
71+
Destination string `json:"destination,omitempty"`
6572
}
6673

6774
// DrainSpec encapsulates `kubectl drain` parameters minus node/pod selectors.

pkg/apis/upgrade.cattle.io/v1/zz_generated_deepcopy.go

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/upgrade/container/container.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,17 @@ func WithPlanEnvironment(planName string, planStatus upgradeapiv1.PlanStatus) Op
7676
}
7777
}
7878

79+
func WithVolumes(volumes []upgradeapiv1.VolumeSpec) Option {
80+
return func(container *corev1.Container) {
81+
for _, v := range volumes {
82+
container.VolumeMounts = append(container.VolumeMounts, corev1.VolumeMount{
83+
Name: v.Name,
84+
MountPath: v.Destination,
85+
})
86+
}
87+
}
88+
}
89+
7990
func New(name string, spec upgradeapiv1.ContainerSpec, opt ...Option) corev1.Container {
8091
container := corev1.Container{
8192
Name: name,
@@ -110,6 +121,7 @@ func New(name string, spec upgradeapiv1.ContainerSpec, opt ...Option) corev1.Con
110121
}}, spec.Env...),
111122
EnvFrom: spec.EnvFrom,
112123
}
124+
113125
for _, fn := range opt {
114126
fn(&container)
115127
}

pkg/upgrade/job/job.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,18 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
212212
})
213213
}
214214

215+
// add volumes from upgrade plan
216+
for _, v := range plan.Spec.Upgrade.Volumes {
217+
podTemplate.Spec.Volumes = append(podTemplate.Spec.Volumes, corev1.Volume{
218+
Name: v.Name,
219+
VolumeSource: corev1.VolumeSource{
220+
HostPath: &corev1.HostPathVolumeSource{
221+
Path: v.Source,
222+
},
223+
},
224+
})
225+
}
226+
215227
// first, we prepare
216228
if plan.Spec.Prepare != nil {
217229
podTemplate.Spec.InitContainers = append(podTemplate.Spec.InitContainers,
@@ -220,6 +232,7 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
220232
upgradectr.WithSecrets(plan.Spec.Secrets),
221233
upgradectr.WithPlanEnvironment(plan.Name, plan.Status),
222234
upgradectr.WithImagePullPolicy(ImagePullPolicy),
235+
upgradectr.WithVolumes(plan.Spec.Upgrade.Volumes),
223236
),
224237
)
225238
}
@@ -260,6 +273,7 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
260273
upgradectr.WithSecrets(plan.Spec.Secrets),
261274
upgradectr.WithPlanEnvironment(plan.Name, plan.Status),
262275
upgradectr.WithImagePullPolicy(ImagePullPolicy),
276+
upgradectr.WithVolumes(plan.Spec.Upgrade.Volumes),
263277
),
264278
)
265279
} else if cordon {
@@ -271,6 +285,7 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
271285
upgradectr.WithSecrets(plan.Spec.Secrets),
272286
upgradectr.WithPlanEnvironment(plan.Name, plan.Status),
273287
upgradectr.WithImagePullPolicy(ImagePullPolicy),
288+
upgradectr.WithVolumes(plan.Spec.Upgrade.Volumes),
274289
),
275290
)
276291
}
@@ -290,6 +305,7 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
290305
upgradectr.WithSecrets(plan.Spec.Secrets),
291306
upgradectr.WithPlanEnvironment(plan.Name, plan.Status),
292307
upgradectr.WithImagePullPolicy(ImagePullPolicy),
308+
upgradectr.WithVolumes(plan.Spec.Upgrade.Volumes),
293309
),
294310
}
295311

0 commit comments

Comments
 (0)