Canonical Voices

What Andres Rodriguez talks about

admin

MAAS 2.3.0 (alpha3)

New Features & Improvements

Hardware Testing (backend only)

MAAS has now introduced an improved hardware testing framework. This new framework allows MAAS to test individual components of a single machine, as well as providing better feedback to the user for each of those tests. This feature has introduced:

  • Ability to define a custom testing script with a YAML definition – Each custom test can be defined with YAML that will provide information about the test. This information includes the script name, description, required packages, and other metadata about what information the script will gather. This information can then be displayed in the UI.

  • Ability to pass parameters – Adds the ability to pass specific parameters to the scripts. For example, in upcoming beta releases, users would be able to select which disks they want to test if they don’t want to test all disks.

  • Running test individually – Improves the way how hardware tests are run per component. This allows MAAS to run tests against any individual component (such a single disk).

  • Adding additional performance tests

    • Added a CPU performance test with 7z.

    • Added a storage performance test with fio.

Please note that individual results for each of the components is currently only available over the API. Upcoming beta release will include various UI improvements that will allow the user to better surface and interface with these new features.

Rack Controller Deployment in Whitebox Switches

MAAS has now the ability to install and configure a MAAS rack controller once a machine has been deployed. As of today, this feature is only available when MAAS detects the machine is a whitebox switch. As such, all MAAS certified whitebox switches will be deployed with a MAAS rack controller. Currently certified switches include the Wedge 100 and the Wedge 40.

Please note that this features makes use of the MAAS snap to configure the rack controller on the deployed machine. Since snap store mirrors are not yet available, this will require the machine to have access to the internet to be able to install the MAAS snap.

Improved DNS Reloading

This new release introduces various improvements to the DNS reload mechanism. This allows MAAS to be smarter about when to reload DNS after changes have been automatically detected or made.

UI – Controller Versions & Notifications

MAAS now surfaces the version of each running controller, and notifies the users of any version mismatch between the region and rack controllers. This helps administrators identify mismatches when upgrading their MAAS on a multi-node MAAS cluster, such as a HA setup.

Issues fixed in this release

  • #1702703    Cannot run maas-regiond without /bin/maas-rack
  • #1711414    [2.3, snap] Cannot delete a rack controller running from the snap
  • #1712450    [2.3] 500 error when uploading a new commissioning script
  • #1714273    [2.3, snap] Rack Controller from the snap fails to power manage on IPMI
  • #1715634    ‘tags machines’ takes 30+ seconds to respond with list of 9 nodes
  • #1676992    [2.2] Zesty ISO install fails on region controller due to postgresql not running
  • #1703035    MAAS should warn on version skew between controllers
  • #1708512    [2.3, UI] DNS and Description Labels misaligned on subnet details page
  • #1711700    [2.x] MAAS should avoid updating DNS if nothing changed
  • #1712422    [2.3] MAAS does not report form errors on script upload
  • #1712423    [2.3] 500 error when clicking the ‘Upload’ button with no script selected.
  • #1684094    [2.2.0rc2, UI, Subnets] Make the contextual menu language consistent across MAAS
  • #1688066    [2.2] VNC/SPICE graphical console for debugging purpose on libvirt pod created VMs
  • #1707850    [2.2] MAAS doesn’t report cloud-init failures post-deployment
  • #1711714    [2.3] cloud-init reporting not configured for deployed ubuntu core systems
  • #1681801    [2.2, UI] Device discovery – Tooltip misspelled
  • #1686246    [CLI help] set-storage-layout says Allocated when it should say Ready
  • #1621175    BMC acc setup during auto-enlistment fails on Huawei model RH1288 V3

For full details please visit:

https://launchpad.net/maas/+milestone/2.3.0alpha3

Read more
admin

Hello MAASters! This is the development summary for the past couple of weeks:

MAAS 2.3 (current development release)

  • Hardware Testing Phase 2
    • Added parameters form for script parameters validation.
    • Accept and validate results from nodes.
    • Added hardware testing 7zip CPU benchmarking builtin script.
    • WIP – ability to send parameters to test scripts and process results of individual components. (e.g. will provide the ability for users to select which disk they want to test, and capture results accordingly)
    • WIP – disk benchmark test via Fio.
  • Network beaconing & better network discovery
    • MAAS controllers now send out beacon advertisements every 30 seconds, regardless of whether or not any solicitations were received.
  • Switch Support
    • Backend changes to automatically detect switches (during commissioning) and make use of the new switch model.
    • Introduce base infrastructure for NOS drivers, similar to the power management one.
    • Install the Rack Controller when deploying a supported Switch (Wedge 40, Wedge 100)
    • UI – Add a switch listing tab behind a feature flag.
  • Minor UI improvements
    • The version of MAAS installed on each controller is now reported on the controller details page.
  • python-libmaas
    • Added ability to power on, power off, and query the power state of a machine.
    • Added PowerState enum to make it easy to check the current power state of a machine.
    • Added ability to reference the children and parent interfaces of an interface.
    • Added ability to reference the owner of node.
    • Added base level `Node` object that `Machine`, `Device`, `RackController`, and `RegionController` extend from.
    • Added `as_machine`, `as_device`, `as_rack_controller`, and `as_region_controller` to the Node object. Allowing the ability to convert a `Node` into the type you need to perform an action on.
  • Bug fixes:
    • LP: #1676992 – force Postgresql restart on maas-region-controller installation.
    • LP: #1708512 – Fix DNS & Description misalignment
    • LP: #1711714 – Add cloud-init reporting for deployed Ubuntu Core systems
    • LP: #1684094 – Make context menu language consistent for IP ranges.
    • LP: #1686246 – Fix docstring for set-storage-layout operation
    • LP: #1681801 – Device discovery – Tooltip misspelled
    • LP: #1688066 – Add Spice graphical console to pod created VM’s
    • LP: #1711700 – Improve DNS reloading so its happens only when required.
    • LP: #1712423, #1712450, #1712422 – Properly handle a ScriptForm being sent an empty file.
    • LP: #1621175 – Generate password for BMC’s with non-spec compliant password policy
    • LP: #1711414 – Fix deleting a rack when it is installed via the snap
    • LP: #1702703 – Can’t run region controller without a rack controller installed.

Read more
admin

Hello MAASters!

I’m happy to annouce that MAAS 2.3.0 Alpha 2 has now been released and it is currently available in Ubuntu Artful, PPA for Xenial and as a snap.
PPA Availability
For those running Ubuntu Xenial and would like to use Alpha 1, please use the following PPA:
Snap Availability
For those running from the snap, or would like to test the snap, please use the Beta channel on the default track:
sudo snap install maas –devmode –beta

MAAS 2.3.0 (alpha2)

Important announcements

Advanced Network for CentOS & Windows

The MAAS team is happy to announce that MAAS 2.3 now supports the ability to perform network configuration for CentOS and Windows. The network configuration is performed via cloud-init. MAAS CentOS images now use the latest available version of cloud-init that includes these features.

New Features & Improvements

CentOS Networking support

MAAS can now perform machine network configuration for CentOS, giving CentOS networking feature parity with Ubuntu. The following can now be configured for MAAS deployed CentOS images:

  • Static network configuration.

  • Bonds, VLAN and bridge interfaces.

Thanks for the cloud-init team for improving the network configuration support for CentOS.

Windows Networking support

MAAS can now configure NIC teaming (bonding) and VLAN interfaces for Windows deployments. This uses the native NetLBFO in Windows 2008+. Contact us for more information (https://maas.io/contact-us).

Network Discovery & Beaconing

MAAS now sends out encrypted beacons to facilitate network discovery and monitoring. Beacons are sent using IPv4 and IPv6 multicast (and unicast) to UDP port 5240. When registering a new controller, MAAS uses the information gathered from the beaconing protocol to ensure that newly registered interfaces on each controller are associated with existing known networks in MAAS.

UI improvements

Minor UI improvements have been made

  • Renamed “Device Discovery” to “Network Discovery”.

  • Discovered devices where MAAS cannot determine the hostname now show the hostname as “unknown” and greyed out instead of using the MAC address manufacturer as the hostname.

Issues fixed in this release

Issues fixed in this release are detailed at:

https://launchpad.net/maas/+milestone/2.3.0alpha1

Read more
admin

Hello MAASters! This is the development summary for the past couple of weeks:

MAAS 2.3 (current development release)

The team is preparing and testing the next official release, MAAS 2.3 alpha2. It is currently undergoing a heavy round of testing and will be announced separately the beginning of the upcoming week. In the past three weeks, the team has:

  • Support for CentOS Network configuration
    We have completed the work to support CentOS Advanced Networking, which provides the ability for users to configure VLAN, bond and bridge interfaces, bringing it feature parity with Ubuntu. This will be available in MAAS 2.3 alpha 2.
  • Support for Windows Network configuration
    MAAS can now configure NIC teaming (bonding) and VLAN interfaces for Windows deployments. This uses the native NetLBFO in Windows 2008+. Contact us for more information [1].
  • Hardware Testing Phase 2

    • Testing scripts now define a type field that informs MAAS for which component will be tested and where the resulting metrics will apply. This may be node, cpu, memory, or storage, defaults to node.
    • Completed work to support the definition and parsing of a YAML based description for custom test scripts. This allows the user to defined the test’s title, description, and the metrics the test will output, which allows MAAS to parse and eventually display over the UI/API.
  • Network beaconing & better network discovery

    • Beaconing is now fully functional for controller registration and interface updates!
    • When registering or updating a new controller (either the first standalone controller, or a secondary/HA controller), new interfaces that have been determined to be on an existing VLAN will not cause a new fabric to be created in MAAS.
  • Switch modeling
    • The basic database model for the new switching model has been implemented.
    • On-going progress of presenting switches in the node listing is under way.
    • Work is in-progress to allow MAAS to deploy a rack controller which will be utilized when deploying a new switch with MAAS.
  • Minor UI improvements
    • Renamed “Device Discovery” to “Network Discovery”.
    • Discovered devices where MAAS cannot determine the hostname now just show the hostname as “unknown” and grayed out instead of using the MAC address manufacturer as the hostname.
  • Bug fixes:
    • LP: #1704444 – MAAS API returns 500 internal server error instead of raising actual error.
    • LP: #1705501 – django warning on install
    • LP: #1707971 – MAAS becomes unstable after rack controller restarts
    • LP: #1708052 – Quick erase doesn’t remove md superblock
    • LP: #1710681 – Cannot delete an Ubuntu image, “Update Selection” is disabled

MAAS 2.2.2 Released in the Ubuntu Archive!

MAAS 2.2.2 has now also been released in the Ubuntu Archive. For more details on MAAS 2.2.2, please see [2].

 

[1]: https://maas.io/contact-us

[2]: https://lists.ubuntu.com/archives/maas-devel/2017-August/002663.html

Read more
admin

Hello MAASters! The MAAS development summaries are back!

The past three weeks the team has been made good progress on three main areas, the development of 2.3, maintenance for 2.2, and out new and improved python library (libmaas).

MAAS 2.3 (current development release)

The first official MAAS 2.3 release has been prepared. It is currently undergoing a heavy round of testing and will be announced separately once completed. In the past three weeks, the team has:

  • Completed Upstream Proxy UI
    • Improve the UI to better configure the different proxy modes.
    • Added the ability to configure an upstream proxy.
  • Network beaconing & better network discovery
  • Started Hardware Testing Phase 2
      • UX team has completed the initial wireframes and gathered feedback.
      • Started changes to collect and gather better test results.
  • Started Switch modeling
      • Started changes to support switch and switch port modeling.
  • Bug fixes
    • LP: #1703403 – regiond workers can use too many postgres connections
    • LP: #1651165 – Unable to change disk name using maas gui
    • LP: #1702690 – [2.2] Commissioning a machine prefers minimum kernel over commissioning global
    • LP: #1700802 – [2.x] maas cli allocate interfaces=<label>:ip=<ADDRESS> errors with Unknown interfaces constraint Edit
    • LP: #1703713 – [2.3] Devices don’t have a link from the DNS page
    • LP: #1702976 – Cavium ThunderX lacks power settings after enlistment apparently due to missing kernel
    • LP: #1664822 – Enable IPMI over LAN if disabled
    • LP: #1703713 – Fix missing link on domain details page
    • LP: #1702669 – Add index on family(ip) for each StaticIPAddress to improve execution time of the maasserver_routable_pairs view.
    • LP: #1703845 – Set the re-check interval for rack to region RPC connections to the lowest value when a RPC connection is closed or lost.

MAAS 2.2 (current stable release)

  • Last week, MAAS 2.2 was SRU’d into the Ubuntu Archives and to our latest LTS release, Ubuntu Xenial, replacing the MAAS 2.1 series.
  • This week, a new MAAS 2.2 point release has also been prepared. It is currently undergoing heavy testing. Once testing is completed, it will be released in a separate announcement.

Libmaas

Last week, the team has worked on increasing the level

  • Added ability to create machines.
  • Added ability to commission machines.
  • Added ability to manage MAAS networking definitions. Including Subnet, Fabrics, Spaces, vlans, IP Ranges, Static Routes and DHCP.

Read more
admin

Hello MAASters!

The purpose of this update is to keep our community engaged and informed about the work the team is doing. We’ll cover important announcements, work-in-progress for the next release of MAAS and bugs fixes in release MAAS versions.

MAAS 2.3 (current development release)

  • Completed Django 1.11 transition
      • MAAS 2.3 snap will use Django 1.11 by default.
      • Ubuntu package will use Django 1.11 in Artful+
  • Network beaconing & better network discovery
      • MAAS now listens for [unicast and multicast] beacons on UDP port 5240. Beacons are encrypted and authenticated using a key derived from the MAAS shared secret. Upon receiving certain types of beacons, MAAS will reply, confirming the sender that existing MAAS on the network has the same shared key. In addition, records are kept about which interface each beacon was received on, and what VLAN tag (if any) was in use on that interface. This allows MAAS to determine which interfaces observed the same beacon (and thus must be on the same fabric). This information can also determine if [what would previously have been assumed to be] a separate fabric is actually an alternate VLAN in an existing fabric.
      • The maas-rack send-beacons command is now available to test the beacon protocol. (This command is intended for testing and support, not general use.) The MAAS shared secret must be installed before the command can be used. By default, it will send multicast beacons out all possible interfaces, but it can also be used in unicast mode.
      • Note that while IPv6 support is planned, support for receiving IPv6 beacons in MAAS is not yet available. The maas-rack send-beacons command, however, is already capable of sending IPv6 beacons. (Full IPv6 support is expected to make beacons more flexible, since IPv6 multicast can be sent out on interfaces without a specific IP address assignment, and without resorting to raw sockets.)
      • Improvements to rack registration are now under development, so that users will see a more accurate representation of fabrics upon initial installation or registration of a MAAS rack controller.
  • Bug fixes
    • LP: #1701056: Show correct information for a device details page as a normal user
    • LP: #1701052: Do not show the controllers tab as a normal user
    • LP: #1683765: Fix format when devices/controllers are selected to match those of machines
    • LP: #1684216 – Update button label from ‘Save selection’ to ‘Update selection’
    • LP: #1682489 – Fix Cancel button on add user dialog, which caused the user to be added anyway
    • LP: #1682387 – Unassigned should be (Unassigned)

MAAS 2.2.1

The past week the team was also focused on preparing and QA’ing the new MAAS 2.2.1 point release, which was released on Friday June the 30th. For more information about the bug fixes please visit the following https://launchpad.net/maas/+milestone/2.2.1 .

MAAS 2.2.1 is available in:

  • ppa:maas/stable

Read more
admin

Announcements

  • Transition to Git in Launchpad
    The MAAS team is happy to announce that we have moved our code repositories away from Bazaar. We are now using Git in Launchpad.[1]

MAAS 2.3 (current development release)

This week, the team has worked on the following features and improvements:

  • Codebase transition from bzr to git – This week the team has focused efforts on updating all processes to the upcoming transition to Git. The progress involved:
    • Updated Jenkins job configuration to run CI tests from Git instead of bzr.
    • Created new Jenkins jobs to test older releases via Git instead of bzr.
    • Update Jenkins job triggering mechanism from using Tarmac to using the Jenkins Git plugin.
    • Replaced the maas code lander (based on tarmac) with a Jenkins job to automatically land approved branches.
      • This also includes a mechanism to automatically set milestones and close Launchpad bugs.
    • Updated Snap building recipe to build from Git. 
  • Removal of ‘tgt’ as a dependency behind a feature flag – This week we have landed the ability to load ephemeral images via HTTP from the initrd, instead of doing it via iSCSI (served by ‘tgt’). While the use of ‘tgt’ is still default, the ability to not use it is hidden behind a feature flag (http_boot). This is only available in trunk. 
  • Django 1.11 transition – We are down to the latest items of the transition, and we are targeting it to be completed by the upcoming week. 
  • Network Beaconing & better network discovery – The team is continuing to make progress on beacons. Following a thorough review, the beaconing packet format has been optimized; beacon packets are now simpler and more compact. We are targeting rack registration improvements for next week, so that newly-registered rack controllers do not create new fabrics if an interface can be determined to be on an existing fabric.

Bug Fixes

The following issues have been fixed and backported to MAAS 2.2 branch. This will be available in the next point release of MAAS 2.2 (2.2.1). The MAAS team is currently targeting a new 2.2.1 release for the upcoming week.

  • LP #1687305 – Fix virsh pods reporting wrong storage
  • LP #1699479 – A couple of unstable tests failing when using IPv6 in LXC containers

[1]: https://git.launchpad.net/maas

Read more
admin

The purpose of this update is to keep our community engaged and informed about the work the team is doing. We’ll cover important announcements, work-in-progress for the next release of MAAS and bugs fixes in release MAAS versions.

MAAS Sprint

The Canonical MAAS team sprinted at Canonical’s London offices this week. The purpose was to review the previous development cycle & release (MAAS 2.2), as well as discuss and finalize the plans and goals for the next development release cycle (MAAS 2.3).

MAAS 2.3 (current development release)

The team has been working on the following features and improvements:

  • New Feature – support for ‘upstream’ proxy (API only)Support for upstream proxies has landed in trunk. This iteration contains API only support. The team continues to work on the matching UI support for this feature.
  • Codebase transition from bzr to git – This week the team has focused efforts on updating all processes to the upcoming transition to Git. The progress so far is:
    • Prepared the MAAS CI infrastructure to fully support Git once the transition is complete.
    • Started working on creating new processes for PR’s auto-testing and landing.
  • Django 1.11 transition – The team continues to work through the Django 1.11 transition; we’re down to 130 unittest failures!
  • Network Beaconing & better network discovery – Prototype beacons have now been sent and received! The next steps will be to work on the full protocol implementation, followed by making use of beaconing to enhance rack registration. This will provide a better out-of-the-box experience for MAAS; interfaces which share network connectivity will no longer be assumed to be on separate fabrics.
  • Started the removal of ‘tgt’ as a dependency – We have started the removal of ‘tgt’ as a dependency. This simplies the boot process by not loading ephemeral images from tgt, but rather, having the initrd download and load the ephemeral environment.
  • UI Improvements
    • Performance Improvements – Improved the loading of elements in the Device Discovery, Node listing and Events page, which greatly improve UI performance.
    • LP #1695312 – The button to edit dynamic range says ‘Edit’ while it should say ‘Edit reserved range’
    • Remove auto-save on blur for the Fabric details summary row. Applied static content when not in edit mode.

Bug Fixes

The following issues have been fixed and backported to MAAS 2.2 branch. This will be available in the next point release of MAAS 2.2 (2.2.1) in the coming weeks:

  • LP: #1678339 – allow physical (and bond) interfaces to be placed on VLANs with a known 802.1q tag.
  • LP: #1652298 – Improve loading of elements in the device discovery page

Read more
admin

Thursday June 8th, 2017

The MAAS team is happy to announce the introduction of development summaries. We hope this helps to keep our community engaged and informed about the work the team is doing. We’ll cover important announcements, work-in-progress for the next release of MAAS, and bugs fixed in released MAAS versions.

Announcements

With the MAAS 2.2 release out of the door, we are happy to announce that:

  • MAAS 2.3 is now opened for development.
  • MAAS is moving to GIT in Launchpad – In the coming weeks, MAAS source will now be hosted under a GIT repository in Launchpad, once we complete the work of updating all our internal processes (e.g. CI, Landers, etc).

MAAS 2.3 (current development release)

With the team now focusing efforts on the new development release, MAAS 2.3, the team has been working on the following features and improvements:

  • Started adding support for Django 1.11 – MAAS will continue to be backward compatible with Django 1.8.
  • Adding support for ‘upstream’ proxy – MAAS deployed machines will continue to use MAAS’ internal proxy, while allowing MAAS ‘ proxy to communicate with an upstream proxy.
  • Started adding network beaconing – New feature to support better network (subnet’s, vlans) discovery and allow fabric deduplication.
    • Officially registered IPv4 and IPv6 multicast groups for MAAS beaconing (224.0.0.118 and ff02::15a, respectively).
    • Implemented a mechanism to provide authenticated encryption using the MAAS shared secret.
    • Prototyped initial beaconing multicast join mechanism and receive path.

Libmaas (python-libmaas)

With the continuous improvement of the new MAAS Python Library (python-libmaas), we have focused our efforts on the following improvements the past week:

  • Add support to be able to provide nested objects and object sets.
  • Add support to be able to update any object accessible via the library.
  • Add ability to read interfaces (nested) under Machines, Devices, Rack Controllers and Region Controllers.
  • Add ability to read VLAN’s (nested) under Fabrics.

Bug Fixes

The following issues have been fixed and backported to MAAS 2.2 branch. This will be available in the next point release of MAAS 2.2 (2.2.1) in the coming weeks:

  • Bug #1694767: RSD composition not setting local disk tags
  • Bug #1694759: RSD Pod refresh shows ComposedNodeState is “Failed”
  • Bug #1695083: Improve NTP IP address selection for MAAS DHCP clients.

Questions?

IRC – Find as on #maas @ freenode.

ML – https://lists.ubuntu.com/mailman/listinfo/maas-devel

Read more
admin

I’m happy to announce that MAAS 2.2.0 (final) has now been released, and it introduces quite a few exciting features:

  • MAAS Pods – Ability to dynamically create a machine on demand. This is reflected in MAAS’ support for Intel Rack Scale Design.
  • Hardware Testing
  • DHCP Relay Support
  • Unmanaged Subnets
  • Switch discovery and deployment on Facebook’s Wedge 40 & 100.
  • Various improvements and minor features.
  • MAAS Client Library
  • Intel Rack Scale Design support.

For more information, please read the release notes are available here.

Availability
MAAS 2.2.0 is currently available in the following MAAS team PPA.
ppa:maas/next
Please note that MAAS 2.2 will replace the MAAS 2.1 series, which will go out of support. We are holding MAAS 2.2 in the above PPA for a week, to provide enough notice to users that it will replace 2.1 series. In the following weeks, MAAS 2.2 will be backported into Ubuntu Xenial.

Read more
roaksoax

Filming Fast & Furious 7…

Note: The car is what we call a Combi in Peru, which is a form of public transportation. While I didn’t create the FF7 original pic, it is mock to peruvian combi drivers because those are one of the most reckless drivers in the world.

Read more
roaksoax

For a while, I have been wanting to write about MAAS and how it can easily deploy workloads (specially OpenStack) with Juju, and the time has finally come. This will be the first of a series of posts where I’ll provide an Overview of how to quickly get started with MAAS and Juju.

What is MAAS?

I think that MAAS does not require introduction, but if people really need to know, this awesome video will provide a far better explanation than the one I can give in this blog post.

http://youtu.be/J1XH0SQARgo

 

Components and Architecture

MAAS have been designed in such a way that it can be deployed in different architectures and network environments. MAAS can be deployed as both, a Single-Node or Multi-Node Architecture. This allows MAAS to be a scalable deployment system to meet your needs. It has two basic components, the MAAS Region Controller and the MAAS Cluster Controller.

MAAS Architectures

Region Controller

The MAAS Region Controller is the component the users interface with, and is the one that controls the Cluster Controllers. It is the place of the WebUI and API. The Region Controller is also the place for the MAAS meta-data server for cloud-init, as well as the place where the DNS server runs. The region controller also configures a rsyslogd server to log the installation process, as well as a proxy (squid-deb-proxy) that is used to cache the debian packages. The preseeds used for the different stages of the process are also being stored here.

Cluster Controller

The MAAS Cluster Controller only interfaces with the Region controller and is the one in charge of provisioning in general. The Cluster Controller is the place the TFTP and DHCP server(s) are located. This is the place where both the PXE files and ephemeral images are being stored. It is also the Cluster Controller’s job to power on/off the managed nodes (if configured).

The Architecture

As you can see in the image above, MAAS can be deployed in both a single node or multi-node. The way MAAS has being designed makes MAAS highly scalable allowing to add more Cluster Controllers that will manage a different pool of machines. A single-node scenario can become in a multi-node scenario by simply adding more Cluster Controllers. Each Cluster Controller has to register with the Region Controller, and each can be configured to manage a different Network. The way has this is intended to work is that each Cluster Controller will manage a different pool of machines in different networks (for provisioning), allowing MAAS to manage hundreds of machines. This is completely transparent to users because MAAS makes the machines available to them as a single pool of machines, which can all be used for deploying/orchestrating your services with juju.

How Does It Work?

MAAS has 3 basic stages. These are Enlistment, Commissioning and Deployment which are explained below:

MAAS Process

Enlistment

The enlistment process is the process on which a new machine is registered to MAAS. When a new machine is started, it will obtain an IP address and PXE boot from the MAAS Cluster Controller. The PXE boot process will instruct the machine to load an ephemeral image that will run and perform an initial discovery process (via a preseed fed to cloud-init). This discovery process will obtain basic information such as network interfaces, MAC addresses and the machine’s architecture. Once this information is gathered, a request to register the machine is made to the MAAS Region Controller. Once this happens, the machine will appear in MAAS with a Declared state.

Commissioning

The commissioning process is the process where MAAS collects hardware information, such as the number of CPU cores, RAM memory, disk size, etc, which can be later used as constraints. Once the machine has been enlisted (Declared State), the machine must be accepted into the MAAS in order for the commissioning processes to begin and for it to be ready for deployment. For example, in the WebUI, an “Accept & Commission” button will be present. Once the machine gets accepted into MAAS, the machine will PXE boot from the MAAS Cluster Controller and will be instructed to run the same ephemeral image (again). This time, however, the commissioning process will be instructed to gather more information about the machine, which will be sent back to the MAAS region controller (via cloud-init from MAAS meta-data server). Once this process has finished, the machine information will be updated it will change to Ready state. This status means that the machine is ready for deployment.

Deployment

Once the machines are in Ready state, they can be used for deployment. Deployment can happen with both juju or the maas-cli (or even the WebUI). The maas-cli will only allow you to install Ubuntu on the machine, while juju will not only allow you to deploy Ubuntu on them, but will allow you to orchestrate services. When a machine has been deployed, its state will change to Allocated to <user>. This state means that the machine is in use by the user who requested its deployment.

Releasing Machines

Once a user doesn’t need the machine anymore, it can be released and its status will change from Allocated to <user> back to Ready. This means that the machine will be turned off and will be made available for later use.

But… How do Machines Turn On/Off?

Now, you might be wondering how are the machines being turned on/off or who is the one in charge of that. MAAS can manage power devices, such as IPMI/iLO, Sentry Switch CDU’s, or even virsh. By default, we expect that all the machines being controlled by MAAS have IPMI/iLO cards. So if your machines do, MAAS will attempt to auto-detect and auto-configure your IPMI/iLO cards during the Enlistment and Commissioning processes. Once the machines are Accepted into MAAS (after enlistment) they will be turned on automatically and they will be Commissioned (that is if IPMI was discovered and configured correctly).. This also means that every time a machine is being deployed, they will be turned on automatically.

Note that MAAS not only handles physical machines, it can also handle Virtual Machines, hence the virsh power management type. However, you will have to manually configure the details in order for MAAS to manage these virtual machines and turn them on/off automatically.

Read more
roaksoax

I just wanted to share a few pics I was sent of the Volcano & my hometown… enjoy!

Read more
roaksoax

After the success of the improvements of PowerNap in Ubuntu Natty 11.04, we will be having another session st UDS-O Thursday the 12th at 15:00. In this session we will discuss the following:

  • Second Stage action when running in PowerSave mode.
  • Support for port-ranges in Network Monitors
  • Changing the polling monitoring system to an event based system.
  • Client/Server approach to monitor/manage PowerNap “client machines” over the network for data center wide deployments
  • Server ARP network Monitoring for Automatic Wake-up of Clients.
  • API like approach for Integration with other projects.

Everyone who’s interested are more than welcome to join! For more information, the blueprint can be found HERE.

Read more
roaksoax

Thursday the 12th at noon we will be having the HA Cluster Stack session. In the session we will discuss the following:

  • Discuss the adoption of new upstream releases of the HA Cluster Stack to include in Oneiric in preparation for the next Ubuntu LTS release.
  • Finish up work items from previous sessions (mainly documentation).
  • Gather feature requests and discuss the creation of meta-packages.
  • And, if the time allows us, I’d like to follow up with HA for OpenStack as they had a session in their Design Summit about it.

If you are interested of the Future of HA Clustering in Ubuntu, you are more than welcome to join this session. For more information the blueprint can be found HERE.

Read more
roaksoax

Here are the minutes of the server team meeting. They can also be found online with the irc log here.

=== Meeting Actions ====

  • No actions.

==== Review ACTION points from previous meeting ====

  • Daviey to submit UDS-O topic for translations and docs
    • Talked to David P. about it and agreed to participate in the UDS-O session.
  • jamespage to helpout with verification of euca-dhcp bug
    • DONE
  • jamespage to discover process/location for fixing ubuntu server documentation
    • DONE
    • Docs up to date: https://wiki.ubuntu.com/ServerTeam/KnowledgeBase#Documentor resources

==== Natty Development ====
Focus is now on bug fixing rather than development.

  • robbiew: any remaining work items should be universe related or non-code
  • SpampS mentioned a few items are remaining:
  • http://people.canonical.com/~platform/workitems/natty/canonical-server.html

==== Ubuntu Server Team Events ====

  • SpamapS: Apr. 13,14 I will be at the MySQL Users’ Conference in Santa Clara, CA
  • jamespage: I’ll be attending puppet camp europe on the 28/29 April in Amsterdam
  • zul: Apr 25 – 29 I will be at the Openstack summit, Santa Clara, CA

==== Weekly Updates & Questions for the QA Team (hggdh) ====

  • initial ISO tests via jenkins are all done, with success except for ec2.
  • Proposed to discuss jenkins usage on UDS.

==== Weekly Updates & Questions for the Kernel Team (smb) ====

  • Launchpad bug 751253 in linux (Ubuntu) “Many interrupts and slow disk I/O on Lucid xen guest” [Undecided,New] https://launchpad.net/bugs/751253
  • <smb> thinks really that sounds a bit like maybe xen version or actually a lot of traffic as that machine had 500GB going out in 5 days

==== Weekly Updates & Questions for the Documentation Team (sommer) ====

  • Not present
  • SpampS suggested to select someone else to drive the team.
  • RoAkSoAx suggested to remote the item from the Agenda until replacement is found.

==== Weekly Updates & Questions from the Ubuntu Community ====

  • kim0: Will be running a weekly community IRC meeting for the Ensemble team. This will be run in #ubuntu-cloud starting tomorrow at 6pm-UTC, it will be merged with the older community meeting. Everyone attending this meeting is a good candidate to attend tomorrow’s
  • That meeting will provide a high level overview of development in the Ensemble world since last meeting/week.
  • Writing an announcement on http://cloud.ubuntu.com/ right now, which I’ll mirror on planet, and everyone is encouraged to spread/tweet…etc

==== Open Discussion ====

  • kirkland throwing a release party:   http://blog.dustinkirkland.com/2011/04/austins-natty-release-party.html

==== Announce next meeting date and time ====

  • Tuesday, April  19th 2011 16:00 UTC

Read more
roaksoax

Cancer or AIDS?

Don’t worry, I don’t have the sickness nor I desire it to anyone (Knock on wood). This post represents my thoughts on the recent presidential elections held in Peru.  I’m not gonna go into much detail but rather give a brief overview of how I see things in my country. Also, I apologize if the reference to the sicknesses offends someone, as I’m just really trying to represent what great amount of people in my country think. (Not only me, but my family, friends, the young and the old, and even the press)

Yesterday Sunday, presidential elections were held. 5 were the candidates, 3 of which were the most popular. Unfortunately, only two of them go to a second stage on which the president will be elected. These are, Keiko Fujimori (Cancer) and Ollanta Humala (AIDS).

Keiko Fujimori, daughter of Alberto Fujimori, former president of Peru between 1990 and 2000 (after two consecutive periods) and 2001 (third period). Keiko Fujimori, very well educated person, having studied in the US. His father, the worst kind of man in the world. During this presidency, he stole millions and millions of dollars. He was supposed to only server two consecutive periods according to laws, however, his desire for power was greater that he tricked the elections and won a third time. After this, videos of his advisor Vladimiro Montesinos bribing congress man/business man/etc appeared on TV. The advisor, decided to scape the country, and with him Alberto Fujimori. He created a show trying to look after Vladimiro, however, it was just a distraction to help him scape (or so is presumed). Then, months later (if I recall correctly), he went to Japan for a presidential visit. However, once he arrived there, he declared himself as Japanese citizen and resigned to the presidency. Years later he tried to came back to Peru through Chile, but he was caught and now he is serving his sentence in jail for all the crimes he committed. It is presumed that along with his advisor, they stole millions of dollars from Peru, bribed people, controlled newspapers and all that sort of stuff. He managed to hide (or destroy) most of the evidence they got against him, but he left his advisor hanging. Anyways, during his first few years as a president, he didn’t do all bad things though. He pretty much eliminated terrorism and pulled Peru up economically, from a sinking ship. Peru was submerged in inflation. His daughter, however, doesn’t have anything to offer to the country. She got where she is thanks to the popularity of her father. Vote percentage (~26%)

Ollanta Humala, on the other hand, very badly educated (from my point of view). Retired commander from the Peruvian Army. Very well educated father, and murderer brother. Puppet of Hugo Chavez. Well, there’s not really much to say about him rather than he is just incompetent. His brother (and presumably him) organized a a take over of a small town in the Peru mountains leader-ed by the brother (Ollanta of course always said he wasn’t involved). They killed cops.  His brother is currently in jail and he has admitted that his brother was involved (I presume after left abandoned by him to rotten in Jail). In the northern part of the country, Indians from the jungle started a quarrel with the current government, taking roads and killing lots of cops. It was proven with videos and intelligence report that this was all organized by Ollanta and his puppets. Anyways, with help of Hugo Chavez, he has been trying to buy the country. In poor places, he has created organizations financed by Chavez, to “feed” (or should I say recruit) people to join the cause. Anyways, he has proven himself uneducated in the debates and an idiot in various aspects of the current situation of Peru in general. However, this didn’t prevent him from being the highest voted in Peru (~30%).

So anyways, Ollanta wants to renegotiate all the international treaties. He wants to change the constitution. He wants to give the wealth of the country to the poorest (and obviously take it from the richest’s and middle class). He wants to do what Chavez and Evo (president of Bolivia) did to their countries. He wants to rule all his life in a dictatorship rather than a democracy. Economically, he is gonna f**** the country up for his own interests. Which ones? Power, Money, you know. On the other side, Fujimori, is gonna probably follow his daddy’s saying. Yeah, she is just a face behind the master mind.

30% of the country was ignorant enough to chose for Ollanta. Yes only the poor, who were maliciously tricked, voted for Ollanta. Now, around 30% of the Peruvian population is considered to be poor. From that percentage, almost all voted for Ollanta (from my point of view). 26% of the population voted for Fujimori. The rest, around 56% voted for other candidates, mainly 3, who weren’t intelligent enough to join forces against a common enemy (again, they all went towards their own personal interests rather than the country’s sake). Unfortunately for us, everybody that decided to vote against the worse, voted for 3 of the candidates and that wasn’t enough to beat the enemy.

So you may wonder, why has this happened. In short and as I mentioned above, it is a combination of lack of judgment and education. Yes, Peru is a country on which education is not a priority. (State universities, schools, etc etc, simply suck). So candidates took advantage of the lack of education to get votes. Unfortunately for us, there were so many candidates that the worst ended up having the most votes. If I recall correctly, Peru is a country that has 85% of the biodiversity of the world. We have gold, natural gas, silver, and other minerals. We are so rich in many stuff, but yet, so poor in education and judgment. Congressman, Presidents, etc, they only worry about their own pockets and people is just so ignorant that they keep voting for them. People don’t vote objectively, they just vote because of the fancy things presidents say. Ignorants, voted for the ignorants. Fujimorists, voted for Fujimori. The rest, voted for the better, unfortunately, the better wasn’t united.

To conclude, Peru is now in the hands of us the voters to decide for the better. Not the best, the better. I just hope people see the way I see it. Unfortunately, we are between Cancer and AIDS. I believe if Fujimori ends up as a president, we have some hope, but if not, we are doomed. People is scared of getting the Fujimori clan into the government again, but most of us are even more scared of having Ollanta changing the country Chavez’ like!

Read more
roaksoax

For all of those who don’t know, “PowerNap is a screen saver for servers except it doesn’t save your screen, it saves the environment and lowers your energy bill.” Dustin Kirkland :). PowerNap was originally created by Dustin to be integrated with (UEC), but it has been extended for Home use. Originally, it put to sleep machines (suspend, hibernate, poweroff) when a list of Processes were not found in the process table for  a determined period of time. However, during the Natty cycle improvements were made. So, PowerNap now puts to sleep (suspend, poweroff, powersave) machines that are tagged as underutilized  by a set if Monitors.

