← Back to team overview

maas-devel team mailing list archive

MAAS 2.0 alpha 1 has been released!

 

Dearl All, I am happy to announce that MAAS 2.0 Alpha 1 has now been
release. MAAS 2.0.0 is a major new releases that introduces new and
exciting features. As such, MAAS 2.0.0 Alpha 1 will be available for
testing on:

*ppa:maas/next*

Please be advised that MAAS 2.0.0 alpha 1 will replace MAAS 1.10.0
Transitional Release, both in the PPA and in the Ubuntu Archives.

For information about the changes, please see below (or for more
information, please refer to: http://maas.ubuntu.com/docs2.0/changelog.html
)


*Important Announcements*

   - *MAAS 2.0 supported on Ubuntu 16.04 LTS (Xenial) *MAAS version 2.0
   will be supported on Ubuntu 16.04 LTS. MAAS 2.0 (and the transitional 1.10
   release) will NOT be supported on Ubuntu 14.04 LTS. MAAS versions 1.9
   and earlier will continue to be supported on Ubuntu 14.04 LTS (Trusty)
   until they reach end-of-life. Upgrades are supported for users running
   Ubuntu 14.04 systems running MAAS 1.9 or earlier. Upon upgrading to Ubuntu
   16.04, the MAAS database and configuration will be seamlessly migrated to
   the supported MAAS version.

Please see the *“Other Notable Changes”* section below for more details
regarding the reasons for this change.



   - API 1.0 has been deprecated, introducing API 2.0 Starting from MAAS
   2.0, the API 1.0 has now been deprecated and a new MAAS 2.0 API is being
   introduced. With the introduction of the new API version, various different
   endpoints have now been deprecated and new end-points have been introduced.
   API users will need to update their client tools to reflect the changes of
   the new API 2.0.

For more information on API 2.0, refer to
http://maas.ubuntu.com/docs2.0/api.html



   - Cluster Controllers have now been deprecated. Introducing Rack
   Controllers Starting from MAAS 2.0, MAAS Cluster Controllers have been
   deprecated alongside with the NodeGroups API. The Cluster Controllers have
   been replaced with Rack Controllers, and the RackController API have now
   been introduced. The new Rack Controller model provides feature parity with
   earlier versions of MAAS.

For more information on Rack Controllers, refer to
http://maas.ubuntu.com/docs2.0/rack-configuration.html



   - MAAS Static Range has been deprecated Starting from MAAS 2.0, the MAAS
   Static Range has now been deprecated, and MAAS assumes total control of a
   subnet. MAAS will auto-assign IP addresses to deployed machines that are
   not within a dynamic or a reserved range. Users are now only required to
   (continue to) specify the dynamic range, when enabling DHCP on the VLAN,
   and this continues to be used for auto-enlistment, commissioning, and any
   other systems configured for DHCP.

Major new features

   -

   MAAS Rack Controllers

Starting for MAAS 2.0, MAAS has introduced Rack Controllers that completely
replace Cluster Controllers. The Rack Controllers take a completely
different approach to managing services (DHCP, TFTP, etc). As such, with
Rack Controllers DHCP management is no longer bound to a Rack Interface,
but rather DHCP management is bound to a VLAN, and a Rack Controller
connect to such VLAN can provide the service. Notable changes include:

   - NodeGroups and NodeGroupInterfaces API endpoints are now deprecated.
   RackController(s) API available
   - *Clusters tab* is no longer available in the WebUI. *Controllers*
   replaces the Cluster's Tab.
   - Machines no longer belong to Rack Controllers.
   - DHCP now configured per VLAN *(API/CLI/WebUI Available)*
   - Rack Controllers now provide High Availability

For more details, please refer to
http://maas.ubuntu.com/docs2.0/changelog.html#major-new-features and
http://maas.ubuntu.com/docs2.0/rack-configuration.html


   - DNS Management

MAAS 2.0 extends DNS management and provides the ability to:


   - Ability to create multiple DNS domains. *(WebUI/API/CLI Available)*
      - Ability to add multiple records (CNAME, TXT, MX, SRV ) per
domain. *(API/CLI
      only)*
      - Ability to select Domain for Machines and Devices *(API/CLI
      Available, WebUI in progress)*
      - Ability to assign (additional) names to IP addresses *(API/CLI
      only)*
      - For deployed machines, A records continue to be create specifying
      the IP of the PXE interface. Additional PTR records and now created
      for all the other interfaces in the form of: <interface>.<machine
      fully-qualified-domain-name>
      - Reverse DNS is now generated for only the subnet specified, rather
      than the parent /24 or /16.  By default, RFC2137 glue is provided for
      networks smaller than /24.  This can be disabled or changed on a
