MCPcopy Index your code
hub / github.com/devspace-sh/devspace / replace

Method replace

pkg/devspace/services/podreplace/replace.go:209–234  ·  view source on GitHub ↗
(ctx devspacecontext.Context, deploymentName string, target runtime.Object, devPod *latest.DevPod)

Source from the content-addressed store, hash-verified

207}
208
209func (p *replacer) replace(ctx devspacecontext.Context, deploymentName string, target runtime.Object, devPod *latest.DevPod) error {
210 deploymentObj, err := buildDeployment(ctx, deploymentName, target, devPod)
211 if err != nil {
212 return err
213 }
214
215 // scale down parent
216 err = scaleDownTarget(ctx, target)
217 if err != nil {
218 return errors.Wrap(err, "scale down target")
219 }
220 ctx.Log().Debugf("Scaled down %s %s", deploymentObj.Annotations[TargetKindAnnotation], deploymentObj.Annotations[TargetNameAnnotation])
221
222 // create the deployment
223 deployment, err := ctx.KubeClient().KubeClient().AppsV1().Deployments(deploymentObj.Namespace).Create(ctx.Context(), deploymentObj, metav1.CreateOptions{})
224 if err != nil {
225 if kerrors.IsAlreadyExists(err) {
226 ctx.Log().Info("Pod was already replaced, retrying to update the configuration")
227 return p.ReplacePod(ctx, devPod)
228 }
229
230 return errors.Wrap(err, "create deployment")
231 }
232
233 return updatePVC(ctx, deployment, devPod)
234}
235
236func updatePVC(ctx devspacecontext.Context, deployment *appsv1.Deployment, devPod *latest.DevPod) error {
237 // create a pvc if needed

Callers 10

ReplacePodMethod · 0.95
renderLinesMethod · 0.45
CustomNavLinkFunction · 0.45
formatURLFunction · 0.45
dFunction · 0.45
uuidv4Function · 0.45
persistStateFunction · 0.45
preserveExpansionStatesFunction · 0.45

Calls 9

ReplacePodMethod · 0.95
buildDeploymentFunction · 0.85
scaleDownTargetFunction · 0.85
updatePVCFunction · 0.85
LogMethod · 0.65
KubeClientMethod · 0.65
ContextMethod · 0.65
DebugfMethod · 0.45
InfoMethod · 0.45

Tested by

no test coverage detected