Skip to content
This repository was archived by the owner on Mar 22, 2018. It is now read-only.

Commit ca55453

Browse files
committed
Remove cluster/gce/container-linux dir.
2 parents f7fb904 + 4e867c4 commit ca55453

13 files changed

Lines changed: 309 additions & 96 deletions

File tree

pkg/cloudprovider/providers/openstack/BUILD

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ go_library(
2626
"//pkg/controller:go_default_library",
2727
"//pkg/util/mount:go_default_library",
2828
"//pkg/volume:go_default_library",
29+
"//pkg/volume/util:go_default_library",
2930
"//vendor/github.com/golang/glog:go_default_library",
3031
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
3132
"//vendor/github.com/gophercloud/gophercloud/openstack:go_default_library",
@@ -72,14 +73,15 @@ go_test(
7273
"openstack_routes_test.go",
7374
"openstack_test.go",
7475
],
76+
embed = [":go_default_library"],
7577
importpath = "k8s.io/kubernetes/pkg/cloudprovider/providers/openstack",
76-
library = ":go_default_library",
7778
deps = [
7879
"//pkg/cloudprovider:go_default_library",
7980
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
8081
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers:go_default_library",
8182
"//vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers:go_default_library",
8283
"//vendor/k8s.io/api/core/v1:go_default_library",
84+
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
8385
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
8486
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
8587
"//vendor/k8s.io/apimachinery/pkg/util/rand:go_default_library",

pkg/cloudprovider/providers/openstack/openstack.go

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,22 @@ func mapNodeNameToServerName(nodeName types.NodeName) string {
319319
return string(nodeName)
320320
}
321321

322+
// getNodeNameByID maps instanceid to types.NodeName
323+
func (os *OpenStack) GetNodeNameByID(instanceID string) (types.NodeName, error) {
324+
client, err := os.NewComputeV2()
325+
var nodeName types.NodeName
326+
if err != nil {
327+
return nodeName, err
328+
}
329+
330+
server, err := servers.Get(client, instanceID).Extract()
331+
if err != nil {
332+
return nodeName, err
333+
}
334+
nodeName = mapServerToNodeName(server)
335+
return nodeName, nil
336+
}
337+
322338
// mapServerToNodeName maps an OpenStack Server to a k8s NodeName
323339
func mapServerToNodeName(server *servers.Server) types.NodeName {
324340
// Node names are always lowercase, and (at least)
@@ -346,11 +362,14 @@ func foreachServer(client *gophercloud.ServiceClient, opts servers.ListOptsBuild
346362
return err
347363
}
348364

349-
func getServerByName(client *gophercloud.ServiceClient, name types.NodeName) (*servers.Server, error) {
365+
func getServerByName(client *gophercloud.ServiceClient, name types.NodeName, showOnlyActive bool) (*servers.Server, error) {
350366
opts := servers.ListOpts{
351-
Name: fmt.Sprintf("^%s$", regexp.QuoteMeta(mapNodeNameToServerName(name))),
352-
Status: "ACTIVE",
367+
Name: fmt.Sprintf("^%s$", regexp.QuoteMeta(mapNodeNameToServerName(name))),
368+
}
369+
if showOnlyActive {
370+
opts.Status = "ACTIVE"
353371
}
372+
354373
pager := servers.List(client, opts)
355374

356375
serverList := make([]servers.Server, 0, 1)
@@ -432,7 +451,7 @@ func nodeAddresses(srv *servers.Server) ([]v1.NodeAddress, error) {
432451
}
433452

434453
func getAddressesByName(client *gophercloud.ServiceClient, name types.NodeName) ([]v1.NodeAddress, error) {
435-
srv, err := getServerByName(client, name)
454+
srv, err := getServerByName(client, name, true)
436455
if err != nil {
437456
return nil, err
438457
}
@@ -486,11 +505,6 @@ func (os *OpenStack) ProviderName() string {
486505
return ProviderName
487506
}
488507

489-
// ScrubDNS filters DNS settings for pods.
490-
func (os *OpenStack) ScrubDNS(nameServers, searches []string) ([]string, []string) {
491-
return nameServers, searches
492-
}
493-
494508
// HasClusterID returns true if the cluster has a clusterID
495509
func (os *OpenStack) HasClusterID() bool {
496510
return true
@@ -587,7 +601,7 @@ func (os *OpenStack) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Z
587601
return cloudprovider.Zone{}, err
588602
}
589603

590-
srv, err := getServerByName(compute, nodeName)
604+
srv, err := getServerByName(compute, nodeName, true)
591605
if err != nil {
592606
if err == ErrNotFound {
593607
return cloudprovider.Zone{}, cloudprovider.InstanceNotFound

pkg/cloudprovider/providers/openstack/openstack_instances.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func (os *OpenStack) Instances() (cloudprovider.Instances, bool) {
4343
return nil, false
4444
}
4545

46-
glog.V(1).Info("Claiming to support Instances")
46+
glog.V(4).Info("Claiming to support Instances")
4747

4848
return &Instances{
4949
compute: compute,
@@ -103,7 +103,7 @@ func (i *Instances) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddre
103103

104104
// ExternalID returns the cloud provider ID of the specified instance (deprecated).
105105
func (i *Instances) ExternalID(name types.NodeName) (string, error) {
106-
srv, err := getServerByName(i.compute, name)
106+
srv, err := getServerByName(i.compute, name, true)
107107
if err != nil {
108108
if err == ErrNotFound {
109109
return "", cloudprovider.InstanceNotFound
@@ -151,7 +151,7 @@ func (os *OpenStack) InstanceID() (string, error) {
151151

152152
// InstanceID returns the cloud provider ID of the specified instance.
153153
func (i *Instances) InstanceID(name types.NodeName) (string, error) {
154-
srv, err := getServerByName(i.compute, name)
154+
srv, err := getServerByName(i.compute, name, true)
155155
if err != nil {
156156
if err == ErrNotFound {
157157
return "", cloudprovider.InstanceNotFound
@@ -184,7 +184,7 @@ func (i *Instances) InstanceTypeByProviderID(providerID string) (string, error)
184184

185185
// InstanceType returns the type of the specified instance.
186186
func (i *Instances) InstanceType(name types.NodeName) (string, error) {
187-
srv, err := getServerByName(i.compute, name)
187+
srv, err := getServerByName(i.compute, name, true)
188188

189189
if err != nil {
190190
return "", err

pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go

Lines changed: 76 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ const (
5252
// going into ACTIVE loadbalancer provisioning status. Starting with 1
5353
// seconds, multiplying by 1.2 with each step and taking 19 steps at maximum
5454
// it will time out after 128s, which roughly corresponds to 120s
55-
loadbalancerActiveInitDealy = 1 * time.Second
55+
loadbalancerActiveInitDelay = 1 * time.Second
5656
loadbalancerActiveFactor = 1.2
5757
loadbalancerActiveSteps = 19
5858

5959
// loadbalancerDelete* is configuration of exponential backoff for
6060
// waiting for delete operation to complete. Starting with 1
6161
// seconds, multiplying by 1.2 with each step and taking 13 steps at maximum
6262
// it will time out after 32s, which roughly corresponds to 30s
63-
loadbalancerDeleteInitDealy = 1 * time.Second
63+
loadbalancerDeleteInitDelay = 1 * time.Second
6464
loadbalancerDeleteFactor = 1.2
6565
loadbalancerDeleteSteps = 13
6666

@@ -328,7 +328,7 @@ func getSecurityGroupRules(client *gophercloud.ServiceClient, opts rules.ListOpt
328328

329329
func waitLoadbalancerActiveProvisioningStatus(client *gophercloud.ServiceClient, loadbalancerID string) (string, error) {
330330
backoff := wait.Backoff{
331-
Duration: loadbalancerActiveInitDealy,
331+
Duration: loadbalancerActiveInitDelay,
332332
Factor: loadbalancerActiveFactor,
333333
Steps: loadbalancerActiveSteps,
334334
}
@@ -358,7 +358,7 @@ func waitLoadbalancerActiveProvisioningStatus(client *gophercloud.ServiceClient,
358358

359359
func waitLoadbalancerDeleted(client *gophercloud.ServiceClient, loadbalancerID string) error {
360360
backoff := wait.Backoff{
361-
Duration: loadbalancerDeleteInitDealy,
361+
Duration: loadbalancerDeleteInitDelay,
362362
Factor: loadbalancerDeleteFactor,
363363
Steps: loadbalancerDeleteSteps,
364364
}
@@ -537,7 +537,7 @@ func getSubnetIDForLB(compute *gophercloud.ServiceClient, node v1.Node) (string,
537537
for _, intf := range interfaces {
538538
for _, fixedIP := range intf.FixedIPs {
539539
if fixedIP.IPAddress == ipAddress {
540-
return intf.NetID, nil
540+
return fixedIP.SubnetID, nil
541541
}
542542
}
543543
}
@@ -551,7 +551,7 @@ func getNodeSecurityGroupIDForLB(compute *gophercloud.ServiceClient, nodes []*v1
551551

552552
for _, node := range nodes {
553553
nodeName := types.NodeName(node.Name)
554-
srv, err := getServerByName(compute, nodeName)
554+
srv, err := getServerByName(compute, nodeName, true)
555555
if err != nil {
556556
return nodeSecurityGroupIDs.List(), err
557557
}
@@ -714,7 +714,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
714714
glog.V(2).Infof("LoadBalancer %s already exists", name)
715715
}
716716

717-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
717+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
718+
if err != nil {
719+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
720+
}
718721

719722
lbmethod := v2pools.LBMethod(lbaas.opts.LBMethod)
720723
if lbmethod == "" {
@@ -739,7 +742,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
739742
// Unknown error, retry later
740743
return nil, fmt.Errorf("error creating LB listener: %v", err)
741744
}
742-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
745+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
746+
if err != nil {
747+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
748+
}
743749
}
744750

745751
glog.V(4).Infof("Listener for %s port %d: %s", string(port.Protocol), int(port.Port), listener.ID)
@@ -765,7 +771,11 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
765771
// Unknown error, retry later
766772
return nil, fmt.Errorf("error creating pool for listener %s: %v", listener.ID, err)
767773
}
768-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
774+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
775+
if err != nil {
776+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
777+
}
778+
769779
}
770780

771781
glog.V(4).Infof("Pool for listener %s: %s", listener.ID, pool.ID)
@@ -796,7 +806,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
796806
return nil, fmt.Errorf("error creating LB pool member for node: %s, %v", node.Name, err)
797807
}
798808

799-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
809+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
810+
if err != nil {
811+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
812+
}
800813
} else {
801814
// After all members have been processed, remaining members are deleted as obsolete.
802815
members = popMember(members, addr, int(port.NodePort))
@@ -812,7 +825,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
812825
if err != nil && !isNotFound(err) {
813826
return nil, fmt.Errorf("error deleting obsolete member %s for pool %s address %s: %v", member.ID, pool.ID, member.Address, err)
814827
}
815-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
828+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
829+
if err != nil {
830+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
831+
}
816832
}
817833

818834
monitorID := pool.MonitorID
@@ -828,7 +844,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
828844
if err != nil {
829845
return nil, fmt.Errorf("error creating LB pool healthmonitor: %v", err)
830846
}
831-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
847+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
848+
if err != nil {
849+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
850+
}
832851
monitorID = monitor.ID
833852
} else if lbaas.opts.CreateMonitor == false {
834853
glog.V(4).Infof("Do not create monitor for pool %s when create-monitor is false", pool.ID)
@@ -856,7 +875,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
856875
if err != nil && !isNotFound(err) {
857876
return nil, fmt.Errorf("error deleting obsolete monitor %s for pool %s: %v", monitorID, pool.ID, err)
858877
}
859-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
878+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
879+
if err != nil {
880+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
881+
}
860882
}
861883
// get and delete pool members
862884
members, err := getMembersByPoolID(lbaas.lb, pool.ID)
@@ -870,7 +892,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
870892
if err != nil && !isNotFound(err) {
871893
return nil, fmt.Errorf("error deleting obsolete member %s for pool %s address %s: %v", member.ID, pool.ID, member.Address, err)
872894
}
873-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
895+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
896+
if err != nil {
897+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
898+
}
874899
}
875900
}
876901
glog.V(4).Infof("Deleting obsolete pool %s for listener %s", pool.ID, listener.ID)
@@ -879,14 +904,20 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv
879904
if err != nil && !isNotFound(err) {
880905
return nil, fmt.Errorf("error deleting obsolete pool %s for listener %s: %v", pool.ID, listener.ID, err)
881906
}
882-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
907+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
908+
if err != nil {
909+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
910+
}
883911
}
884912
// delete listener
885913
err = listeners.Delete(lbaas.lb, listener.ID).ExtractErr()
886914
if err != nil && !isNotFound(err) {
887915
return nil, fmt.Errorf("error deleteting obsolete listener: %v", err)
888916
}
889-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
917+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
918+
if err != nil {
919+
return nil, fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
920+
}
890921
glog.V(2).Infof("Deleted obsolete listener: %s", listener.ID)
891922
}
892923

@@ -1222,7 +1253,10 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *v1.Service
12221253
if err != nil {
12231254
return err
12241255
}
1225-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1256+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1257+
if err != nil {
1258+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1259+
}
12261260
}
12271261

12281262
// Remove any old members for this port
@@ -1235,7 +1269,10 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *v1.Service
12351269
if err != nil && !isNotFound(err) {
12361270
return err
12371271
}
1238-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1272+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1273+
if err != nil {
1274+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1275+
}
12391276
}
12401277
}
12411278

@@ -1341,7 +1378,7 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13411378
return nil
13421379
}
13431380

1344-
if loadbalancer != nil && loadbalancer.VipPortID != "" {
1381+
if loadbalancer.VipPortID != "" {
13451382
portID := loadbalancer.VipPortID
13461383
floatingIP, err := getFloatingIPByPortID(lbaas.network, portID)
13471384
if err != nil && err != ErrNotFound {
@@ -1396,7 +1433,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13961433
if err != nil && !isNotFound(err) {
13971434
return err
13981435
}
1399-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1436+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1437+
if err != nil {
1438+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1439+
}
14001440
}
14011441

14021442
// delete all members and pools
@@ -1407,15 +1447,21 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
14071447
if err != nil && !isNotFound(err) {
14081448
return err
14091449
}
1410-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1450+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1451+
if err != nil {
1452+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1453+
}
14111454
}
14121455

14131456
// delete pool
14141457
err := v2pools.Delete(lbaas.lb, poolID).ExtractErr()
14151458
if err != nil && !isNotFound(err) {
14161459
return err
14171460
}
1418-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1461+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1462+
if err != nil {
1463+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1464+
}
14191465
}
14201466

14211467
// delete all listeners
@@ -1424,15 +1470,21 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
14241470
if err != nil && !isNotFound(err) {
14251471
return err
14261472
}
1427-
waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1473+
provisioningStatus, err := waitLoadbalancerActiveProvisioningStatus(lbaas.lb, loadbalancer.ID)
1474+
if err != nil {
1475+
return fmt.Errorf("failed to loadbalance ACTIVE provisioning status %v: %v", provisioningStatus, err)
1476+
}
14281477
}
14291478

14301479
// delete loadbalancer
14311480
err = loadbalancers.Delete(lbaas.lb, loadbalancer.ID).ExtractErr()
14321481
if err != nil && !isNotFound(err) {
14331482
return err
14341483
}
1435-
waitLoadbalancerDeleted(lbaas.lb, loadbalancer.ID)
1484+
err = waitLoadbalancerDeleted(lbaas.lb, loadbalancer.ID)
1485+
if err != nil {
1486+
return fmt.Errorf("failed to delete loadbalancer: %v", err)
1487+
}
14361488

14371489
// Delete the Security Group
14381490
if lbaas.opts.ManageSecurityGroups {

0 commit comments

Comments
 (0)