Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(439)

Issue 73910043: provider/azure: enable load-balancing/availability

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 1 month ago by axw
Modified:
10 years, 1 month ago
Reviewers:
mp+210353, thumper, fwereade, rog
Visibility:
Public.

Description

provider/azure: enable load-balancing/availability This change is required to enable Availability Set support for Azure. The existing implementation was fundamentally incompatible with Availability Sets, so the implementation has been significantly altered, while maintaining backwards compatibility. In the old implementation, instances are associated one-to-one with Cloud Services. In the new implementation, instances are associated with Roles within a Cloud Service; there may be multiple Roles within a single Cloud Service. If a service is exposed, then its ports will be load- balanced across each instance within the cloud service which opens that port. We currently open ports 22 for all instances, and the Mongo and API server ports for state server instances. State server instances are allocated to a single Cloud Service. There are a number of incidental improvements, e.g. using an updated version of DeleteHostedService which destroys associated disks/blobs server side. All instances are now allocated to an Availability Set called "juju", which is scoped to the Cloud Service. We do not currently group units into Cloud Services automatically, however the ground work is laid to do this. A follow-up will implement this work. When we enable grouping, the same time we will have to make changes to how we connect to machines via SSH, either by proxying through an arbitrary machine in the Cloud Service, or by not load balancing port 22 and connecting to the machine's auto-allocated public port. https://code.launchpad.net/~axwalk/juju-core/azure-provider-roleisinstance/+merge/210353 (do not edit description out of merge proposal)

Patch Set 1 #

Patch Set 2 : provider/azure: enable load-balancing/availability #

Total comments: 15

Patch Set 3 : provider/azure: enable load-balancing/availability #

Total comments: 16

Patch Set 4 : provider/azure: enable load-balancing/availability #

Total comments: 3

Patch Set 5 : provider/azure: enable load-balancing/availability #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1126 lines, -918 lines) Patch
A [revision details] View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M dependencies.tsv View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M provider/azure/environ.go View 1 2 3 17 chunks +420 lines, -176 lines 0 comments Download
M provider/azure/environ_test.go View 1 2 3 21 chunks +321 lines, -241 lines 0 comments Download
M provider/azure/instance.go View 1 2 3 4 9 chunks +133 lines, -146 lines 0 comments Download
M provider/azure/instance_test.go View 1 2 3 7 chunks +249 lines, -354 lines 0 comments Download

Messages

Total messages: 10
axw
Please take a look.
10 years, 1 month ago (2014-03-12 13:28:32 UTC) #1
thumper
Lots of changes here, comments below. I'm hoping that CI for Azure would help catch ...
10 years, 1 month ago (2014-03-13 04:15:05 UTC) #2
axw
Please take a look. https://codereview.appspot.com/73910043/diff/20001/provider/azure/environ.go File provider/azure/environ.go (right): https://codereview.appspot.com/73910043/diff/20001/provider/azure/environ.go#newcode443 provider/azure/environ.go:443: func (env *azureEnviron) createRole(azure *gwacl.ManagementAPI, ...
10 years, 1 month ago (2014-03-13 04:48:27 UTC) #3
fwereade
pre-comment for discussion https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go File provider/azure/environ.go (right): https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go#newcode554 provider/azure/environ.go:554: if machineConfig.StateServer { oooh, this is ...
10 years, 1 month ago (2014-03-19 09:54:08 UTC) #4
rog
LGTM with some thoughts and suggestions below. https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go File provider/azure/environ.go (right): https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go#newcode407 provider/azure/environ.go:407: labelBase64 := ...
10 years, 1 month ago (2014-03-19 11:44:35 UTC) #5
axw
https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go File provider/azure/environ.go (right): https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go#newcode554 provider/azure/environ.go:554: if machineConfig.StateServer { On 2014/03/19 09:54:08, fwereade wrote: > ...
10 years, 1 month ago (2014-03-19 11:54:31 UTC) #6
axw
Oops, never did mail this. https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go File provider/azure/environ.go (right): https://codereview.appspot.com/73910043/diff/40001/provider/azure/environ.go#newcode407 provider/azure/environ.go:407: labelBase64 := base64.StdEncoding.EncodeToString([]byte(label)) On ...
10 years, 1 month ago (2014-04-03 02:42:43 UTC) #7
axw
Please take a look.
10 years, 1 month ago (2014-04-03 07:19:42 UTC) #8
fwereade
Thanks, this is great. LGTM. https://codereview.appspot.com/73910043/diff/60001/provider/azure/instance.go File provider/azure/instance.go (right): https://codereview.appspot.com/73910043/diff/60001/provider/azure/instance.go#newcode56 provider/azure/instance.go:56: // TODO(axw) map instance ...
10 years, 1 month ago (2014-04-03 07:31:15 UTC) #9
axw
10 years, 1 month ago (2014-04-03 07:39:07 UTC) #10
Please take a look.

https://codereview.appspot.com/73910043/diff/60001/provider/azure/instance.go
File provider/azure/instance.go (right):

https://codereview.appspot.com/73910043/diff/60001/provider/azure/instance.go...
provider/azure/instance.go:56: // TODO(axw) map instance status to something
more useful?
On 2014/04/03 07:31:15, fwereade wrote:
> It's considered ok for status to use the provider's vocabulary.

Removed.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b