per-subnet
      basis via the API.


   - IP Ranges

Previous versions of MAAS used the concepts of a “dynamic range” and
“static range”, which were properties of each cluster interface. This has
been redesigned for MAAS 2.0 as follows *(API/CLI Available. WebUI in
progress)*:


   - Dynamic ranges have been migrated from MAAS 1.10 and earlier as-is.
      - Because static ranges have been removed from MAAS, each static
      range has been migrated to one or more reserved ranges, which
represent the
      opposite of the previous static range. (MAAS now assumes it has full
      control of each managed subnet, and is free to assign IP addresses as it
      sees fit, unless told otherwise.)
      - Reserved ranges can now be allocated to a particular MAAS user.


For more information please refer to <http://goog_1479778598>
http://maas.ubuntu.com/docs2.0/changelog.html#major-new-features



   -

   *API 2.0*

MAAS 2.0 introduces a new API version, fully deprecating the MAAS 1.0 API.
As such, new endpoints and commands have been introduced:


   - RackController(s) - This endpoint/command has the following operations
      in addition to the base operations provided by nodes
      - Machines - This endpoint/command replaces many of the operations
      previously found in the nodes endpoint.


Other endpoints/commands have changed:


   - All list commands/operations have been converted to read
      - All new and add commands/operations have been converted to create
      - Nodes - The nodes endpoint/command is now a base endpoint/command
      for all other node types(devices, machines, and
rack-controllers). As such
      most operations have been moved to the machines endpoint/command.The
      following operations remain as they can be used on all node types.
      - Node - The node endpoint/command is now a base endpoint/command for
      all other node types(devices, machines, and rack-controllers).
As such most
      operations have been moved to the machine endpoint/command.The following
      operations remain as they can be used on all node types.
      - With the migration of nodes to machines the following items
      previously outputted with the list command have been changed or removed
      from the machines read command

And other endpoints/commands have been deprecated:


   - NodeGroups - Replacement operations are found in the RackControllers,
      Machines, and BootResources endpoints/commands
      - NodeGroupInterfaces - replacement operations are found in the
      RackController, IPRanges, Subnets, and VLANS endpoints/commands.

For more information please refer to
http://maas.ubuntu.com/docs2.0/changelog.html#major-new-features and the
API documentation http://maas.ubuntu.com/docs2.0/api.html .



   -

   *Extended Storage Support*

MAAS 2.0 Storage Model has been extended to support:


   - XFS as a filesystem. *(API/CLI Available. WebUI in progress)*
      - Mount Options. *(API/CLI Available. WebUI in progress)*
      - Swap partitions. MAAS 1.9 only supported the creation of a swap
      file in the filesystem. *(API/CLI Available. WebUI in progress)*
      - tmps/ramfs Support. *(API/WebUI in progress).*

All of these options are currently available over the CLI.
Other notable changes


   - MAAS 2.0 Requires Python 3.5 Starting from MAAS 1.10 transitional
   release, MAAS has now been ported to Python 3. The Python 3 version ported
   against is 3.5, which is default in Ubuntu Xenial.


   - MAAS 2.0 now fully supports native Django 1.8 migration system Starting
   from the MAAS 1.10 transitional release, MAAS has added support for Django
   1.8. Django 1.8 has dropped support for the south migration system in favor
   of the native Django migration system, breaking backwards compatibility. As
   such, MAAS 2.0 has inherited such support and moving forward migrations
   will be run with the native migration system.

Provided that Django 1.8 breaks backwards compatibility with the south
migration system, the MAAS team has put significant effort in ensuring MAAS
continues to support an upgrade path, and as such, users from 1.5, 1.7,
1.8, 1.9 and 1.10 will be able to upgrade seamlessly to MAAS 2.0.


   - Instant DHCP Lease Notifications We no longer scan the leases file
   every 5 minutes. ISC-DHCP now directly notifies MAAS if a lease is
   committed, released, or expires.


   -

   Host entries in DHCP

Host entries are now rendered in the DHCP configuration instead of placed
in the leases file. This removes any state that used to previously exist in
the leases file on the cluster controller. Now deleting the dhcpd.leases
file will not cause an issue with MAAS static mappings.


   -

   Modeling BMC’s

We select one of the available rack controllers to power control or query a
BMC. The same rack controller that powers the BMC does not need to be the
rack controller that the machine PXE boots from.

Known issues and workarounds

*Rack Controllers will fail to register when bond interfaces are present*

Rack Controller will fail to register if bond interfaces exist in the Rack
Controller. For more information please visit:
https://launchpad.net/bugs/1553617

Happy Testing!!

-- 
Andres Rodriguez
Engineering Manager, MAAS
Canonical USA, Inc.