Skip to content

Commit

Permalink
Merge 2.9
Browse files Browse the repository at this point in the history
  • Loading branch information
wallyworld committed Oct 7, 2022
2 parents 0ddb1b1 + da34160 commit adf4274
Show file tree
Hide file tree
Showing 115 changed files with 1,520 additions and 2,011 deletions.
622 changes: 0 additions & 622 deletions acceptancetests/assess_network_health.py

This file was deleted.

483 changes: 0 additions & 483 deletions acceptancetests/assess_network_spaces.py

This file was deleted.

2 changes: 1 addition & 1 deletion api/agent/provisioner/provisioner_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ func (s *provisionerSuite) TestProvisioningInfo(c *gc.C) {
apiMachine := s.assertGetOneMachine(c, machine.MachineTag())
provisioningInfo, err := apiMachine.ProvisioningInfo()
c.Assert(err, jc.ErrorIsNil)
c.Assert(provisioningInfo.Base, jc.DeepEquals, params.Base{Name: "ubuntu", Channel: "12.10"})
c.Assert(provisioningInfo.Base, jc.DeepEquals, params.Base{Name: "ubuntu", Channel: "12.10/stable"})
c.Assert(provisioningInfo.Placement, gc.Equals, template.Placement)
c.Assert(provisioningInfo.Constraints, jc.DeepEquals, template.Constraints)

Expand Down
21 changes: 13 additions & 8 deletions api/agent/upgradeseries/upgradeseries.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/juju/juju/api/base"
"github.com/juju/juju/api/common"
"github.com/juju/juju/core/model"
coreseries "github.com/juju/juju/core/series"
"github.com/juju/juju/core/status"
"github.com/juju/juju/rpc/params"
)
Expand Down Expand Up @@ -42,7 +43,7 @@ func NewClient(caller base.APICaller, authTag names.Tag) *Client {
}
}

