Commit Graph

59 Commits

Author SHA1 Message Date
Benjamin Elder
5a3301a59d s/nolegacyproviders/providerless/ 2019-08-22 15:30:56 -07:00
Benjamin Elder
678d3f2841 add build tags to legacy provider code and make it possible to build kube-controller-manager without any legacyproviders or without particular legacy providers 2019-08-22 14:53:35 -07:00
Hemant Kumar
596d5f7983 Fix event when Cinder volume can not be expanded when in-use 2019-08-13 14:46:30 -04:00
Jan Safranek
0b8abdaa1d Fix detachment of deleted volumes
Volumes that were attached to nodes and were forcefuly deleted by admin
should be considered as detached.
2019-07-24 10:44:41 +02:00
Hemant Kumar
7a46b30a7a Allow cinder volume limits to be configurable 2019-02-25 16:09:24 -05:00
Andrew Kim
a62ee8b0a9 clean up volume rounding functions and move to k8s.io/cloud-provider/volume 2019-02-09 01:16:55 -05:00
Andrew Kim
ca6a051b00 remove cloud provider dependencies to pkg/volume
Co-authored-by: Weibin Lin <linweibin1@huawei.com>
2019-02-09 01:16:55 -05:00
Davanum Srinivas
b975573385 move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Davanum Srinivas
55a8dbcbfb Update to latest gophercloud
Change-Id: I0145b899576f76e7116152fee978bc04b05080f8
2019-01-30 11:46:17 -05:00
Davanum Srinivas
954996e231 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Martin Vladev
3b0ddbf07e fix openstack provider to handle only Cinder volumes
When the cloud-controller-manager is running with PV label initializing controller
and NFS volume is created, it causes nill reference error.

related to #68996
2018-10-31 01:58:14 +02:00
Walter Fender
f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
Tardis Xu
f2b0bb9073 Fix that fails to resize pvc of cinder volume. 2018-07-27 16:36:53 +08:00
Matthew Wong
093e231289 Avoid overflowing int64 in RoundUpSize and return error if overflow int 2018-07-23 13:48:45 -04:00
Seungcheol Ko
1df1181b4f Add region label to dynamic provisioned cinder PVs 2018-07-09 23:24:11 +09:00
Kubernetes Submit Queue
27045d3fcd Merge pull request #61082 from wenlxie/githubupstream.master.ignorevolumeerrorstatus
Automatic merge from submit-queue (batch tested with PRs 61549, 62230, 62055, 61082, 62212). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

don't do attach and deatch when cinder volume status is error

When cinder volume status is `error`, it is not supposed to handle operation like `attach` and `detach`

@dims  @FengyunPan2

```release-note
cinder volume plugin : 
When the cinder volume status is `error`,  controller will not do `attach ` and `detach ` operation
```
2018-04-10 18:19:16 -07:00
Kubernetes Submit Queue
aeec2953d1 Merge pull request #59931 from zetaab/shutdoos
Automatic merge from submit-queue (batch tested with PRs 60189, 59542, 59931, 60621, 60353). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

do not delete node in openstack, if those still exist in cloudprovider

**What this PR does / why we need it**: Deleting nodes in kubernetes cluster causes problems. It will lead to situations like labels and taints are missing from nodes when node will return online.

**Which issue(s) this PR fixes**:


**Special notes for your reviewer**:

```release-note
Nodes are not deleted from kubernetes anymore if node is shutdown in Openstack.
```
2018-03-20 00:42:12 -07:00
wenlxie
ecfe25d57d don't do attach and deatch when volume status is error 2018-03-13 13:42:23 +08:00
Jesse Haka
b1d1b4f811 remove filtering by instance state 2018-03-01 00:16:47 +02:00
wackxu
f737ad62ed update import 2018-02-27 20:23:35 +08:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
Walter Fender
e18e8ec3c0 Add context to all relevant cloud APIs
This adds context to all the relevant cloud provider interface signatures.
Callers of those APIs are currently satisfied using context.TODO().
There will be follow on PRs to push the context through the stack.
For an idea of the full scope of this change please look at PR #58532.
2018-02-06 12:49:17 -08:00
Davanum Srinivas
73b46ff7db Fix golint for openstack and cinder packages 2018-02-04 17:15:32 -05:00
edisonxiang
9326e845e4 Support GetLabelsForVolume In OpenStack 2018-01-30 09:45:55 +08:00
Tomas Smetana
11081acd86 Openstack: Fill size attribute for the V3 API volumes
The getVolume method in OpenStack provider is not
filling the Size for the V3 API type volumes. This
breaks the PV resizing of Cinder volumes.
2018-01-23 13:10:17 +01:00
Jesse Haka
4e1b5c6a32 move detach out of os volumes attach
add test

add test

fix bazel

fix tests

change loglevel, remove else statement
2018-01-10 19:09:32 +02:00
Jesse Haka
bac270533e use danglingerror
add getNodeNameByID and use volume.AttachedDevice as devicepath

use uppercase functionname

do not delete automatically nodes if node is shutdowned in openstack

do not delete node

fix gofmt

fix cinder detach if instance is not in active state

fix gofmt
2018-01-07 18:50:42 +02:00
Kubernetes Submit Queue
01c3f7f85b Merge pull request #56546 from wenlxie/githubupstream.master.fixdiskareattachedbug
Automatic merge from submit-queue (batch tested with PRs 56337, 56546, 56550, 56633, 56635). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

should check the return value of os.DiskIsAttached

This fix is for  issue: https://github.com/kubernetes/kubernetes/issues/56455
2017-12-16 01:53:46 -08:00
wenlxie
e80dcba297 should check the return value of os.DiskIsAttached 2017-11-29 13:02:27 +08:00
FengyunPan
f95ac1c87a Support VolumeV3 for OpenStack cloud Provider 2017-11-22 16:45:38 +08:00
NickrenREN
af108fb938 implement cinder resize 2017-11-21 15:55:49 +08:00
Lucian Petrut
559f83a93d openstack: fetch volume path from metadata service
The OpenStack cloud provider retrieves mounted Cinder volume paths
by looking in /dev/disk/by-id, expecting the disk serial IDs (e.g.
SCSI ID) to include the volume ID.

The issue is that not all hypervisors are able to expose this.
For example, Hyper-V will just preserve the original Cinder volume
lun SCSI ID (without setting the volume id). For this reason,
disk path lookups will fail.

In order to be able to leverage Hyper-V based OpenStack providers,
as a fallback, we're querying the metadata service, searching for
disk device metadata. Note that starting with Nova Queens, the Hyper-V
driver always provides disk address information through the instance
metadata.
2017-11-09 12:36:18 +02:00
NickrenREN
8af03d0fae let the caller log error message 2017-10-23 11:12:04 +08:00
Kubernetes Submit Queue
e8ee831abf Merge pull request #53588 from NickrenREN/openstack-deletevolume
Automatic merge from submit-queue (batch tested with PRs 52662, 53547, 53588, 53573, 53599). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Return err when delete volume failed

Return err when delete volume failed

**Release note**:
```release-note
NONE
```

/kind bug
/sig openstack
2017-10-09 12:51:19 -07:00
NickrenREN
dca4732145 Return err when delete volume failed 2017-10-09 21:32:45 +08:00
Jesse Haka
e45457b0d8 add possibility to ignore volume label in dynamic provisioning
ignorelabel -> addlabel

FIX tests

small fix to test

fixes according what was asked

fix test

fix test
2017-10-09 09:52:42 +03:00
jianglingxia
437f4640ca fix typo about volumes 2017-08-29 18:57:57 +08:00
Kubernetes Submit Queue
702f23e977 Merge pull request #50208 from FengyunPan/fix-volume-detach
Automatic merge from submit-queue

Ignore the available volume when calling DetachDisk

Fix #50207
If user detachs the volume by nova in openstack env, volume becomes
available. If nova instance is been deleted, nova will detach it
automatically and become available. So the "available" is fine since that means the
volume is detached from instance already.

**Release note**:
```release-note
NONE
```
2017-08-08 01:47:36 -07:00
FengyunPan
48db05166a Ignore the available volume when calling DetachDisk
If use detachs the volume by nova in openstack env, volume becomes
available. If nova instance is been deleted, nova will detach it
automatically. So the "available" is fine since that means the
volume is detached from instance already.
2017-08-07 17:11:40 +08:00
Jing Xu
8ffc361564 AttachDisk should not call detach inside of Cinder volume provider
This PR fixes #50038 which removes the detach call inside of AttachDisk.
2017-08-02 14:35:39 -07:00
Huamin Chen
4d4bdf11de refactor and export openstack service clients
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-05-31 00:36:33 +00:00
Jamie Hannaford
4bd71a3b77 Refactor to use Volume IDs and remove ambiguity 2017-05-24 12:59:16 +02:00
NickrenREN
18852c58c1 Recording openstack metrics
add openstack operation metrics
Add support for emitting metrics from openstack cloudprovider about storage operations.
2017-05-22 10:47:08 +08:00
FengyunPan
4a6e1f2a1d Don't return err when volume's status is 'attaching'
When volume's status is 'attaching', its attachments will be None,
controllermanager can't get device path and make some failed event.
But it is normal, let's fix it.
2017-05-12 19:53:50 +08:00
Jesse Haka
66e49eecca add possibility to leave AZ empty, and it will automatically generate zone for it
update bazel

fix gofmt

make getzones function lowercase

add az to log
2017-05-03 16:37:20 +03:00
Kubernetes Submit Queue
cdc0cbdac4 Merge pull request #41498 from mikebryant/cinder-virtio-scsi
Automatic merge from submit-queue

cinder: Add support for the KVM virtio-scsi driver

**What this PR does / why we need it**:

The VirtIO SCSI driver for KVM changes the way disks appear in /dev/disk/by-id.
This adds support for the new format.
Without this, volume attaching on an openstack cluster using this kvm driver doesn't work

**Special notes for your reviewer**:
Does this need e2e tests? I couldn't find anywhere to add another openstack configuration used in the e2e tests.

Wiki page about this: https://wiki.openstack.org/wiki/Virtio-scsi-for-bdm

**Release note**:

```release-note
cinder: Add support for the KVM virtio-scsi driver
```
2017-04-21 01:55:23 -07:00
Jesse Haka
5aad93abf5 fix format 2017-04-08 11:08:08 +03:00
Jesse Haka
2fb9fc4647 use AvailabilityZone instead of Availability 2017-04-08 10:51:49 +03:00
Maxym Kutsevol
2c05bb5336 Support for v1/v2/autoprobe openstack cinder blockstorage
Support for cinder v1/v2 api with the new gophercloud/gophercloud
library. API version is configurable and defaulting autodetection.
2017-03-21 20:46:03 +02:00
Angus Lees
c077c30004 Migrate rackspace/gophercloud -> gophercloud/gophercloud
This change migrates the 'openstack' provider and 'keystone'
authenticator plugin to the newer gophercloud/gophercloud library.

Note the 'rackspace' provider still uses rackspace/gophercloud.

Fixes #30404
2017-02-20 11:03:05 +11:00