DescriptionPart of the work to start an Azure instance.
The design was discussed with the team: create Service, create Deployment, get
Deployment's full DNS name, set DNS name as label on the Service so that
Instances() and AllInstances() can retrieve all the immediately required
information for instances without having to query each Deployment
individually. (You'll note that this creates a state where an instance has no
DNS name yet; other providers have this state too, but the Azure one did not
have it yet. Thanks to the extracted generic implementation of WaitDNS, there
is no change to the WaitDNS implementation.)
You'll note that internalStartInstances() is not connected to StartInstances
yet. The plan is to refactor StartInstances such that the code that's
currently duplicated between all providers' StartInstances and Bootstrap
methods can be extracted and build on a single StartInstances method in the
Environ interface. Currently all providers have an "internal" and an
"external" StartInstances, with Bootstrap and the external StartInstances both
building on the internal StartInstances. In this branch you see only the
internal one for now. It's not done yet, but the diff had gotten big enough
that it was time to get something landed.
Some of this code is tied to the "one instance, one deployment, one service"
model. We're probably going to ditch that model before too long, and so (as
Raphaël did in an earlier branch) everything that depends on it is tagged with
"(instance==service)" in the comments. Searching for that string should give
us a quick listing of things that need changing when we go to work on that
assumption.
https://code.launchpad.net/~jtv/juju-core/az-startinstance/+merge/173637
(do not edit description out of merge proposal)
Patch Set 1 #
Total comments: 6
Patch Set 2 : Part of the work to start an Azure instance. #
Total comments: 3
MessagesTotal messages: 9
|