Commit Graph

185 Commits

Author SHA1 Message Date
Ria Bhatia
a4c73dd03a adding virtual node docs (#454) 2018-12-14 13:40:05 -08:00
Bruno Miguel Custodio
34b356ee5f mock: do not panic on unknown pods
Signed-off-by: Bruno Miguel Custodio <brunomcustodio@gmail.com>
2018-12-12 12:07:45 +00:00
Paulo Pires
28a757f4da use shared informers and workqueue (#425)
* 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>
2018-11-30 15:53:58 -08:00
Paulo Pires
0e9cfca585 ci: move go vet to validate check (#430)
* 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>
2018-11-30 13:58:55 -08:00
Robbie Zhang
338a7c2213 [ACI] Fallback to parse authConfig.Auth when Username field is not specified (#421)
* Fallback to parse authConfig.Auth when Username field is not specified
2018-11-28 11:33:07 -08:00
Robbie Zhang
30f9c8cf23 Add MasterURI setting in the README.md
Add MasterURI setting in the README.md
2018-11-28 10:44:06 -08:00
Paulo Pires
579823e6a5 tests: introduce e2e suite (#422)
* 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>
2018-11-28 09:01:36 -08:00
shidao-ytt
688c10fa8b [AliCloud] Add cluster name and bug fix (#412)
* [AliCloud] add tag ClusterName for different k8s cluster

* [AliCloud] BugFix: vk get wrong pod ip

* update serverless kubernetes help doc link
2018-11-26 11:08:37 -08:00
Robbie Zhang
f07daf494b BugFix: secret data missing tail newline (#406) 2018-11-26 11:01:00 -08:00
Brian Goff
cd42fdd7b8 Use strongerrors in provider implementations. (#403)
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.
2018-11-07 16:02:48 -08:00
Carlos Mendible
4edd39a8ef Fixed typo on helm install sample (#392)
Fixed typo on helm install sample. Replaced providers.azure.clientID with provider.azure.clientId so the values are correctly parsed.
2018-11-02 15:04:50 +00:00
shidao-ytt
77c3315da4 [AliCloud] Add init container (#382)
* clean up eci sdk code

remove unnecessary code

* add init containers support
2018-11-01 15:57:30 -07:00
Ria Bhatia
a9ff4fed4a adding vnet documentation changes (#354)
* adding vnet changes

* format error

* change

* add exec

* added sp instructions

*  adding output

* adding link

* name change

* node selector change

*  plz be the last change

* vnet changes

* vnet changes, took out sp variables

* Adding more changes

* aci subnet

* added master uri

* fixed stuff

* adding master uri again

* add /
2018-10-30 23:43:17 +00:00
Brian Goff
4b6f79111f Typo in build tag for alicloud provider
It's what I do...
2018-10-19 12:22:25 -07:00
Robbie Zhang
5991b29f76 [ACI] Support to add extra user agent to the request (#378)
* Add UserAgent

* Change to join the user agent with a whitespace and set in the header

* Remove empty entry from user agent
2018-10-18 14:28:43 -07:00
Robbie Zhang
4a7b74ed42 [VK] Use Cache controller and Make create/delete pod Concurrently (#373)
* 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
2018-10-16 17:20:02 -07:00
robbiezhang
10cf53cc9c Use a hash of the subnetID instead of virtual node name to avoid conflict 2018-10-16 20:31:39 +00:00
robbiezhang
c193fbe3c0 Remove the validation on the Subnet IP Configuration Profile
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
2018-10-16 19:52:23 +00:00
robbiezhang
eb77d5686f Update the network sdk and add more validations 2018-10-13 00:16:19 +00:00
Brian Goff
d710e0391c Merge pull request #369 from robbiezhang/master
Update kubernetes projects version in vendor to 1.12.1
2018-10-11 10:06:20 -07:00
Robbie Zhang
8a5d5b670f Make the metrics test more robust in multi-container case 2018-10-10 18:43:37 -07:00
Robbie Zhang
05595835f1 Make default waiting reason to be Creating (#372) 2018-10-10 10:40:41 -07:00
Robbie Zhang
1d5c1a4d26 Merge branch 'master' into master 2018-10-09 12:32:07 -07:00
shidao-ytt
e6aa80d2c4 Add secret volume (#370)
* add secret volume implement with config map

Signed-off-by: xianwei.zw <xianwei.zw@alibaba-inc.com>
Signed-off-by: shidao-ytt <shidao.ytt@alibaba-inc.com>

* add request log for CreateContainerGroup
2018-10-09 12:30:18 -07:00
robbiezhang
5a00c27b9c Update kubernetes projects version in vendor to 1.12.1 2018-10-06 00:53:39 +00:00
Brian Goff
8e29415bf7 Convert errors to OC status 2018-09-26 13:48:40 -07:00
Brian Goff
682b2bccf8 Add support for tracing via OpenCencus
This adds a few flags for configuring the tracer.
Includes support for jaeger tracing (built into OC).
2018-09-26 13:48:40 -07:00
shidao-ytt
43d32d2301 update Alibaba Cloud ECI Docs (#362) 2018-09-26 13:21:33 -07:00
Brian Goff
083f6dee05 Refactor provider init (#360)
* Refactor provider init

This moves provider init out of vkubelet setup, instead preferring to
initialize vkubelet with a provider.

* Split API server configuration from setup.

This makes sure that configuration (which is done primarily through env
vars) is separate from actually standing up the servers.

This also makes sure to abort daemon initialization if the API servers
are not able to start.
2018-09-26 13:18:02 -07:00
shidao-ytt
7faf07dcc2 Add Alibaba Cloud ECI Documents
Alibaba Cloud ECI(Elastic Container Instance) is a service that allow you
run containers without having to manage servers or clusters.

This commit add ECI documents for virtual kubelet.

Signed-off-by: xianwei.zw <xianwei.zw@alibaba-inc.com>
Signed-off-by: shidao.ytt <shidao.ytt@alibaba-inc.com>
2018-09-23 23:29:06 +08:00
shidao-ytt
e9d17c23d3 Add Alibaba Cloud ECI Provider
Alibaba Cloud ECI(Elastic Container Instance) is a service that allow you
run containers without having to manage servers or clusters.

This commit add ECI provider for virtual kubelet, connects ECI with
kubernetes cluster.

Signed-off-by: xianwei.zw <xianwei.zw@alibaba-inc.com>
Signed-off-by: shidao.ytt <shidao.ytt@alibaba-inc.com>
2018-09-23 23:29:06 +08:00
shidao-ytt
101baecc86 Add Alibaba Cloud ECI SDK
Alibaba Cloud ECI(Elastic Container Instance) is a service that allow you
run containers without having to manage servers or clusters.

This commit add ECI sdk for virtual kubelet.

Signed-off-by: xianwei.zw <xianwei.zw@alibaba-inc.com>
Signed-off-by: shidao.ytt <shidao.ytt@alibaba-inc.com>
2018-09-23 23:29:06 +08:00
Brian Goff
74840defdf Fix NPE panic in ACI client
resp is nil when `Do()` has an error.

Also seems there was some gofmt issues in the file.
2018-09-19 18:18:24 -07:00
Ria Bhatia
b8d0b6eb03 Azure readme work arounds (#346)
* workarounds for errors

* cleaned up
2018-09-18 16:03:30 -07:00
Brian Goff
8091b089a2 Plumb context to providers 2018-09-13 13:49:26 -07:00
robbiezhang
0f54e1ed9c Bug fixes 2018-09-07 18:46:49 -07:00
robbiezhang
8d883dcecd Change default CPU limit to 800 2018-09-07 18:46:49 -07:00
robbiezhang
1ee8847bbe Fix the pod uuid 2018-09-07 18:46:49 -07:00
robbiezhang
df90c71875 Add unit tests 2018-09-07 18:46:49 -07:00
robbiezhang
844d8a71d0 Add LogType and Metadata for Log Analytics 2018-09-07 18:46:49 -07:00
robbiezhang
b41c1fee1a fix the extensions 2018-09-07 18:46:49 -07:00
Robbie Zhang
a0fb67f2c0 Add validation 2018-09-07 18:46:49 -07:00
Robbie Zhang
a8acef31ff Fix unit test 2018-09-07 18:46:49 -07:00
Robbie Zhang
169e733adb Adopt ACI Extension and DNSConfig 2018-09-07 18:46:49 -07:00
Robbie Zhang
3ef512349b Update the network api version (#338) 2018-09-07 18:46:49 -07:00
robbiezhang
c0af40bdbd Update the kube-proxy command 2018-09-07 18:46:49 -07:00
robbiezhang
e445f9235c Update the kube-proxy image and command 2018-09-07 18:46:49 -07:00
Robbie Zhang
24ee86f1bb Merge from master (#328)
* Add default provider taint and taint configuration options

This allows for more specificity when setting taint tolerations for
workloads. Three new env variables are introduced:

VKUBELET_TAINT_KEY (defaults to `virtual-kubelet.io/provider`)
VKUBELET_TAINT_VALUE (defaults to provider name)
VKUBELET_TAINT_EFFECT (defaults to `NoSchedule`)

BREAKING CHANGES:
- The default taint key of `azure.com/aci` is now
  `virtual-kubelet.io/provider`.
- Specifying a custom taint key is now done via an environment variable
  rather than the `--taint` command line flag.

* Add back deprecated taint flag

TODO: Revert this commit

Related to #316

* Add darwin tag to not build for osx

* Darwin specific lookup file without cri and vic

* Fix chart notes template (#317)

Values were moved from env to top level.

* If --taint is specified, set the taint value to empty (#322)

Add the old tolerations the examples to make it backward compatible during the switch

* Use standard logging package (#323)

* Update kubelet vendor to pull in stats API

* Add errgroup dep which will be used for ACI stats

* Add supports for stats in ACI provider

This adds a new, optional, interface for providers that want to provide
stats.

* Don't use globals for API server

Refactors how HTTP servers are started and binds them to objects that
can store the provider rather than relying on a global.

* Fix merge conflict

* Fix couple errors
2018-09-07 18:46:49 -07:00
Robbie Zhang
b364af21ea Add the Kube-Proxy Side Car Container and Volume to the container group (#292)
* Add Kube-Proxy Side Car Container

* Add the Kube-Proxy Side Car Container

* Add test

* Bug fix
2018-09-07 18:46:49 -07:00
Robbie Zhang
bac3a585da Fix several bugs in the VNET (#287)
* Add more support regions

* Add kube-proxy sidecar container

* Kube-proxy

* Fix several bugs

* indent
2018-09-07 18:46:49 -07:00