diff --git a/pkg/cli/job/run.go b/pkg/cli/job/run.go index 277bb1889d..79372f5920 100644 --- a/pkg/cli/job/run.go +++ b/pkg/cli/job/run.go @@ -35,6 +35,7 @@ type runFlags struct { MinAvailable int Replicas int Requests string + Limits string } var launchJobFlags = &runFlags{} @@ -48,6 +49,7 @@ func InitRunFlags(cmd *cobra.Command) { cmd.Flags().IntVarP(&launchJobFlags.MinAvailable, "min", "m", 1, "the minimal available tasks of job") cmd.Flags().IntVarP(&launchJobFlags.Replicas, "replicas", "r", 1, "the total tasks of job") cmd.Flags().StringVarP(&launchJobFlags.Requests, "requests", "R", "cpu=1000m,memory=100Mi", "the resource request of the task") + cmd.Flags().StringVarP(&launchJobFlags.Limits, "limits", "L", "cpu=1000m,memory=100Mi", "the resource limit of the task") } var jobName = "job.volcano.sh" @@ -63,6 +65,11 @@ func RunJob() error { return err } + limit, err := populateResourceListV1(launchJobFlags.Limits) + if err != nil { + return err + } + job := &vkapi.Job{ ObjectMeta: metav1.ObjectMeta{ Name: launchJobFlags.Name, @@ -88,6 +95,7 @@ func RunJob() error { Name: launchJobFlags.Name, ImagePullPolicy: v1.PullIfNotPresent, Resources: v1.ResourceRequirements{ + Limits: limit, Requests: req, }, },