Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
f7db5f7a
Commit
f7db5f7a
authored
Apr 15, 2019
by
Pengfei Ni
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace vmss update API with instance-level update API
parent
c27ff9a1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
21 additions
and
39 deletions
+21
-39
azure_client.go
pkg/cloudprovider/providers/azure/azure_client.go
+0
-25
azure_fakes.go
pkg/cloudprovider/providers/azure/azure_fakes.go
+5
-1
azure_loadbalancer.go
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
+3
-3
azure_standard.go
pkg/cloudprovider/providers/azure/azure_standard.go
+8
-8
azure_vmsets.go
pkg/cloudprovider/providers/azure/azure_vmsets.go
+5
-2
azure_vmss.go
pkg/cloudprovider/providers/azure/azure_vmss.go
+0
-0
No files found.
pkg/cloudprovider/providers/azure/azure_client.go
View file @
f7db5f7a
...
...
@@ -89,7 +89,6 @@ type SecurityGroupsClient interface {
// VirtualMachineScaleSetsClient defines needed functions for azure compute.VirtualMachineScaleSetsClient
type
VirtualMachineScaleSetsClient
interface
{
CreateOrUpdate
(
ctx
context
.
Context
,
resourceGroupName
string
,
VMScaleSetName
string
,
parameters
compute
.
VirtualMachineScaleSet
)
(
resp
*
http
.
Response
,
err
error
)
Get
(
ctx
context
.
Context
,
resourceGroupName
string
,
VMScaleSetName
string
)
(
result
compute
.
VirtualMachineScaleSet
,
err
error
)
List
(
ctx
context
.
Context
,
resourceGroupName
string
)
(
result
[]
compute
.
VirtualMachineScaleSet
,
err
error
)
UpdateInstances
(
ctx
context
.
Context
,
resourceGroupName
string
,
VMScaleSetName
string
,
VMInstanceIDs
compute
.
VirtualMachineScaleSetVMInstanceRequiredIDs
)
(
resp
*
http
.
Response
,
err
error
)
...
...
@@ -835,30 +834,6 @@ func newAzVirtualMachineScaleSetsClient(config *azClientConfig) *azVirtualMachin
}
}
func
(
az
*
azVirtualMachineScaleSetsClient
)
CreateOrUpdate
(
ctx
context
.
Context
,
resourceGroupName
string
,
VMScaleSetName
string
,
parameters
compute
.
VirtualMachineScaleSet
)
(
resp
*
http
.
Response
,
err
error
)
{
/* Write rate limiting */
if
!
az
.
rateLimiterWriter
.
TryAccept
()
{
err
=
createRateLimitErr
(
true
,
"VMSSCreateOrUpdate"
)
return
}
klog
.
V
(
10
)
.
Infof
(
"azVirtualMachineScaleSetsClient.CreateOrUpdate(%q,%q): start"
,
resourceGroupName
,
VMScaleSetName
)
defer
func
()
{
klog
.
V
(
10
)
.
Infof
(
"azVirtualMachineScaleSetsClient.CreateOrUpdate(%q,%q): end"
,
resourceGroupName
,
VMScaleSetName
)
}()
mc
:=
newMetricContext
(
"vmss"
,
"create_or_update"
,
resourceGroupName
,
az
.
client
.
SubscriptionID
)
future
,
err
:=
az
.
client
.
CreateOrUpdate
(
ctx
,
resourceGroupName
,
VMScaleSetName
,
parameters
)
mc
.
Observe
(
err
)
if
err
!=
nil
{
return
future
.
Response
(),
err
}
err
=
future
.
WaitForCompletionRef
(
ctx
,
az
.
client
.
Client
)
mc
.
Observe
(
err
)
return
future
.
Response
(),
err
}
func
(
az
*
azVirtualMachineScaleSetsClient
)
Get
(
ctx
context
.
Context
,
resourceGroupName
string
,
VMScaleSetName
string
)
(
result
compute
.
VirtualMachineScaleSet
,
err
error
)
{
if
!
az
.
rateLimiterReader
.
TryAccept
()
{
err
=
createRateLimitErr
(
false
,
"VMSSGet"
)
...
...
pkg/cloudprovider/providers/azure/azure_fakes.go
View file @
f7db5f7a
...
...
@@ -902,7 +902,11 @@ func (f *fakeVMSet) EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, bac
return
fmt
.
Errorf
(
"unimplemented"
)
}
func
(
f
*
fakeVMSet
)
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
poolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
{
func
(
f
*
fakeVMSet
)
EnsureHostInPool
(
service
*
v1
.
Service
,
nodeName
types
.
NodeName
,
backendPoolID
string
,
vmSetName
string
,
isInternal
bool
)
error
{
return
fmt
.
Errorf
(
"unimplemented"
)
}
func
(
f
*
fakeVMSet
)
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
backendPoolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
{
return
fmt
.
Errorf
(
"unimplemented"
)
}
...
...
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
View file @
f7db5f7a
...
...
@@ -829,13 +829,13 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
// Remove backend pools from vmSets. This is required for virtual machine scale sets before removing the LB.
vmSetName
:=
az
.
mapLoadBalancerNameToVMSet
(
lbName
,
clusterName
)
klog
.
V
(
10
)
.
Infof
(
"EnsureBackendPoolDeleted(%s,
%s): start"
,
lbBackendPoolID
,
vmSet
Name
)
klog
.
V
(
10
)
.
Infof
(
"EnsureBackendPoolDeleted(%s,
%s) for service %s: start"
,
lbBackendPoolID
,
vmSetName
,
service
Name
)
err
:=
az
.
vmSet
.
EnsureBackendPoolDeleted
(
service
,
lbBackendPoolID
,
vmSetName
,
lb
.
BackendAddressPools
)
if
err
!=
nil
{
klog
.
Errorf
(
"EnsureBackendPoolDeleted(%s
, %s) failed: %v"
,
lbBackendPoolID
,
vmSet
Name
,
err
)
klog
.
Errorf
(
"EnsureBackendPoolDeleted(%s
) for service %s failed: %v"
,
lbBackendPoolID
,
service
Name
,
err
)
return
nil
,
err
}
klog
.
V
(
10
)
.
Infof
(
"EnsureBackendPoolDeleted(%s
, %s): end"
,
lbBackendPoolID
,
vmSet
Name
)
klog
.
V
(
10
)
.
Infof
(
"EnsureBackendPoolDeleted(%s
) for service %s: end"
,
lbBackendPoolID
,
service
Name
)
// Remove the LB.
klog
.
V
(
10
)
.
Infof
(
"reconcileLoadBalancer: az.DeleteLB(%q): start"
,
lbName
)
...
...
pkg/cloudprovider/providers/azure/azure_standard.go
View file @
f7db5f7a
...
...
@@ -622,24 +622,24 @@ func (as *availabilitySet) getPrimaryInterfaceWithVMSet(nodeName, vmSetName stri
return
nic
,
nil
}
//
e
nsureHostInPool ensures the given VM's Primary NIC's Primary IP Configuration is
//
E
nsureHostInPool ensures the given VM's Primary NIC's Primary IP Configuration is
// participating in the specified LoadBalancer Backend Pool.
func
(
as
*
availabilitySet
)
e
nsureHostInPool
(
service
*
v1
.
Service
,
nodeName
types
.
NodeName
,
backendPoolID
string
,
vmSetName
string
,
isInternal
bool
)
error
{
func
(
as
*
availabilitySet
)
E
nsureHostInPool
(
service
*
v1
.
Service
,
nodeName
types
.
NodeName
,
backendPoolID
string
,
vmSetName
string
,
isInternal
bool
)
error
{
vmName
:=
mapNodeNameToVMName
(
nodeName
)
serviceName
:=
getServiceName
(
service
)
nic
,
err
:=
as
.
getPrimaryInterfaceWithVMSet
(
vmName
,
vmSetName
)
if
err
!=
nil
{
if
err
==
errNotInVMSet
{
klog
.
V
(
3
)
.
Infof
(
"
e
nsureHostInPool skips node %s because it is not in the vmSet %s"
,
nodeName
,
vmSetName
)
klog
.
V
(
3
)
.
Infof
(
"
E
nsureHostInPool skips node %s because it is not in the vmSet %s"
,
nodeName
,
vmSetName
)
return
nil
}
klog
.
Errorf
(
"error: az.
e
nsureHostInPool(%s), az.vmSet.GetPrimaryInterface.Get(%s, %s), err=%v"
,
nodeName
,
vmName
,
vmSetName
,
err
)
klog
.
Errorf
(
"error: az.
E
nsureHostInPool(%s), az.vmSet.GetPrimaryInterface.Get(%s, %s), err=%v"
,
nodeName
,
vmName
,
vmSetName
,
err
)
return
err
}
if
nic
.
ProvisioningState
!=
nil
&&
*
nic
.
ProvisioningState
==
nicFailedState
{
klog
.
V
(
3
)
.
Infof
(
"e
nsureHostInPool skips node %s because its primary nic %s is in Failed state"
,
nodeName
,
*
nic
.
Name
)
klog
.
Warningf
(
"E
nsureHostInPool skips node %s because its primary nic %s is in Failed state"
,
nodeName
,
*
nic
.
Name
)
return
nil
}
...
...
@@ -716,7 +716,7 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No
}
f
:=
func
()
error
{
err
:=
as
.
e
nsureHostInPool
(
service
,
types
.
NodeName
(
localNodeName
),
backendPoolID
,
vmSetName
,
isInternal
)
err
:=
as
.
E
nsureHostInPool
(
service
,
types
.
NodeName
(
localNodeName
),
backendPoolID
,
vmSetName
,
isInternal
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"ensure(%s): backendPoolID(%s) - failed to ensure host in pool: %q"
,
getServiceName
(
service
),
backendPoolID
,
err
)
}
...
...
@@ -733,8 +733,8 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No
return
nil
}
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified
vmSet
.
func
(
as
*
availabilitySet
)
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
p
oolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
{
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified
nodes
.
func
(
as
*
availabilitySet
)
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
backendP
oolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
{
// Do nothing for availability set.
return
nil
}
...
...
pkg/cloudprovider/providers/azure/azure_vmsets.go
View file @
f7db5f7a
...
...
@@ -57,8 +57,11 @@ type VMSet interface {
// EnsureHostsInPool ensures the given Node's primary IP configurations are
// participating in the specified LoadBalancer Backend Pool.
EnsureHostsInPool
(
service
*
v1
.
Service
,
nodes
[]
*
v1
.
Node
,
backendPoolID
string
,
vmSetName
string
,
isInternal
bool
)
error
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified vmSet.
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
poolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
// EnsureHostInPool ensures the given VM's Primary NIC's Primary IP Configuration is
// participating in the specified LoadBalancer Backend Pool.
EnsureHostInPool
(
service
*
v1
.
Service
,
nodeName
types
.
NodeName
,
backendPoolID
string
,
vmSetName
string
,
isInternal
bool
)
error
// EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes.
EnsureBackendPoolDeleted
(
service
*
v1
.
Service
,
backendPoolID
,
vmSetName
string
,
backendAddressPools
*
[]
network
.
BackendAddressPool
)
error
// AttachDisk attaches a vhd to vm. The vhd must exist, can be identified by diskName, diskURI, and lun.
AttachDisk
(
isManagedDisk
bool
,
diskName
,
diskURI
string
,
nodeName
types
.
NodeName
,
lun
int32
,
cachingMode
compute
.
CachingTypes
)
error
...
...
pkg/cloudprovider/providers/azure/azure_vmss.go
View file @
f7db5f7a
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment