uselagoon / remote-controller

A group of controllers for handling Lagoon builds and tasks in Kubernetes or Openshift
5 stars 1 forks source link

controller sigsevs on misc task #27

Closed Schnitzel closed 3 years ago

Schnitzel commented 3 years ago

image running: amazeeio/lagoon-builddeploy:v0.1.6

error message:

2021-01-05T21:40:31.839Z    INFO    controller-runtime.metrics  metrics server is starting to listen    {"addr": "127.0.0.1:8080"}
2021-01-05T21:40:31.840Z    INFO    setup   starting messaging handler
2021-01-05T21:40:31.841Z    INFO    setup   starting controllers
2021-01-05T21:40:31.841Z    INFO    setup   starting manager
2021-01-05T21:40:31.841Z    INFO    controller-runtime.manager  starting metrics server {"path": "/metrics"}
2021-01-05T21:40:32.104Z    INFO    handlers.LagoonTasks    Listening for lagoon-tasks:test8.amazee.io:builddeploy
2021-01-05T21:40:32.104Z    INFO    handlers.LagoonTasks    Listening for lagoon-tasks:test8.amazee.io:remove
2021-01-05T21:40:32.104Z    INFO    handlers.LagoonTasks    Listening for lagoon-tasks:test8.amazee.io:jobs
2021-01-05T21:40:32.104Z    INFO    handlers.LagoonTasks    Listening for lagoon-tasks:test8.amazee.io:misc
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x124dd80]

goroutine 258 [running]:
github.com/amazeeio/lagoon-kbd/handlers.(*Messaging).Consumer.func6(0x7fba39f67a68, 0xc0000c05d8)
    /workspace/handlers/message_queue.go:286 +0x5e0
github.com/cheshir/go-mq.(*worker).Run(0xc0002301c0, 0xc0000b4300)
    /go/pkg/mod/github.com/shreddedbacon/go-mq@v0.0.0-20200419104937-b8e9af912ead/consumer.go:107 +0x156
created by github.com/cheshir/go-mq.(*consumer).consume
    /go/pkg/mod/github.com/shreddedbacon/go-mq@v0.0.0-20200419104937-b8e9af912ead/consumer.go:62 +0x7a

message in the queue:

{
  "misc": {
    "miscResource": "eyJhcGlWZXJzaW9uIjoiYmFja3VwLmFwcHVpby5jaC92MWFscGhhMSIsImtpbmQiOiJSZXN0b3JlIiwibWV0YWRhdGEiOnsibmFtZSI6InJlc3RvcmUtNjgxM2RmNCJ9LCJzcGVjIjp7InNuYXBzaG90IjoiNjgxM2RmNDc0YWNiZTUwMjI1ZTk1ZDFhMTMxMDU0YTVhMmIzMTM2YzVmNTIyMGU2ZTM5YzE2ODczODdiOTFjZiIsInJlc3RvcmVNZXRob2QiOnsiczMiOnt9fSwiYmFja2VuZCI6eyJzMyI6eyJidWNrZXQiOiJiYWFzLWRydXBhbC1leGFtcGxlLXRlc3Q4In0sInJlcG9QYXNzd29yZFNlY3JldFJlZiI6eyJrZXkiOiJyZXBvLXB3IiwibmFtZSI6ImJhYXMtcmVwby1wdyJ9fX19"
  },
  "key": "kubernetes:restic:backup:restore",
  "environment": {
    "name": "master",
    "openshiftProjectName": "drupal-example-test8-master"
  },
  "project": {
    "name": "drupal-example-test8"
  },
  "advancedTask": {}
}

decoded misc.miscResource:

{
  "apiVersion": "backup.appuio.ch/v1alpha1",
  "kind": "Restore",
  "metadata": {
    "name": "restore-6813df4"
  },
  "spec": {
    "snapshot": "6813df474acbe50225e95d1a131054a5a2b3136c5f5220e6e39c1687387b91cf",
    "restoreMethod": {
      "s3": {}
    },
    "backend": {
      "s3": {
        "bucket": "baas-drupal-example-test8"
      },
      "repoPasswordSecretRef": {
        "key": "repo-pw",
        "name": "baas-repo-pw"
      }
    }
  }
}
shreddedbacon commented 3 years ago
github.com/amazeeio/lagoon-kbd/handlers.(*Messaging).Consumer.func6(0x7fba39f67a68, 0xc0000c05d8)
    /workspace/handlers/message_queue.go:286

https://github.com/amazeeio/lagoon-kbd/blob/main/handlers/message_queue.go#L286

Ahh, the backup ID isn't sent in that message. Changing it to this will strip the backup ID.

opLog.Info(
  fmt.Sprintf(
    "Received backup restoration for project %s, environment %s",
    jobSpec.Project.Name,
    jobSpec.Environment.Name,
  ),
)