* vendor: add vendored code
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* controller: use shared informers and a work queue
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* errors: use cpuguy83/strongerrors
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* aci: fix test that uses resource manager
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* readme: clarify skaffold run before e2e
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* cmd: use root context everywhere
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: refactor pod lifecycle management
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* e2e: fix race in test when observing deletions
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* e2e: test pod forced deletion
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* cmd: fix root context potential leak
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: rename metaKey
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: remove calls to HandleError
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* Revert "errors: use cpuguy83/strongerrors"
This reverts commit f031fc6d.
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* manager: remove redundant lister constraint
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: rename the pod event recorder
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: amend misleading comment
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* mock: add tracing
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: add tracing
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* test: observe timeouts
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* trace: remove unnecessary comments
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: limit concurrency in deleteDanglingPods
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: never store context, always pass in calls
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: remove HandleCrash and just panic
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: don't sync succeeded pods
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* sync: ensure pod deletion from kubernetes
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* ci: move go vet to validate check
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* cri: don't build when not on linux
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* mock: implement GetStatsSummary
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* make: use skaffold to deploy vk
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* test: add an e2e test suite
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* test: add vendored code
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* docs: update README.md
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* ci: run e2e on circleci
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* make: improve the skaffold target
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* e2e: fix defer pod deletion
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* e2e: improve instructions
Signed-off-by: Paulo Pires <pjpires@gmail.com>
* makefile: default shell is bash
Signed-off-by: Paulo Pires <pjpires@gmail.com>
This ensures that we can catch certain types of errors from providers
and handle accordingly in the core. There is still more to do here to
improve that but this resolves an immediate need to know why a Delete
failed.
vic provider was not updated since I could not figure out where to get
this information.
Updates the pod status in Kubernetes to "Failed" when the pod status is
not found from the provider.
Note that currently thet most providers return `nil, nil` when a pod is
not found. This works but should possibly return a typed error so we can
determine if the error means not found or something else... but this
works as is so I haven't changed it.
ocagent allows users to send traces out of VK to a "standard" external forwarder
(standard as in this is a format/protocol defined in the opencensus project).
This allows uers to implement metrics for whatever backend they want
without having to add it into VK directly.
* Add k8s.io/client-go/tools/cache package
* Add cache controller
* Add pod creator and terminator
* Pod Synchronizer
* Clean up
* Add back reconcile
* Remove unnecessary space in log
* Incorprate feedbacks
* dep ensure
* Fix the syntax error
* Fix the merge errors
* Minor Refactor
* Set status
* Pass context together with the pod to the pod channel
* Change to use flag to specify the number of pod sync workers
* Remove the unused const
* Use Stable PROD Region WestUS in Test
EastUS2EUAP is not reliable
NRP used to add a profile entry when a service association link is added to the subnet
Now, the profile entry is added when a network profile is created
This breaks the current validation