Closed kingdonb closed 1 year ago
Progress on #12 today, but it comes with a regression
leafer.1 | {"message":"add finalizer to source-watcher (dae7ee3c-05a1-4cb4-b3ab-e523cd60cfcf)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T01:32:10+00:00"}
leafer.1 | /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler/selector.rb:190:in `block in select': undefined method `alive?' for 12312:Integer (NoMethodError)
leafer.1 |
leafer.1 | fiber.transfer if fiber.alive?
leafer.1 | ^^^^^^^
leafer.1 | from /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler/selector.rb:188:in `times'
leafer.1 | from /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler/selector.rb:188:in `select'
leafer.1 | from /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler.rb:122:in `run_once'
leafer.1 | from /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler.rb:116:in `run'
leafer.1 | from /usr/local/bundle/ruby/3.1.0/gems/fiber_scheduler-0.13.0/lib/fiber_scheduler.rb:138:in `close'
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
leafer.1 | exited with code 1
system | sending SIGTERM to all processes
sample.1 | terminated by SIGTERM
measure.1 | terminated by SIGTERM
This is a different error than the SIGIOT from foreman, or from maybe pg or wasmer, but this process fails at least 30% of the time and it does not recover on its own.
This could be much better in so many ways, (but we need it to have a web front-end before we can address any of those!)
Here they are, the primary error (SIGIOT):
and
leafer.1 | /usr/local/bundle/ruby/3.1.0/gems/activerecord-7.0.5/lib/active_record/core.rb:310: [BUG] Segmentation fault at 0x0000000000000029
leafer.1 | ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [aarch64-linux]
The full output:
(⎈|chicago:default):~ (macos-homebrew *|u=)$ k get po -w
NAME READY STATUS RESTARTS AGE
stats-tracker-ghcr-28113228-ff2nh 0/1 Completed 0 30m
stats-tracker-ghcr-28113232-pkq56 0/1 Completed 1 26m
stats-tracker-ghcr-28113236-8zq2d 0/1 Completed 1 22m
stats-tracker-ghcr-28113256-4rjv4 0/1 ContainerCreating 0 2s
stats-tracker-ghcr-28113256-4rjv4 1/1 Running 0 2s
^C
(⎈|chicago:default):~ (macos-homebrew *|u=)$ k get leaf
NAME AGE READY STATUS
charts-flagger 11s False Reconciling
flagger 11s False Reconciling
flagger-loadtester 11s False Reconciling
flagger-manifests 11s False Reconciling
flux-cli 11s False Reconciling
flux-manifests 11s False Reconciling
golang-with-libgit2 11s False Reconciling
golang-with-libgit2-all 11s False Reconciling
golang-with-libgit2-only 11s False Reconciling
helm-controller 11s False Reconciling
image-automation-controller 11s False Reconciling
image-reflector-controller 11s False Reconciling
kustomize-controller 11s False Reconciling
notification-controller 11s False Reconciling
source-controller 11s False Reconciling
source-watcher 11s False Reconciling
(⎈|chicago:default):~ (macos-homebrew *|u=)$ k get po -w
NAME READY STATUS RESTARTS AGE
stats-tracker-ghcr-28113232-pkq56 0/1 Completed 1 26m
stats-tracker-ghcr-28113236-8zq2d 0/1 Completed 1 22m
stats-tracker-ghcr-28113256-4rjv4 0/1 Completed 0 21s
^C
(⎈|chicago:default):~ (macos-homebrew *|u=)$ k get leaf
NAME AGE READY STATUS
charts-flagger 21s False Reconciling
flagger 21s False Reconciling
flagger-loadtester 21s False Reconciling
flagger-manifests 21s False Reconciling
flux-cli 21s False Reconciling
flux-manifests 21s False Reconciling
golang-with-libgit2 21s False Reconciling
golang-with-libgit2-all 21s False Reconciling
golang-with-libgit2-only 21s False Reconciling
helm-controller 21s False Reconciling
image-automation-controller 21s False Reconciling
image-reflector-controller 21s False Reconciling
kustomize-controller 21s False Reconciling
notification-controller 21s False Reconciling
source-controller 21s False Reconciling
source-watcher 21s False Reconciling
(⎈|chicago:default):~ (macos-homebrew *|u=)$ ^C
(⎈|chicago:default):~ (macos-homebrew *|u=)$ k logs -f stats-tracker-ghcr-28113256-4rjv4
sample.1 | started with pid 8
leafer.1 | started with pid 9
measure.1 | started with pid 10
sample.1 | {"message":"use incluster config","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
sample.1 | {"message":"start the operator","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
sample.1 | {"message":"trigger add action for fluxcd (78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
sample.1 | {"message":"create new project {projectName: fluxcd}","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
leafer.1 | {"message":"use incluster config","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
leafer.1 | {"message":"start the operator","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:32+00:00"}
leafer.1 | {"message":"trigger add action for source-controller (4953e519-96a0-4416-a740-d575a55d9feb)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: source-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to source-controller (4953e519-96a0-4416-a740-d575a55d9feb)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
leafer.1 | {"message":"trigger add action for kustomize-controller (5f233779-0608-425a-b76b-d4b05abe020b)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: kustomize-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to kustomize-controller (5f233779-0608-425a-b76b-d4b05abe020b)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for notification-controller (12d2591c-765c-4efb-b5aa-430ed1c927c1)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: notification-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to notification-controller (12d2591c-765c-4efb-b5aa-430ed1c927c1)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for helm-controller (7c669934-47fa-4560-844c-4623fbab774e)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: helm-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to helm-controller (7c669934-47fa-4560-844c-4623fbab774e)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for image-automation-controller (d9c2c886-af4f-4700-a21a-23ceeba50184)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: image-automation-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to image-automation-controller (d9c2c886-af4f-4700-a21a-23ceeba50184)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for image-reflector-controller (ea09f6dd-e97c-490d-82e2-77a36a09c61c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: image-reflector-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to image-reflector-controller (ea09f6dd-e97c-490d-82e2-77a36a09c61c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for flagger (c1da0be9-fbce-429a-afb1-a36dc0ea7429)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to flagger (c1da0be9-fbce-429a-afb1-a36dc0ea7429)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for flux-cli (5f52b0f5-d754-406b-919f-32f96dc28a9c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flux-cli}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to flux-cli (5f52b0f5-d754-406b-919f-32f96dc28a9c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for flagger-loadtester (ba20a192-e365-42db-b8ad-089414129a88)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger-loadtester}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to flagger-loadtester (ba20a192-e365-42db-b8ad-089414129a88)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for flux-manifests (5c7bfc93-ffdf-4366-b7c8-4b724ac3f083)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flux-manifests}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to flux-manifests (5c7bfc93-ffdf-4366-b7c8-4b724ac3f083)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for charts-flagger (6c664c6b-f444-45d3-b6a5-cbaaeb70ddb8)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: charts%2Fflagger}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to charts-flagger (6c664c6b-f444-45d3-b6a5-cbaaeb70ddb8)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2 (00395e6c-acc2-475e-b6cd-c1487b8e63b4)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2 (00395e6c-acc2-475e-b6cd-c1487b8e63b4)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"trigger add action for flagger-manifests (41fa12b9-ab93-4e29-957a-1c291a1509d3)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger-manifests}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:33+00:00"}
sample.1 | {"message":"add event registered health check for leaves from project/fluxcd(Normal) to fluxcd(78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:34+00:00"}
sample.1 | {"message":"add finalizer to fluxcd (78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:34+00:00"}
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
leafer.1 | {"message":"add finalizer to flagger-manifests (41fa12b9-ab93-4e29-957a-1c291a1509d3)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2-only (128b2c61-a28d-43d0-8d54-c9d12c4f3d36)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2-only}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2-only (128b2c61-a28d-43d0-8d54-c9d12c4f3d36)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2-all (8c9d06c2-537c-4c25-a842-1ab9ddf3efdf)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2-all}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2-all (8c9d06c2-537c-4c25-a842-1ab9ddf3efdf)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"trigger add action for source-watcher (6553472d-4495-47f7-af7b-1c778324ac9d)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"upsert called for {packageName: source-watcher}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | {"message":"add finalizer to source-watcher (6553472d-4495-47f7-af7b-1c778324ac9d)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:18:38+00:00"}
leafer.1 | /usr/local/bundle/ruby/3.1.0/gems/activerecord-7.0.5/lib/active_record/core.rb:310: [BUG] Segmentation fault at 0x0000000000000029
leafer.1 | ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [aarch64-linux]
leafer.1 |
leafer.1 | -- Control frame information -----------------------------------------------
leafer.1 | c:0015 p:0151 s:0089 e:000086 BLOCK /usr/local/bundle/ruby/3.1.0/gems/activerecord-7.0.5/lib/active_record/core.rb:310 [FINISH]
leafer.1 | SEGV received in SEGV handler
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
leafer.1 | terminated by SIGIOT
system | sending SIGTERM to all processes
sample.1 | terminated by SIGTERM
measure.1 | terminated by SIGTERM
Sometimes it does this:
$ k logs -f stats-tracker-ghcr-28113260-hvknn
sample.1 | started with pid 7
leafer.1 | started with pid 8
measure.1 | started with pid 9
sample.1 | {"message":"use incluster config","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
sample.1 | {"message":"start the operator","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"use incluster config","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"start the operator","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
sample.1 | {"message":"trigger add action for fluxcd (78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
sample.1 | {"message":"create new project {projectName: fluxcd}","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for kustomize-controller (5f233779-0608-425a-b76b-d4b05abe020b)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: kustomize-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to kustomize-controller (5f233779-0608-425a-b76b-d4b05abe020b)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for helm-controller (7c669934-47fa-4560-844c-4623fbab774e)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: helm-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to helm-controller (7c669934-47fa-4560-844c-4623fbab774e)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for image-automation-controller (d9c2c886-af4f-4700-a21a-23ceeba50184)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: image-automation-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to image-automation-controller (d9c2c886-af4f-4700-a21a-23ceeba50184)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2-all (8c9d06c2-537c-4c25-a842-1ab9ddf3efdf)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2-all}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2-all (8c9d06c2-537c-4c25-a842-1ab9ddf3efdf)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for notification-controller (12d2591c-765c-4efb-b5aa-430ed1c927c1)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: notification-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to notification-controller (12d2591c-765c-4efb-b5aa-430ed1c927c1)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for image-reflector-controller (ea09f6dd-e97c-490d-82e2-77a36a09c61c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: image-reflector-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to image-reflector-controller (ea09f6dd-e97c-490d-82e2-77a36a09c61c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for flagger-loadtester (ba20a192-e365-42db-b8ad-089414129a88)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger-loadtester}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to flagger-loadtester (ba20a192-e365-42db-b8ad-089414129a88)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2 (00395e6c-acc2-475e-b6cd-c1487b8e63b4)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2 (00395e6c-acc2-475e-b6cd-c1487b8e63b4)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for flagger-manifests (41fa12b9-ab93-4e29-957a-1c291a1509d3)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger-manifests}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to flagger-manifests (41fa12b9-ab93-4e29-957a-1c291a1509d3)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for golang-with-libgit2-only (128b2c61-a28d-43d0-8d54-c9d12c4f3d36)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: golang-with-libgit2-only}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to golang-with-libgit2-only (128b2c61-a28d-43d0-8d54-c9d12c4f3d36)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for source-controller (4953e519-96a0-4416-a740-d575a55d9feb)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: source-controller}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to source-controller (4953e519-96a0-4416-a740-d575a55d9feb)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for flagger (c1da0be9-fbce-429a-afb1-a36dc0ea7429)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flagger}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to flagger (c1da0be9-fbce-429a-afb1-a36dc0ea7429)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for flux-cli (5f52b0f5-d754-406b-919f-32f96dc28a9c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flux-cli}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to flux-cli (5f52b0f5-d754-406b-919f-32f96dc28a9c)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for flux-manifests (5c7bfc93-ffdf-4366-b7c8-4b724ac3f083)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: flux-manifests}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to flux-manifests (5c7bfc93-ffdf-4366-b7c8-4b724ac3f083)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for charts-flagger (6c664c6b-f444-45d3-b6a5-cbaaeb70ddb8)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: charts%2Fflagger}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to charts-flagger (6c664c6b-f444-45d3-b6a5-cbaaeb70ddb8)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"trigger add action for source-watcher (6553472d-4495-47f7-af7b-1c778324ac9d)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"upsert called for {packageName: source-watcher}","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
leafer.1 | {"message":"add finalizer to source-watcher (6553472d-4495-47f7-af7b-1c778324ac9d)","log_level":"INFO","log_type":"Log4RTest","log_app":"leaves.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:04+00:00"}
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
sample.1 | {"message":"add event registered health check for leaves from project/fluxcd(Normal) to fluxcd(78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:05+00:00"}
sample.1 | {"message":"add finalizer to fluxcd (78d6e145-1767-4191-9435-69d53ef3d5c2)","log_level":"INFO","log_type":"Log4RTest","log_app":"projects.example.com/v1alpha1","log_timestamp":"2023-06-15T02:20:05+00:00"}
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### fresh packages count: 0 (expecting 16) #######
measure.1 | ########### final packages count: 0 (expecting 16) #######
measure.1 | ########### c (0) != package_count (16) #######
measure.1 | ########### g (16) leaves left; still collecting #######
measure.1 | ########### g (16) leaves left; still collecting #######
All of those things seem to happen less often than they appeared. I saw it run 20-30x today without interrupting, but it does still occasionally fail like this.
I think these were concurrency issues, even though they prevented things from working at all yesterday, it was a fluke.
So there will be a small compromise, in the spirit of textualism
In the requirements spec'd out in the top-level comment, we said we wanted the graph on a web page, served by Rails. Turns out that's not so difficult but it requires a Grafana instance, and if you wanted Grafana Cloud instead of to host your own Grafana, then scraping graphs from the free instance to your web page becomes a problem again.
So we've got a Rails server with access to the cluster, and a cronjob that runs our reconciler, and they are separate. And there is a postgres database that the reconciler outputs to and the Rails server can access, but it doesn't know how to do any graphs. We defer to Grafana for that. And currently there's a gap:
Checked off All of this, but on a web page (we'll serve it up at rails root!)
as an exception as explained above
We have a Rails website, we have a Grafana Cloud, they will hopefully become friends soon
This issue can close in spite of #21 above, when we are writing data points into production as spec'd by In the production database at neon dot tech
and we're checking off All of this, but on a web page (we'll serve it up at rails root!)
in spite of not quite getting all the way there.
That, and closing of #20 will signify production readiness 👍
It isn't quite publishing data points into Neon.tech database yet
I think we need a separate deployment in dev and in prod, since dev is now a substantial dataset and we should probably maintain it at least until prod is as long as it is now (2 weeks +)
Will keep this open until there is a Grafana Cloud or OSS instance pointed at our Neon.tech prod database and it has data points to report. #21 is still separate.
I was able to publish some data points on Neon.tech today, with the RAILS_ENV=production
setting in a Kubernetes cluster, and I have published a second release now: 0.0.2.
This is still a bit away from being able to say "we have Neon.tech in production" however, we can take the next step which I believe is:
If that works reliably, then we'll call that the production recorder, and then with a GitHub action that runs 6 or 8 times a day, we'll have enough data points to show at least daily trends. We can slap that visualization into a serverless process or KEDA-enabled deployment, and we can even explore using the KEDA cron scheduler to replace GitHub as new-prod later on.
(The actual viz will be done in Grafana, we were aiming to host our own Grafana OSS alongside of the Rails app deployment, as expressed in #21, but we don't need to make this our only deployment. We should have useful output for the DX reporting for example, where it likely doesn't need to be presented in any format that shows more granular information than one single number reported at most daily.)
We have 4 hours of continuous data in a database labeled "prod" on neon.tech, and all the boxes in the top-post are checked so I think this can be closed now ✅