[Bug 1545913] Re: [FFe] juju-core 2.0
Richard Harding
rick.harding at canonical.com
Thu Mar 31 23:12:47 UTC 2016
** Description changed:
The juju team is requesting an FFE for juju-core. Juju2 represents API
changes and new features and bugfixes for juju. We are NOT requesting a
place on any image for xenial. This FFE is intended to cover the
acceptance of the updated juju-core package, as well as the new package
juju-core-1.25, which is a new version of the existing juju-core package
allowing the existing juju1 binary to be installed.
Related FFes
------------
Required for Juju 2.0:
juju-mongodb3.2: bug 1557852
juju-mongodb2.6: bug 1557830
juju-mongo-tools3.2: bug 1558336
(see note below about mongodb for details)
Required consumers:
conjure: bug 1561037
bigdata: bug 1561043
openstack: Already in universe, dep wait on conjure -> juju 2.0
charm-tools: bug 1546776
User-Facing Features / Changes
------------------------------
* New Terminology
* Command Name Changes
* New Juju home directory
* Multi-Model Support Active by Default
* New Bootstrap and Cloud Management Experience
* Native Support for Charm Bundles
* Multi Series Charms
* Improved Local Charm Deployment
* LXC Local Provider No Longer Available
* LXD Provider
* LXD Containers
* Microsoft Azure Resource Manager Provider
* Bootstrap Constraints, Series
* Juju Logging Improvements
* Unit Agent Improvements
* API Login with Macaroons
* MAAS Spaces
* Resources
* Juju Status Improvements
* Relation Get and Set Compatibility
* Support for new AWS M4 Instance Types
* Support for win10 and win2016
The full list of changes can be found here: https://lists.ubuntu.com/archives/juju/2016-March/006922.html
and in the final release notes.
Timeline
--------
We have released 2 alphas, and 3 betas for juju2 so far, in addition 3 alpha builds of 1.26 which became 2.0. All targeted 2.0 features are now implemented, and we anticipate releasing one release candidate before a final stable build. Juju missed uploading any versions of 2.0 to the archive itself, as well as the initial projected date of having beta1 in xenial before feature freeze. However, juju has been released regularly during the development cycle inside the juju ppa. You can see the details on the delivered features and milestones on https://launchpad.net/juju-core/2.0. The final stable build will be ready in time for the xenial release.
Upgrades
--------
Users upgrading from trusty will find their juju version updated. The current juju-core package will be provided as juju-1.25. Update-alternatives will provide support for toggling /usr/bin/juju between juju-1.25 and juju-2.0 binaries.
We have tested to ensure the intended behavior occurs for the following
scenarios:
New Xenial:
No juju, apt-get install juju, juju version will be 2.0.
Example using ppa: <http://paste.ubuntu.com/15555629/>
Upgrading Trusty/Wily/old Xenial:
Already installed juju 1.X, upgraded to latest 1.25.4, 2.0 also installed and is the default juju, update-alternatives used to switch between the two.
Example using ppa: <http://paste.ubuntu.com/15555663/>
Risks
-----
Although juju itself is now feature complete for 2.0, the MAAS 2.0 support will require additional work to be fully supported. MAAS 2.0 is currently under development as well, and is an alpha3 at the time of this writing. Juju will need to add support for the final version of MAAS 2.0, and this is a risk of occurring after xenial is released. If so, we expect to release an sru for juju-core soon after xenial releases to provide this support.
Quality / Testing
-----------------
As this version breaks API with 1.0, testing for features regressions as well as fixing old bugs and avoiding new bugs has been important. The juju team and the greater juju community has been testing 2.0 to ensure it’s stable and ready to support all of the 1.0 workloads in addition to making use of the new 2.0 features.
In comparison to juju-1.25:
* Tests improvements including
* MAAS testing improved
* Container networking
* 9 non-voting tests are now voting
* New tests for all 2.0 features
* Powerpc toolchain is vastly improved
* No test regressions!
* S390 builds reliably, is fully tested and is treated the same as other supported architectures
* 114 bugs has been fixed
Juju practices continuous integration and testing of the juju source
tree. All voting tests must pass for ubuntu before release. For example,
for beta3, you can see all tests are passing on ubuntu. The full details
are here: http://reports.vapour.ws/releases/3815.
The community has also been actively involved with testing, providing
feedback, and adopting 2.0 throughout the development cycle.
* 250 bugs and wishlist items filed
* 4 bugs fixed by community members
* ~100-125 downloads for each ppa release
Community Adoption
------------------
The community has already begun adopting 2.0, and is dependent upon 2.0 being inside xenial.
* Multiple external customers are depending on 2.0 inside xenial
* Charm store fully supports 2.0 features
* Community charmers
* Gitlab, openstack and other charms already are using 2.0 features
* Many other charms are dependent upon multi-model/controller features
* Public demo and feedback sessions @ charmers summit
* Public talks accepted for discussing juju 2.0 at conferences
* 2 packages (conjure, bigdata) currently in the upload queue have been built and depend upon the new version of juju 2.0.
Packaging
---------
The security team has requested changes to the current juju packaging with the ultimate goal of breaking out the embedded non-juju golang dependencies.
As part of this FFE, the juju-core package depends upon all currently
packaged golang depends that are already in the archive.
The remaining ~15 dependencies have been packaged and will be uploaded
to the archive once the archive has opened again for Y development. We
will not be attempting to add these additional packages as part of this
FFE.
Mongodb
-------
Juju only requires a mongodb for running a controller. With the
replacement of the local provider with the lxd provider, we no longer
need to install mongodb on the user's machine for client deploys.
We do still want a juju-mongodb package in the archive, but only for
64-bit arches that we support running controllers on. We can build armhf
(and even i386) juju clients without changing that.
Juju as proposed will run against either the current juju-mongodb in the
archive which is 2.4 and no longer supported upstream, or 3.X if it's
available. So, while we don't strictly depend on the proposed juju-
mongodb packages, they are how we plan to get to a version of mongo we
can support.
Future release planning
------------------------
Given lessons learned this cycle the team has determined it's in the
interests of everyone to perform the following next cycle:
- continue to break out the Go dependencies. There are 10 additional
ones that make sense and that the team has verified can be pulled out.
They're prototype packages currently and will be made part of the next
cycle deliverable.
- Juju has been training an employee working to gain upload rights to
Juju. This will include another team member and we will work so that
they have upload rights to the package set around all of Juju and the
community including charm and charm-tools.
- The juju core team will upload the current release of Juju upon the
opening of the archive for 16.10. There after all beta releases will
- also be uploaded to the archive as well to the devel PPA.
+ also be uploaded to the archive as well to the devel PPA. This is now
+ possible due to the team responding to the feedback in this current
+ process attempt.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to juju-core in Ubuntu.
https://bugs.launchpad.net/bugs/1545913
Title:
[FFe] juju-core 2.0
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/juju-core/+bug/1545913/+subscriptions
More information about the Ubuntu-server-bugs
mailing list