Steffan Tucker
1e41884a06
Fix golangci-lint issues
...
As part of updating dapper files, golangci-lint was set to be used. This
caused a lot of lint issues to crop up, which this fixes.
2022-07-26 10:40:30 -06:00
Ricardo Weir
20335edec8
Remove controller metrics
...
Norman metrics' labels have too high of a cardinality as they
include object key as a label. This is a problem because metrics
produces a data row for every combination of labels. This can
have a large impact on performance and is cautioned against in
the prometheus docs. Norman now uses lasso which has metrics with
matching functionality apart from the object key, so norman
metrics will be removed in favor of lasso metrics.
2022-04-27 11:45:54 -07:00
Darren Shepherd
8933f573f8
Don't filter out nil objects
2020-08-26 21:25:00 -07:00
Darren Shepherd
d8c3e21805
Ensure controller is scoped to namespace
2020-08-26 15:33:30 -07:00
Darren Shepherd
4b0a7e6b91
Rebase on lasso
2020-05-16 21:59:53 -07:00
Sebastiaan van Steenis
5c74e1ee1e
Move debug log to trace
2020-03-11 20:37:25 -07:00
Darren Shepherd
409c47c0cd
Don't rate limit the sync of handlers
2020-02-06 22:04:22 -07:00
Darren Shepherd
202dd06a36
Add EnqueueAfter
2020-02-05 21:16:03 -07:00
Darren Shepherd
899cfdf49b
Add ability to add handlers transactionally across controllers
2020-02-05 20:47:25 -07:00
Dan Ramich
c95753fa57
Update controller to allow adding handlers after controller is running
2020-01-22 15:15:39 -08:00
Darren Shepherd
3afadb987c
Fix goroutine leak on failed sync() or before
...
A leak would occur if either a GenericController was created
and Sync() or Start() was never called or if Sync() failed.
2019-11-25 18:00:27 -07:00
dax
cbeaf3e5bf
Fix error shadowing
2019-08-29 15:27:56 -07:00
Darren Shepherd
a719648e4b
Fix bug that doesn't print errors
2019-02-01 15:05:55 -07:00
Darren Shepherd
f88fcd7223
Fix bug where we don't trigger handlers on second start
2018-11-26 08:43:27 -07:00
Darren Shepherd
a21f7b7e4c
Fix bug in which all handlers would be trigger on incremental add
2018-11-09 10:20:45 -07:00
Darren Shepherd
77869d26b3
Handlers return object and error
2018-10-30 09:57:37 -07:00
Darren Shepherd
dcaea4c5dc
All per controller threadiness
2018-10-22 10:51:15 -07:00
Darren Shepherd
373a1f9de1
Merge pull request #202 from ukinau/Add-Generic-Controller-Related-Metrics
...
Add Generic Controller Related Metrics
2018-10-09 19:31:52 -07:00
Yuki Nishiwaki
90a67b5678
Add Generic Controller Related Metrics
...
To enhance operatability for the service using norman framework,
It's better to expose internal state as detail as possible.
This is the just starting point but at least which handler is executed
often and which handler with which key's execution is often failed
metrics is very useful to spot the place operator have to dig in when
something happened.
So this commit added 2 metrics.
1: handler execution total count
2: handler execution failure total count
2018-10-05 14:36:58 +09:00
Yuki Nishiwaki
f103a35307
Enable fine-grained control for Controller related metrics
2018-09-26 11:51:51 +09:00
Alena Prokharchyk
1d3cf7aee8
Log forget error in debug
2018-08-25 15:44:50 -07:00
Bill Maxwell
de9510b940
Default to noop metric provider
...
With the built in prom. metrics provider, the k8s machinery doesnt
deregister metrics when controllers are removed. So over time as
things like clusters are created or removed the metrics are not
cleaned up. The metrics types for the cache and queue are also
very large. They can take ~1GB of RAM in a 100 cluster setup.
Also, Rancher is not exposing these stats so they are unobservable.
2018-07-27 12:50:44 -07:00
Darren Shepherd
88e3507f72
Change some logging to debug
...
# Conflicts:
# controller/generic_controller.go
# vendor.conf
2018-07-19 10:23:17 -07:00
Alena Prokharchyk
26d279bce1
Fixes to adapt to 1.10.5
2018-07-11 16:44:45 -07:00
Craig Jellick
388faeb89e
Use logrus to log errors and panics
...
This changes the framework from using glog to using logrus, which is
what the rest of code uses.
2018-06-22 16:19:49 -07:00
Darren Shepherd
50ffce9804
Add namespace indexer to controllers
2018-04-04 03:08:15 -07:00
Darren Shepherd
ff60298f31
Move ObjectClient to different package
2018-04-03 14:09:16 -07:00
Darren Shepherd
fcf2b88855
Add some debug logging to see churn
2018-03-23 09:44:24 -07:00
Darren Shepherd
b5aef8d08d
Don't log conflicts as much
2018-03-22 15:55:44 -07:00
Darren Shepherd
1e9982bd45
Change NewErrors signature
2018-03-03 21:53:38 -07:00
Darren Shepherd
0f7c2968c9
Make controller and client more generic
2018-02-13 08:57:47 -07:00
Darren Shepherd
ef71925351
Update rate limit on the controller
2018-01-21 06:24:22 +00:00
Darren Shepherd
9e6ea56442
Changes to make conditions less chatty
2018-01-17 22:44:12 +00:00
Darren Shepherd
af105c2bc7
Add name to handlers
2018-01-16 05:10:36 +00:00
Craig Jellick
6e00d528c2
Do print controller name when logging error
2017-12-29 21:57:12 +00:00
Darren Shepherd
227e9f7ca0
Add ignorable error to bypass requeue
2017-12-16 01:30:46 -07:00
Darren Shepherd
247d4fe74b
Fix startup issues
2017-11-28 18:25:18 -07:00
Darren Shepherd
389d27b3e5
Updates
2017-11-28 14:28:25 -07:00
Darren Shepherd
59d2d58c3e
Fix code generator
2017-11-21 16:16:52 -07:00
Darren Shepherd
38c9c5c6c3
Subcontext and mapping updates
2017-11-21 15:37:22 -07:00
Darren Shepherd
9cb51e9a46
Generate clients in clientset style
2017-11-13 12:50:25 -07:00
Darren Shepherd
c8cab3f4f8
More initial dev
2017-11-10 21:46:30 -07:00