// Machine status retrieves the machine status from remote state.
// MachineStatus status retrieves the machine status from remote state.
func (s *Client) MachineStatus() (model.UpgradeSeriesStatus, error) {
var results params.UpgradeSeriesStatusResults
args := params.Entities{
Expand Down Expand Up @@ -70,7 +71,7 @@ func (s *Client) MachineStatus() (model.UpgradeSeriesStatus, error) {

// CurrentSeries returns what Juju thinks the current series of the machine is.
// Note that a machine could have been upgraded out-of-band by running
// do-release-upgrade outside of the upgrade-series workflow,
// do-release-upgrade outside of the upgrade-machine workflow,
// making this value incorrect.
func (s *Client) CurrentSeries() (string, error) {
series, err := s.series("CurrentSeries")
Expand Down Expand Up @@ -110,15 +111,15 @@ func (s *Client) series(methodName string) (string, error) {
}

// UnitsPrepared returns the units running on this machine that have
// completed their upgrade-series preparation, and are ready to be stopped and
// completed their upgrade-machine preparation, and are ready to be stopped and
// have their unit agent services converted for the target series.
func (s *Client) UnitsPrepared() ([]names.UnitTag, error) {
units, err := s.unitsInState("UnitsPrepared")
return units, errors.Trace(err)
}

// UnitsCompleted returns the units running on this machine that have completed
// the upgrade-series workflow and are in their normal running state.
// the upgrade-machine workflow and are in their normal running state.
func (s *Client) UnitsCompleted() ([]names.UnitTag, error) {
units, err := s.unitsInState("UnitsCompleted")
return units, errors.Trace(err)
Expand Down Expand Up @@ -212,12 +213,16 @@ func (s *Client) StartUnitCompletion(reason string) error {
// "Complete" phases.
func (s *Client) FinishUpgradeSeries(hostSeries string) error {
var results params.ErrorResults
args := params.UpdateSeriesArgs{Args: []params.UpdateSeriesArg{{
Entity: params.Entity{Tag: s.authTag.String()},
Series: hostSeries,
base, err := coreseries.GetBaseFromSeries(hostSeries)
if err != nil {
return errors.Trace(err)
}
args := params.UpdateChannelArgs{Args: []params.UpdateChannelArg{{
Entity: params.Entity{Tag: s.authTag.String()},
Channel: base.Channel.Track,
}}}

err := s.facade.FacadeCall("FinishUpgradeSeries", args, &results)
err = s.facade.FacadeCall("FinishUpgradeSeries", args, &results)
if err != nil {
return err
}
Expand Down
6 changes: 3 additions & 3 deletions api/agent/upgradeseries/upgradeseries_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,9 @@ func (s *upgradeSeriesSuite) TestFinishUpgradeSeries(c *gc.C) {

fCaller := mocks.NewMockFacadeCaller(ctrl)

args := params.UpdateSeriesArgs{
Args: []params.UpdateSeriesArg{
{Series: "xenial", Entity: s.args.Entities[0]},
args := params.UpdateChannelArgs{
Args: []params.UpdateChannelArg{
{Channel: "16.04", Entity: s.args.Entities[0]},
},
}
resultSource := params.ErrorResults{Results: []params.ErrorResult{{}}}
Expand Down
20 changes: 13 additions & 7 deletions api/client/application/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"github.com/juju/juju/core/crossmodel"
"github.com/juju/juju/core/devices"
"github.com/juju/juju/core/instance"
coreseries "github.com/juju/juju/core/series"
"github.com/juju/juju/rpc/params"
"github.com/juju/juju/storage"
)
Expand Down Expand Up @@ -212,7 +213,8 @@ func (c *Client) GetCharmURLOrigin(branchName, applicationName string) (*charm.U
if err != nil {
return nil, apicharm.Origin{}, errors.Trace(err)
}
return curl, apicharm.APICharmOrigin(result.Origin), nil
origin, err := apicharm.APICharmOrigin(result.Origin)
return curl, origin, err
}

// GetConfig returns the charm configuration settings for each of the
Expand Down Expand Up @@ -348,16 +350,20 @@ func (c *Client) SetCharm(branchName string, cfg SetCharmConfig) error {

// UpdateApplicationSeries updates the application series in the db.
func (c *Client) UpdateApplicationSeries(appName, series string, force bool) error {
args := params.UpdateSeriesArgs{
Args: []params.UpdateSeriesArg{{
Entity: params.Entity{Tag: names.NewApplicationTag(appName).String()},
Force: force,
Series: series,
base, err := coreseries.GetBaseFromSeries(series)
if err != nil {
return errors.Trace(err)
}
args := params.UpdateChannelArgs{
Args: []params.UpdateChannelArg{{
Entity: params.Entity{Tag: names.NewApplicationTag(appName).String()},
Force: force,
Channel: base.Channel.Track,
}},
}

results := new(params.ErrorResults)
err := c.facade.FacadeCall("UpdateApplicationSeries", args, results)
err = c.facade.FacadeCall("UpdateApplicationSeries", args, results)
if err != nil {
return errors.Trace(err)
}
Expand Down
19 changes: 13 additions & 6 deletions api/client/charms/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ type ResolvedCharm struct {

// ResolveCharms resolves the given charm URLs with an optionally specified
// preferred channel.
// ResolveCharms is only supported in version 3 and above, it is expected that
// the consumer of the client is intended to handle the fallback.
func (c *Client) ResolveCharms(charms []CharmToResolve) ([]ResolvedCharm, error) {
args := params.ResolveCharmsWithChannel{
Resolve: make([]params.ResolveCharmWithChannel, len(charms)),
Expand All @@ -95,8 +93,13 @@ func (c *Client) ResolveCharms(charms []CharmToResolve) ([]ResolvedCharm, error)
curl, err := charm.ParseURL(r.URL)
if err != nil {
resolvedCharms[i] = ResolvedCharm{Error: err}
continue
}
origin, err := apicharm.APICharmOrigin(r.Origin)
if err != nil {
resolvedCharms[i] = ResolvedCharm{Error: err}
continue
}
origin := apicharm.APICharmOrigin(r.Origin)
resolvedCharms[i] = ResolvedCharm{
URL: curl,
Origin: origin,
Expand Down Expand Up @@ -132,9 +135,13 @@ func (c *Client) GetDownloadInfo(curl *charm.URL, origin apicharm.Origin, mac *m
return DownloadInfo{}, errors.Errorf("expected one result, received %d", num)
}
result := results.Results[0]
origin, err := apicharm.APICharmOrigin(result.Origin)
if err != nil {
return DownloadInfo{}, errors.Trace(err)
}
return DownloadInfo{
URL: result.URL,
Origin: apicharm.APICharmOrigin(result.Origin),
Origin: origin,
}, nil
}

Expand All @@ -155,7 +162,7 @@ func (c *Client) AddCharm(curl *charm.URL, origin apicharm.Origin, force bool) (
if err := c.facade.FacadeCall("AddCharm", args, &result); err != nil {
return apicharm.Origin{}, errors.Trace(err)
}
return apicharm.APICharmOrigin(result.Origin), nil
return apicharm.APICharmOrigin(result.Origin)
}

// AddCharmWithAuthorization is like AddCharm except it also provides
Expand All @@ -180,7 +187,7 @@ func (c *Client) AddCharmWithAuthorization(curl *charm.URL, origin apicharm.Orig
if err := c.facade.FacadeCall("AddCharmWithAuthorization", args, &result); err != nil {
return apicharm.Origin{}, errors.Trace(err)
}
return apicharm.APICharmOrigin(result.Origin), nil
return apicharm.APICharmOrigin(result.Origin)
}

// AddLocalCharm prepares the given charm with a local: schema in its
Expand Down
21 changes: 12 additions & 9 deletions api/client/charms/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
apicharm "github.com/juju/juju/api/common/charm"
"github.com/juju/juju/api/http/mocks"
"github.com/juju/juju/core/arch"
"github.com/juju/juju/core/series"
"github.com/juju/juju/rpc/params"
"github.com/juju/juju/testcharms"
coretesting "github.com/juju/juju/testing"
Expand Down Expand Up @@ -65,7 +66,7 @@ func (s *charmsMockSuite) TestResolveCharms(c *gc.C) {
mockFacadeCaller := basemocks.NewMockFacadeCaller(ctrl)

curl := charm.MustParseURL("cs:a-charm")
curl2 := charm.MustParseURL("cs:focal/dummy-1")
curl2 := charm.MustParseURL("cs:jammy/dummy-1")
no := string(csparams.NoChannel)
edge := string(csparams.EdgeChannel)
stable := string(csparams.StableChannel)
Expand Down Expand Up @@ -138,7 +139,7 @@ func (s *charmsMockSuite) TestGetDownloadInfo(c *gc.C) {
defer ctrl.Finish()

curl := charm.MustParseURL("cs:a-charm")
noChannelParamsOrigin := params.CharmOrigin{Source: "charm-store"}
noChannelParamsOrigin := params.CharmOrigin{Source: "charm-store", Base: params.Base{Name: "ubuntu", Channel: "22.04/stable"}}

mockFacadeCaller := basemocks.NewMockFacadeCaller(ctrl)

Expand All @@ -160,12 +161,14 @@ func (s *charmsMockSuite) TestGetDownloadInfo(c *gc.C) {
mockFacadeCaller.EXPECT().FacadeCall("GetDownloadInfos", facadeArgs, &resolve).SetArg(2, p).Return(nil)

client := charms.NewClientWithFacade(mockFacadeCaller)
got, err := client.GetDownloadInfo(curl, apicharm.APICharmOrigin(noChannelParamsOrigin), nil)
origin, err := apicharm.APICharmOrigin(noChannelParamsOrigin)
c.Assert(err, jc.ErrorIsNil)
got, err := client.GetDownloadInfo(curl, origin, nil)
c.Assert(err, gc.IsNil)

want := charms.DownloadInfo{
URL: "http://someplace.com",
Origin: apicharm.APICharmOrigin(noChannelParamsOrigin),
Origin: origin,
}

c.Assert(got, gc.DeepEquals, want)
Expand All @@ -184,8 +187,7 @@ func (s *charmsMockSuite) TestAddCharm(c *gc.C) {
Revision: &curl.Revision,
Track: nil,
Architecture: arch.DefaultArchitecture,
OS: "ubuntu",
Channel: "18.04",
Base: series.MakeDefaultBase("ubuntu", "18.04"),
}
facadeArgs := params.AddCharmWithOrigin{
URL: curl.String(),
Expand Down Expand Up @@ -218,8 +220,7 @@ func (s *charmsMockSuite) TestAddCharmWithAuthorization(c *gc.C) {
Revision: &curl.Revision,
Track: nil,
Architecture: arch.DefaultArchitecture,
OS: "ubuntu",
Channel: "18.04",
Base: series.MakeDefaultBase("ubuntu", "18.04"),
}
facadeArgs := params.AddCharmWithAuth{
URL: curl.String(),
Expand Down Expand Up @@ -317,7 +318,9 @@ func (s *charmsMockSuite) TestListCharmResources(c *gc.C) {
mockFacadeCaller.EXPECT().FacadeCall("ListCharmResources", facadeArgs, &resolve).SetArg(2, p).Return(nil)

client := charms.NewClientWithFacade(mockFacadeCaller)
got, err := client.ListCharmResources(curl, apicharm.APICharmOrigin(noChannelParamsOrigin))
origin, err := apicharm.APICharmOrigin(noChannelParamsOrigin)
c.Assert(err, jc.ErrorIsNil)
got, err := client.ListCharmResources(curl, origin)
c.Assert(err, gc.IsNil)

want := []charmresource.Resource{{
Expand Down
27 changes: 18 additions & 9 deletions api/client/machinemanager/machinemanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/juju/juju/api/base"
apiwatcher "github.com/juju/juju/api/watcher"
apiservererrors "github.com/juju/juju/apiserver/errors"
coreseries "github.com/juju/juju/core/series"
"github.com/juju/juju/core/watcher"
"github.com/juju/juju/rpc/params"
)
Expand Down Expand Up @@ -159,12 +160,16 @@ func (c *Client) RetryProvisioning(all bool, machines ...names.MachineTag) ([]pa
// place for a given machine and as such the machine is guarded against
// operations that would impede, fail, or interfere with the upgrade process.
func (client *Client) UpgradeSeriesPrepare(machineName, series string, force bool) error {
args := params.UpdateSeriesArg{
base, err := coreseries.GetBaseFromSeries(series)
if err != nil {
return errors.Trace(err)
}
args := params.UpdateChannelArg{
Entity: params.Entity{
Tag: names.NewMachineTag(machineName).String(),
},
Series: series,
Force: force,
Channel: base.Channel.String(),
Force: force,
}
var result params.ErrorResult
if err := client.facade.FacadeCall("UpgradeSeriesPrepare", args, &result); err != nil {
Expand All @@ -180,7 +185,7 @@ func (client *Client) UpgradeSeriesPrepare(machineName, series string, force boo
// UpgradeSeriesComplete notifies the controller that a given machine has
// successfully completed the managed series upgrade process.
func (client *Client) UpgradeSeriesComplete(machineName string) error {
args := params.UpdateSeriesArg{
args := params.UpdateChannelArg{
Entity: params.Entity{Tag: names.NewMachineTag(machineName).String()},
}
result := new(params.ErrorResult)
Expand All @@ -196,16 +201,20 @@ func (client *Client) UpgradeSeriesComplete(machineName string) error {
}

func (client *Client) UpgradeSeriesValidate(machineName, series string) ([]string, error) {
args := params.UpdateSeriesArgs{
Args: []params.UpdateSeriesArg{
base, err := coreseries.GetBaseFromSeries(series)
if err != nil {
return nil, errors.Trace(err)
}
args := params.UpdateChannelArgs{
Args: []params.UpdateChannelArg{
{
Entity: params.Entity{Tag: names.NewMachineTag(machineName).String()},
Series: series,
Entity: params.Entity{Tag: names.NewMachineTag(machineName).String()},
Channel: base.Channel.String(),
},
},
}
results := new(params.UpgradeSeriesUnitsResults)
err := client.facade.FacadeCall("UpgradeSeriesValidate", args, results)
err = client.facade.FacadeCall("UpgradeSeriesValidate", args, results)
if err != nil {
return nil, err
}
Expand Down
16 changes: 8 additions & 8 deletions api/client/machinemanager/machinemanagernew_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ func (s *NewMachineManagerSuite) SetUpTest(c *gc.C) {
func (s *NewMachineManagerSuite) TestUpgradeSeriesValidate(c *gc.C) {
defer s.setup(c).Finish()

args := params.UpdateSeriesArgs{
Args: []params.UpdateSeriesArg{
args := params.UpdateChannelArgs{
Args: []params.UpdateChannelArg{
{
Entity: params.Entity{Tag: names.NewMachineTag(s.tag.String()).String()},
Series: "xenial",
Entity: params.Entity{Tag: names.NewMachineTag(s.tag.String()).String()},
Channel: "16.04/stable",
},
},
}
Expand All @@ -72,10 +72,10 @@ func (s *NewMachineManagerSuite) TestUpgradeSeriesValidate(c *gc.C) {
func (s *NewMachineManagerSuite) TestUpgradeSeriesPrepareAlreadyInProgress(c *gc.C) {
defer s.setup(c).Finish()

arg := params.UpdateSeriesArg{
Entity: params.Entity{Tag: s.tag.String()},
Series: "xenial",
Force: true,
arg := params.UpdateChannelArg{
Entity: params.Entity{Tag: s.tag.String()},
Channel: "16.04/stable",
Force: true,
}
resultSource := params.ErrorResult{
Error: &params.Error{
Expand Down
3 changes: 1 addition & 2 deletions api/client/resources/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,7 @@ func newAddPendingResourcesArgsV2(tag names.ApplicationTag, chID CharmID, csMac
Revision: chID.Origin.Revision,
Track: chID.Origin.Track,
Architecture: chID.Origin.Architecture,
OS: chID.Origin.OS,
Channel: chID.Origin.Channel,
Base: params.Base{Name: chID.Origin.Base.Name, Channel: chID.Origin.Base.Channel.String()},
}
args.CharmStoreMacaroon = csMac
return args, nil
Expand Down
5 changes: 3 additions & 2 deletions api/client/resources/client_upload_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (

"github.com/juju/juju/api/client/resources"
apicharm "github.com/juju/juju/api/common/charm"
"github.com/juju/juju/core/series"
"github.com/juju/juju/rpc/params"
)

Expand Down Expand Up @@ -126,7 +127,7 @@ func (s *UploadSuite) TestAddPendingResources(c *gc.C) {
Source: "charm-hub",
ID: "id",
Risk: "stable",
OS: "ubuntu",
Base: params.Base{Name: "ubuntu", Channel: "22.04/stable"},
Architecture: "arm64",
},
Resources: []params.CharmResource{apiResult.Resources[0].CharmResource},
Expand All @@ -148,7 +149,7 @@ func (s *UploadSuite) TestAddPendingResources(c *gc.C) {
Source: apicharm.OriginCharmHub,
ID: "id",
Risk: "stable",
OS: "ubuntu",
Base: series.MakeDefaultBase("ubuntu", "22.04"),
Architecture: "arm64",
},
},
Expand Down
Loading

0 comments on commit adf4274

Please sign in to comment.