Standing SRU for new MAAS releases.
Marc Deslauriers
marc.deslauriers at canonical.com
Tue Sep 23 12:30:50 UTC 2014
Hi,
On 14-09-02 09:26 AM, Marc Deslauriers wrote:
> Hi,
>
> On 14-08-13 07:58 PM, Andres Rodriguez wrote:
>> Hi Martin,
>>
>> Sorry for the late reply.
>>
>>
>> > - Change DHCP Management in MAAS to make it robust.
>> > - Getting rid of moving parts (Getting rid of the usage of Celery,
>> > RabbitMQ, others)
>>
>> So none of those are considered "public API", it's all through MAAS
>> specific projects? (I. e. it's not supported to inject AMQP requests
>> into the queues from scripts or so, only through MAAS)
>>
>>
>> Correct. This is not at all public API, as this is all internal to MAAS.
>>
>>
>> > - Making MAAS easier to use by providing UI and CLI improvements.
>>
>> How do you ensure CLI API stability, to avoid breaking existing
>> scripts?
>>
>>
>> We maintain backwards compatibility.
>>
>>
>>
>> > No new dependencies will be introduced into MAAS that are not already in
>> > the “main” component of the Ubuntu archive (Question: what about
>> > dependencies in universe, can we do a MIR?)
>>
>> As discussed in today's TB meeting, we really don't want to include
>> that into a provisional MRE. This should be avoided at all cost, and
>> if such an exceptional case happens I'd rather have the options be
>> discussed individually in a TB meeting than giving a blanket exception.
>>
>>
>> The goal is to not introduce any new dependencies. Rather, we would like to
>> reduce the number of dependencies by removing moving parts (such as celery and
>> rabbitmq eventually). However, if new dependencies are seen to be required, we
>> will discuss this with the TB before we move forward with it.
>>
>>
>> > Extensive QA / Automated Testing of new MAAS releases, including upgrade
>> > testing.
>> > We will provide an upgrade path that "just works".
>>
>> Can you please expand that? I. e. how do you make sure that existing
>> MAAS deployments that were done with earlier versions continue to work
>> with proposed new versions? How much do protocol changes affect
>> particular hardware, i. e. up to which degree can this be tested
>> automatically with e. g. a bunch of commodity hardware or even QEMU,
>> and which parts would need the actual supported set of hardware,
>> things like ppc64el or ARM servers, or other hardware which is hard to
>> get into a CI environment?
>>
>>
>> We currently maintain backwards compatibility with all of the components, so
>> every upgrade will yield a working MAAS that continues to work as expected. We
>> currently do manual testing for upgrades, but we are in the process of adding
>> automated upgrade testing to our CI.
>>
>> As far of the hardware, our CI has a few different types of hardware that we
>> test against, including QEMU VM's. Protocol changes are tested against each
>> different type to ensure that different type of hardware is not affected
>> (specially when it comes to BMC controllers, that include IPMI, AMT and virsh).
>>
>> For other type of hardware, such as ppc64el or ARM we do double manual testing.
>> We test the newer version of MAAS against this hardware manually, and then once
>> again when a new MAAS version hits -proposed (which has been the case for 1.5.1
>> / 1.5.2). Furthermore, we also test the latest MAAS releases and MAAS trunk in
>> other Lab, where we do have more variety of hardware that is far more extensive
>> than the one on our CI. In this lab we test the latest available MAAS on daily
>> bases against every single type of hardware we have enabled to ensure that
>> everything works as expected. This is to ensure that new MAAS releases don't
>> introduce any regressions that affect the enabled hardware.
>>
>> Hope this answers your questions.
>>
>
> It's still unclear to me how you are going to make sure a mix of different major
> versions on controllers and nodes will be handled properly.
>
> How far back will you maintain backward and forward compatibility?
> How will you automate testing of all the different combinations of versions?
>
> Are there any scenarios that will not be handled? For example, will there be any
> restrictions in mixing different versions where, for example, controllers need
> to be a higher version than the nodes, or that all controllers need to run the
> same version, etc?
I am still awaiting answers to my questions. Perhaps my original post got
overlooked?
Thanks,
Marc.
More information about the technical-board
mailing list