What did we end up doing for Login? I'm thinking it would be good to keep a
v1 login around that would tell <=1.25 clients that they need a different
version of their client to talk to this server.

John
=:->
On Feb 3, 2016 9:03 PM, "Eric Snow" <eric.s...@canonical.com> wrote:

> Thanks for this in-depth break-down, Ian.  It really helps.
>
> -eric
>
> On Tue, Feb 2, 2016 at 6:33 PM, Ian Booth <ian.bo...@canonical.com> wrote:
> > Hey all
> >
> > As has been mentioned previously in this list, for the Juju 2.0 release
> we have
> > been working on fundamental terminology changes. In particular, we now
> talk
> > about controllers and models instead of state servers and environments.
> >
> > To this end, a rather large change has landed in master and the upcoming
> > 2.0-alpha2 release of Juju will reflect these changes. There are several
> things
> > to be aware of. We have also taken the opportunity to remove a lot of
> code which
> > existed to support older Juju clients. Needless to say, this Juju 2.0
> release
> > will not support upgrading from 1.x - it works only as a clean install.
> >
> > Note: some of the changes will initially break the GUI and users of the
> Python
> > Juju Client - work is underway to update these products for the next
> alpha3
> > release scheduled for next week. For those wishing to continue to test
> Juju 2.0
> > without the breaking changes, the alpha1 release is still available via
> > ppa:juju/experimental. Separate communications to affected stakeholders
> has/will
> > be made as part of the 2.0-alpha2 release.
> >
> > So, the changes are roughly broken down as follows:
> >
> > - CLI command name changes
> > - facade name changes
> > - api method and parameter name changes
> > - facade method restructure
> > - internal api name changes
> > - external artifact/data changes (including on the wire changes)
> > - deprecated and older version facades are removed
> >
> > 1. CLI command name changes
> >
> > As an obvious example, create-environment becomes create-model. We also
> have
> > destroy-controller etc. This alpha2 release will also contain many of
> the other
> > CLI changes targetted for 2.0 eg juju backup create becomes juju
> create-backup.
> > Not all 2.0 CLI syntax is supported yet, but all the environment -> model
> > changes are done.
> >
> > You will also use -m <model> instead of -e <environment>.
> >
> > The release notes will go into more detail.
> >
> > All user facing text now refers to model instead of environment.
> >
> > 2. Facade name changes
> >
> > If you are curious, see https://goo.gl/l4JqGd for a representative
> listing of
> > all facade and method names and which ones have been changed.
> >
> > The main one is EnvironmentManager becomes ModelManager. These changes
> affect
> > external API clients like the GUI and Python Juju client.
> >
> > 3. api method and parameter name changes
> >
> > By way of example:
> > EnvironInfo() on the undertaker facade becomes ModelInfo().
> > The param struct ModifyEnvironUsers becomes ModifyModelUsers etc.
> > EnvironTag attributes become ModelTag.
> >
> > 4. Service facade method restructure
> >
> > As part of making our facades more manageable and maintainable when API
> changes
> > are required, a whole bunch of service related methods are moved off the
> Client
> > facade and onto the Service facade. This had already been started months
> ago,
> > and there were shims in place to keep existing clients working, but now
> the job
> > is finished.
> > eg Client.AddRelation() becomes Service.AddRelation() etc.
> >
> > This change will break the GUI and Python Juju client.
> >
> > 5. Internal API name changes
> >
> > Things like state.AllEnvironments() becomes state.AllModels(), we now use
> > names.ModelTag instead of names.EnvironTag, and many, many more.
> >
> > Note: the names package has not been forked into a .V2 yet (with
> EnvironTag
> > removed) as there are dependencies to sort out. Please do not use
> EnvironTag
> > anymore.
> >
> > 6. External artifact/data changes (including on the wire changes)
> >
> > There are several main examples here.
> > On the wire, we transmit model-uuid tags rather than environment-uuid
> tags.
> > In mongo, we store model-uuid doc fields rather than env-uuid.
> > In agent.conf files we store Model info rather than Environment tags.
> > In the controller blob store, we store and manage blobs for buckets
> rather than
> > environments.
> > The controller HTTP endpoints are /model/<model-uuid/...
> > In backups we store model tags and details, not environment.
> >
> > With the blobstore, we've create a .V2 branch which core uses. The
> charmstore
> > will continue to use V1 for now.
> >
> > 7. Deprecated and older version facades are removed
> >
> > All facade versions have been bumped up. Older facades are removed, and
> we don't
> > support fallback to older servers. The main example for facade removal
> is uniter
> > v0 and v1 are gone. With deprecated API removal, service deployment now
> expects
> > placement parameters rather than catering for older clients that did not
> support
> > placement, so there's only one ServiceDeployMethod() instead of 3. All
> in all,
> > the code base has been simplified by removing all support for deprecated
> facades
> > and API calls.
> >
> > There are still a couple of grey areas internally to be sorted out. But
> the user
> > facing changes are done (pending more CLI work between now and release).
> >
> >
> > If you have any questions, please ask. As juju-core developers, I suggest
> > merging master into your feature branches as soon as possible to deal
> with any
> > conflicts. And needless to say, "environment" is dead, long live
> "model". So
> > please adopt the new terminology in your apis etc.
> >
> >
> >
> >
> > --
> > Juju-dev mailing list
> > Juju-dev@lists.ubuntu.com
> > Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju-dev
>
> --
> Juju-dev mailing list
> Juju-dev@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju-dev
>
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to