Choose series for machines based on charm/default series #20

Merged
merged 2 commits into from Apr 7, 2016

Conversation

Projects
None yet
3 participants
Member

makyo commented Apr 6, 2016

Addresses https://bugs.launchpad.net/juju-core/+bug/1564057 - will require a dependencies update in core.

Member

jujugui commented Apr 6, 2016

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
http://ci.jujugui.org:8080//job/bundlechanges/56/
Test PASSed.

Member

makyo commented Apr 6, 2016

QA

  • make install
  • Save http://paste.ubuntu.com/15633855/ as a bundle.yaml file
  • run get-bundle-changes bundle.yaml and ensure that the machine created has the series precise rather than trusty.
changes_test.go
@@ -1197,6 +1255,107 @@ var fromDataTests = []struct {
},
Requires: []string{"addCharm-0"},
}},
+}, {
+ about: "service with series",
@frankban

frankban Apr 6, 2016

Member

This looks more like "charm with non-default series" ?

handlers.go
@@ -28,9 +28,17 @@ func handleServices(add func(Change), services map[string]*charm.ServiceSpec) ma
service := services[name]
// Add the addCharm record if one hasn't been added yet.
if charms[service.Charm] == "" {
+ series := service.Series
+ if series == "" {
+ serviceCharm := charm.MustParseURL(service.Charm)
@frankban

frankban Apr 6, 2016

Member

Just u := charm.MustParseURL(service.Charm)?
And please add a comment stating that this is safe because the bundle data is assumed to be already verified, and therefore this must be a valid charm URL.

handlers.go
@@ -86,9 +94,13 @@ func handleMachines(add func(Change), machines map[string]*charm.MachineSpec) ma
if machine == nil {
machine = &charm.MachineSpec{}
}
+ var series = machine.Series
@frankban

frankban Apr 6, 2016

Member

series := machine.Series [shrug]

handlers.go
@@ -172,9 +184,17 @@ func handleUnits(add func(Change), services map[string]*charm.ServiceSpec, added
if i < numPlaced {
p = service.To[i]
}
+ var series = service.Series
@frankban

frankban Apr 6, 2016

Member

series := machine.Series [shrug]

handlers.go
@@ -172,9 +184,17 @@ func handleUnits(add func(Change), services map[string]*charm.ServiceSpec, added
if i < numPlaced {
p = service.To[i]
}
+ var series = service.Series
+ if series == "" {
+ serviceCharm := charm.MustParseURL(service.Charm)
@frankban

frankban Apr 6, 2016

Member

Same comment here. Since this logic is repeated twice, is it worth an external function? Like

func getSeries(service *charm.ServiceSpec, defaultSeries string) string {
    if service.Series != "" {
        return service.Series
    }
    // The following is safe because the bundle data is assumed to be already
    // verified, and therefore this must be a valid charm URL.
    series := charm.MustParseURL(service.Charm).Series
    if series != "" {
        return series
    }
    return defaultSeries
}
Member

frankban commented Apr 6, 2016

👍 with some minor changes.
Thank you Madison!

Member

jujugui commented Apr 7, 2016

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
http://ci.jujugui.org:8080//job/bundlechanges/57/
Test PASSed.

Member

jujugui commented Apr 7, 2016

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
http://ci.jujugui.org:8080//job/bundlechanges/58/
Test PASSed.

Member

makyo commented Apr 7, 2016

:shipit:

Member

jujugui commented Apr 7, 2016

Status: merge request accepted. Url: http://ci.jujugui.org:8080/job/bundlechanges-merge

@jujugui jujugui merged commit bad15fb into juju:master Apr 7, 2016

1 check passed

default Merged build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment