Skip to content

Bug: Getting 400 while trigger deployment for a helm application  #5429

@ajaydevtron

Description

@ajaydevtron

📜 Description

We have a cronjob deployed since 3year ago from generic helm chart now while triggering the deployment getting below error

Content of cronjob deployed using generic helm chart .

data:
- apiVersion: batch/v1beta1
  kind: CronJob
  metadata:
    name: trace-processing-cron
  spec:
    schedule: "0 6 * * *"
    startingDeadlineSeconds: 100
    concurrencyPolicy: Allow
    suspend: false
    successfulJobsHistoryLimit: 3
    failedJobsHistoryLimit: 1
    jobTemplate:
      spec:
         template:
           spec:
             containers:
             - name: trace-cron
               image: 086341552770.dkr.ecr.ap-south-1.amazonaws.com/trace-pocessing-python-cron:latest
               imagePullPolicy: Always
               env:
               - name: ENVIRONMENT
                 value: "prod"
             restartPolicy: OnFailure

Error log
{"level":"error","ts":1720009910.334719,"caller":"git/GitServiceGitlab.go:182","msg":"err in creating gitlab app","req":{"description":"helm chart for ","name":"","namespace_id":5418816,"visibility":"private","merge_requests_enabled":true,"snippets_enabled":false},"name":"","err":"POST https://gitlab.com/api/v4/projects: 400 {message: {base: [undefined methodsplit' for nil:NilClass\n\n full_path.split('/')\n ^^^^^^]}, {name: [can't be blank, can contain only letters, digits, emoji, '', '.', '+', dashes, or spaces. It must start with a letter, digit, emoji, or ''.]}, {path: [can't be blank, can contain only letters, digits, '', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom', is too short (minimum is 1 character), can't be blank]}, {project_namespace.name: [can't be blank]}, {project_namespace.path: [can't be blank, can contain only letters, digits, '', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom']}}","stacktrace":"github.com/devtron-labs/devtron/pkg/deployment/gitOps/git.GitLabClient.createProject\n\t/go/src/github.com/devtron-labs/devtron/pkg/deployment/gitOps/git/GitServiceGitlab.go:182\ngithub.com/devtron-labs/devtron/pkg/deployment/gitOps/git.GitLabClient.CreateRepository\n\t/go/src/github.com/devtron-labs/devtron/pkg/deployment/gitOps/git/GitServiceGitlab.go:119\ngithub.com/devtron-labs/devtron/pkg/deployment/gitOps/git.(*GitOperationServiceImpl).CreateRepository\n\t/go/src/github.com/devtron-labs/devtron/pkg/deployment/gitOps/git/GitOperationService.go:239\ngithub.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment.(*FullModeDeploymentServiceImpl).createGitOpsRepo\n\t/go/src/github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppGitOpsService.go:218\ngithub.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment.(*FullModeDeploymentServiceImpl).UpdateAppGitOpsOperations\n\t/go/src/github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppGitOpsService.go:124\ngithub.com/devtron-labs/devtron/pkg/appStore/installedApp/service.(*AppStoreDeploymentServiceImpl).UpdateInstalledApp\n\t/go/src/github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/AppStoreDeploymentService.go:727\ngithub.com/devtron-labs/devtron/api/appStore/deployment.AppStoreDeploymentRestHandlerImpl.UpdateInstalledApp\n\t/go/src/github.com/devtron-labs/devtron/api/appStore/deployment/AppStoreDeploymentRestHandler.go:480\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2122\ngo.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux.traceware.ServeHTTP\n\t/go/src/github.com/devtron-labs/devtron/vendor/go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux/mux.go:179\ngithub.com/devtron-labs/common-lib/middlewares.Recovery.func1\n\t/go/src/github.com/devtron-labs/devtron/vendor/github.com/devtron-labs/common-lib/middlewares/recovery.go:28\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2122\ngithub.com/devtron-labs/devtron/internal/middleware.PrometheusMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/internal/middleware/instrument.go:129\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2122\ngithub.com/devtron-labs/devtron/api/util.LoggingMiddlewareImpl.LoggingMiddleware.func1\n\t/go/src/github.com/devtron-labs/devtron/api/util/log`

Affected areas

CD

Additional affected areas

None

Prod/Non-prod environments?

Prod

Is User unblocked?

No

How was the user un-blocked?

None

Impact on Enterprise

We wanted to update the Api version of cronjob deployed here , because we are planning to upgrade the EKS cluster to 1.25 and api version of cronjob (batch/v1beta1) removed in 1.25

👟 Steps to replicate the Issue

NA

👍 Expected behavior

It should able to trigger the deployment

👎 Actual Behavior

Through below error .

internalMessage
: 
"[{POST https://gitlab.com/api/v4/projects: 400 {message: {base: [undefined method `split' for nil:NilClass\n\n    full_path.split('/')\n             ^^^^^^]}, {name: [can't be blank, can contain only letters, digits, emoji, '_', '.', '+', dashes, or spaces. It must start with a letter, digit, emoji, or '_'.]}, {path: [can't be blank, can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom', is too short (minimum is 1 character), can't be blank]}, {project_namespace.name: [can't be blank]}, {project_namespace.path: [can't be blank, can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom']}}}]"
userMessage
: 
"POST https://gitlab.com/api/v4/projects: 400 {message: {base: [undefined method `split' for nil:NilClass\n\n    full_path.split('/')\n             ^^^^^^]}, {name: [can't be blank, can contain only letters, digits, emoji, '_', '.', '+', dashes, or spaces. It must start with a letter, digit, emoji, or '_'.]}, {path: [can't be blank, can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom', is too short (minimum is 1 character), can't be blank]}, {project_namespace.name: [can't be blank]}, {project_namespace.path: [can't be blank, can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom']}}"
status
: 
"Internal Server Error"

☸ Kubernetes version

1.30

Cloud provider

AWS

🌍 Browser

Chrome

✅ Proposed Solution

No response

👀 Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

AB#10116

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions