juju 1.18 needs to support all CLI against a 1.16 server

Bug #1253619 reported by John A Meinel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
John A Meinel

Bug Description

In the process of adding API commands to get the Juju CLI over to access only via the API we broke some compatibility with 1.16. Specifically, where we added a new API that didn't exist in 1.16 and then moved the command over to only supporting the new API.

This is more of a meta bug to collect the more specific list of commands that need to be fixed.

bug #1250154 is that Client.EnvironmentGet is one of the newly added APIs. It turns out that we started using that in NewAPIConnFromName to check if we need to pass secrets to the environment (first login). That breaks *all* commands against 1.16 as it is the first thing we do.

[DONE] juju set-environment; juju get-environment bug #1253625
[DONE] juju upgrade-juju uses Client.EnvironmentGet bug #1253628
[INPROGRESS} juju add-machine uses several new APIs bug #1253631
[DONE] juju get-constraints; juju set-constraints uses
   Client.Set/GetEnvironmentConstraints bug #1253633
[DONE] juju debug-hooks; juju ssh; juju scp use Client.PublicAddress
   bug #1253639 (debug-hooks also uses ServiceCharmRelations)
[DONE] juju destroy-machines uses Client.DestroyMachines bug #1253643
[DONE] juju set uses Client.NewServiceSetForClientAPI bug #1253649
[DONE} juju unset uses Client.ServiceUnset bug #1253649
[DONE] juju status became incompatible. It has some fallback code,
   which apparently doesn't do enough. bug #1266734

Revision history for this message
John A Meinel (jameinel) wrote :

Other Client APIs that were added
 NewServiceSetForClientAPI
 ServiceUnset
 ServiceCharmRelations
 PublicAddress
 AddMachines
 InjectMachines
 MachineConfig
 DestroyMachines
 EnvironmentGet (bug #1250154)
 EnvironmentSet
 SetEnvironAgentVersion (for upgrade-juju)

GetServiceConstraints changed its return type to GetConstraintResults, but probably this is just renaming
GetEnvironmentConstraints ditto
SetServiceConstraints changed SetServiceConstraints params to SetConstraints
SetEnvironmentConstraints ditto

description: updated
John A Meinel (jameinel)
description: updated
John A Meinel (jameinel)
description: updated
Revision history for this message
John A Meinel (jameinel) wrote :

I was wrong about Set/GetEnvironConstraints. They were *added* and GetServiceConstraints was just tweaked to share a return type.

description: updated
John A Meinel (jameinel)
description: updated
Changed in juju-core:
assignee: nobody → Andrew Wilkins (axwalk)
John A Meinel (jameinel)
description: updated
description: updated
John A Meinel (jameinel)
description: updated
Changed in juju-core:
assignee: Andrew Wilkins (axwalk) → nobody
John A Meinel (jameinel)
description: updated
description: updated
Revision history for this message
John A Meinel (jameinel) wrote :

Just as a summary thought on this:
 we have 12 commands that need compatibility:
they break down into "things that touch machine", "things that touch environment", "things that directly access a node", and "ServiceSet" allowed the empty string to indicate reverting a field to default, while we added Unset for that
and then we'll get upgrade-juju for SetAgentAPIVersion, "juju status" which the GUI did via the AllWatcher, and "juju deploy" because of the PutCharm stuff.

description: updated
John A Meinel (jameinel)
description: updated
John A Meinel (jameinel)
description: updated
John A Meinel (jameinel)
description: updated
John A Meinel (jameinel)
description: updated
Changed in juju-core:
assignee: nobody → John A Meinel (jameinel)
John A Meinel (jameinel)
description: updated
Martin Packman (gz)
Changed in juju-core:
milestone: 1.17.1 → 1.18.0
Revision history for this message
John A Meinel (jameinel) wrote :

According to Martin the last one (status) has finally landed on trunk, so this one is now complete.

Changed in juju-core:
milestone: 1.18.0 → 1.17.4
status: Triaged → Fix Committed
description: updated
Curtis Hovey (sinzui)
Changed in juju-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.