63 Commits

Author SHA1 Message Date
Vipin Duleb
bab9c59ac8 GPU support in ACI provider (#563)
* GPU support in ACI provider
2019-04-02 18:11:35 -07:00
Brian Goff
d19e8e5e27 Move aci client (#531)
* Add azure-aci client dep

* Use aci client from new repo
2019-02-25 17:15:25 -08:00
Brian Goff
1bfffa975e Make tracing interface to coalesce logging/tracing (#519)
* Define and use an interface for logging.

This allows alternative implementations to use whatever logging package
they want.

Currently the interface just mimicks what logrus already implements,
with minor modifications to not rely on logrus itself. I think the
interface is pretty solid in terms of logging implementations being able
to do what they need to.

* Make tracing interface to coalesce logging/tracing

Allows us to share data between the tracer and the logger so we can
simplify log/trace handling wher we generally want data to go both
places.
2019-02-22 11:36:03 -08:00
Robbie Zhang
b44d5b9f22 Add the new ACI regions (#487) 2019-01-07 16:22:53 -08:00
Robbie Zhang
f7afeba12e Remove the Restriction that No NSG should be set on the Subnet (#478) 2018-12-27 16:35:38 -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
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
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
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
Robbie Zhang
05595835f1 Make default waiting reason to be Creating (#372) 2018-10-10 10:40:41 -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
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
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
Robbie Zhang
a0fb67f2c0 Add validation 2018-09-07 18:46:49 -07:00
Robbie Zhang
169e733adb Adopt ACI Extension and DNSConfig 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
Brian Goff
25e454d18f Add API client for Azure custom vnet (#271)
* Update vendor for azure vent support

* Add support for Azure custom vnets.

Use pointers intead of values. This allows the client to pass back
returned data from Azure.
2018-09-07 18:46:49 -07:00
Robbie Zhang
55bc0c3f75 Add ContainerID into the ContainerStatus (#337) 2018-08-27 15:38:14 -07:00
Brian Goff
e8abca0ac9 Add supports for stats in ACI provider
This adds a new, optional, interface for providers that want to provide
stats.
2018-08-17 17:03:25 -07:00
Brian Goff
1e774a32b3 Use standard logging package (#323) 2018-08-17 16:50:24 -07:00
Ameer Deen
9f07768875 Added centralus, eastus2, australiaeast to Azure ACI provide (#310)
* Added centralus, eastus2,  australiaeast to match valid aci regions as [documented](https://azure.microsoft.com/en-gb/global-infrastructure/services/)

* Added ',' to end of array

* Trigger build
2018-08-13 10:27:57 -07:00
Jeremy Rickard
a1677ce5e0 Update ACI provider to handle empty environment variables (#297) 2018-08-06 10:55:40 -07:00
Jeremy Rickard
a4d8f74c7d Enabling Liveness and Readiness Probes in ACI Provider (#280)
* Enabling Liveness and Readiness Probes in ACI Provider

* Adding a check to ensure both exec and httpGet are not provided
2018-07-30 13:38:36 -07:00
Rohan Chakravarthy
13fbd5c38e use secure value in ACI for secrets (#276)
* use secure value in ACI for secrets

* add tests for env variable conversion
2018-07-30 11:44:41 -07:00
Rohan Chakravarthy
ef6ae9ecf4 Plumb through log analytics values (#274)
* plumb through log analytics values

* add option to specify a log analytics file as well

* use secret for log analytics
2018-07-25 12:37:26 -07:00
Eric Jadi
89921a08c1 Added clean exec functionality + ACI implementation - V2 (#244)
* Stubs and vkubelet changes

* added dependencies

* Azure provider exec implementation

* added missing dependencies

* added vkubelet imports

* added huawei exec stub

* Fixed exec tab functionality / stdin buffer length

* Removed unused import

* Added provider function GetPodFullName + ACI implementation

* Added error handling in ACI provider exec
2018-07-06 14:12:05 -07:00
Robbie Zhang
e1fa5b03af [Azure] Increase the Default Node Quota for ACI (#240)
* Increase the default quota for ACI provider

* VK update the node capcity

* VK update node IP addresses
2018-06-25 11:08:49 -07:00
Anthony Chu
5286869440 Fix Azure File secret names to match k8s azureFile volume secrets (#224)
https://docs.microsoft.com/en-us/azure/aks/azure-files-volume#create-kubernetes-secret
2018-06-11 14:42:43 -07:00
Robbie Zhang
f6835d9e89 [Azure] Fix the Resource.Requests/Limits Parsing Issue (#183)
* Fix the Resource.Requests/Limits Parsing Issue

* Do not run test in docker build
2018-04-30 17:21:15 -07:00
Robbie Zhang
228a1f7a5f [Azure] Make Resoures.Limits Optional (#175)
* Make Resources.Limits Optional

* Remove the accuracy check of the resources.limits
2018-04-27 10:27:40 -07:00
Amit Kumar
71ec511ba0 Adding northeurope as valid region for Azure. (#176)
Per the GA announcement of ACI, northerope is supported as well.
https://azure.microsoft.com/en-us/updates/aci-ga/
2018-04-26 10:22:24 -07:00
Eric Jadi
372451fa32 kubelet now returns PodConditions based on aciState (#147)
Fix for https://github.com/virtual-kubelet/virtual-kubelet/issues/136
2018-04-24 09:37:33 -07:00
Robbie Zhang
2b85b0d1df Fill in Default Values for CPU/Memory (#130)
Update k8s client and the dependencies
ACI client change for Mocking
Add ACI Provider Mock Tests
Add the Windows development environment
Add UT for Default Resource Requests
Enable the make test in Docker file
Update the vendors
2018-04-16 10:31:16 -07:00
Bhargav Nookala
a8036659e4 Handling dockerconfigjson format for image pull secrets (#120)
The test failure is not related to the change.
2018-03-22 12:04:19 -07:00
Bhargav Nookala
6f748f4375 Adding support for ACI DNS name labels (#97) 2018-02-23 14:06:23 -08:00
Bhargav Nookala
a99f2d08c1 Adding supported regions for Azure Provider (#92) 2018-02-14 11:14:20 -08:00
Robbie Zhang
f4ebbfc7a3 [Azure] Optimize VK Setup in ACS/AKS (#85)
* Read ACS Credentials for Azure Authentication

Supprt a new environment variable: ACS_CREDENTIAL_LOCATION
Expect the value to be the ACS credential filepath, which is the
/etc/kubernetes/azure.json file generated on the ACS nodes.

If the ACS_CREDENTIAL_LOCATION is specified and loaded,
create the Azure Authentication class from its values.

If the AZURE_AUTHENTICATION_LOCATION is specified and loaded,
its values will overwrite the value above.

Refactor the ACI provider and ACI client to be able to override the SPN by environment variable
2018-02-13 19:07:27 -08:00
chshou
d23ac6679c append args (#89)
LGTM.
2018-02-08 14:20:35 -08:00