Improvements Overview

  • PowerNap, has a set of Monitors to be able to detect activity within the server and determine if it is idled or not. If it is, PowerNap will execute an ACTION. Administrators can chose what monitors to enable/disable. These are:
    • ProcessMonitor: Looks for a process in the process table.
    • IOMonitor: Monitors IO activity by process name.
    • InputMonitor: Monitors Mouse/Keyboard input activity connected to USB.
    • LoadMonitor: Monitors a server load threshold.
    • TCPMonitor: Monitors active TCP connections (i.e. SSH).
    • UDPMonitor: Monitors activity received in any user defined UDP port.
    • WoLMonitor: Monitors WoL packets on ports 7 and/or 9.
    • ConsoleMonitor: Monitors console activity.
  • The process starts when PowerNap begins monitoring for an ABSENT_PERIOD (i.e. 300secs). If within that period no activity has been detected, then PowerNap executes an ACTION.
    • Before the ACTION is taken, PowerNap enters to the GRACE_PERIOD (I.e 30 seconds), notifying the user that the ACTION will be taken in GRACE_PERIOD amount of seconds. (i.e. On second 270 PowerNap will notifies its users and the period between 270 and 300 seconds is known as GRACE_PERIOD).
  • The possible ACTIONS are:
    • Best-effort – Automatically decide between a user defined action or any of the other methods listed below (these methods rely on pm-utils)
    • Suspend (Command: pm-suspend)
    • Hibernate (Command: pm-hibernate)
    • Poweroff (Command: poweroff)
    • Powersave – Newly added method that reduces the Power Consumption (Command: pm-powersave)
  • The PowerSave method executes a set of scripts both provided by pm-utils and PowerNap. These scripts have the objective to reduce the power consumption of the machine by turning off hardware capabilities or tuning the OS. It is possible to provide any custom script as well as chose which to enable or disable. Examples of these scripts are:
    • Turn off all the CPU cores except of one.
    • Reduce the cores frequency to the lowest possible.
    • Disable WoL from Network Cards.
    • Change the NIC speed from 1Gbps to 100Mbps.
    • Turn off USB ports.
    • Disable HAL polling.
  • Now, when the PowerSave ACTION is taken, the machine keeps running in a lower power state. PowerNap keeps Monitoring until activity is detected. Once any of the Monitors detects activity, the PowerSave action is reverted.

 

PowerWake

  • PowerWake is simply a tool that sends WoL packets to an specified IP/Broadcast address to be able to wakeup a server.

 

Additional Tools

  • powernap-now: Sends a signal to the PowerNap daemon to execute the ACTION regardless of the state of the monitors.
  • powerwake-now: Sends a signal to the PowerNap daemon to wakeup during the PowerSave mode.
  • Note that these commands have to be executed in the machine running PowerNap. If this needs to be done through the network, then the command will have to be sent remotely to be executed in the machine.


The Future

  • Second Stage Action: Second Stage Action when entered into PowerSave mode. (i.e. Suspend after 2 hours after running in PowerSave mode).
  • Client/Server Model: The main Idea is to create a powerwaked Server that tracks all the machines using PowerNap in the network and is able to schedule wakeups, upstates, etc, etc.

Read more
roaksoax

Currently, I connect my laptop to a 22-inch TV. I do this using HDMI. But, I’m now planning to get two 22-inch LCD monitors. However, I was wondering how can I connect the two external monitors to my laptop to independent screens.

I was reading online that getting a DualHead2Go device would be one of the options (regardless of its resolution restrictions). Does anyone have one of this??

Or, Does anyone know of a USB to VGA (or HDMI) adapter that works out of the box in Ubuntu, and provides a decent resolution for 22 inch LCD’s?

UPDATE: Today, I decided to make a little test with my laptop in the attempt to connect two external monitors to it. (HP dv4t with an nVidia GeForce G 105M). What I simply did is:

First, I connected an external monitor through VGA. I enabled it and disabled the laptop LCD.
Second, I connected a second external monitor through HDMI. The monitor was recognized, I enabled, and it was supposedly enabled. However, there was no video output. The reason is because it was HDMI and I was using the Nouveau driver due to the X breakage in Natty.

So, wondering if this would actually work I decided to try the same in Windows. And you know what? It worked! I didn’t test it throughly though. I just connected two external monitors, one to VGA and one to HDMI (and of course turned of my LCD screen). So, whenever the nVidia/X fix is available in Natty I’ll try the same configuration. I’m pretty sure it will work.

I’m now wondering if this would work with any other computer using Intel video cards?

Read more
roaksoax

My plans to work over the holidays were affected because I ended up not having my laptop available. Fortunately for me I got it back few days ago, which means I can now get back to do the Ubuntu related stuff I wanted to do (TestDrive, PowerNap, Update the Cluster Stack to the latest).

However, after getting my laptop back, I dropped my Nexus One into the water…(yeah boomer). Fortunately, it was turned off. I removed the battery, Memory Card, SIM Card, and dry it as fast as I could… I haven’t turned it up yet since I’m waiting for it to dry completely; but, to help with that, I put it into a bowl with rice. It is sitting there for the last couple of days, since rice is supposed to absorb moisture and humidity. Hopefully it works again!

UPDATE: After leaving my N1 to dry for a couple of days in rice, I decided to give it a try today and see if it works… and IT DOES!! Nothing seems to be malfunctioning… I guess I was just lucky then!!

Anyway, good thing is that I had an old phone so I’m not totally incommunicated (Just no twitting, facebook, irc from the phone when I’m not at home… I guess I’ll prolly be suffering from the abstinence syndrome…or not :) ).

Read more