[openstack-dev] [magnum] Discussion of supporting single/multiple OS distro

Kai Qiang Wu wkqwu at cn.ibm.com
Wed Mar 16 01:20:46 UTC 2016


Hi  Stdake,

There is a patch about Atomic 23 support in Magnum.  And atomic 23 uses
kubernetes 1.0.6, and docker 1.9.1.
>From Steve Gordon, I learnt they did have a two-weekly release. To me it
seems each atomic 23 release not much difference, (minor change)
The major rebases/updates may still have to wait for e.g. Fedora Atomic 24.

So maybe we not need to test every Atomic 23 two-weekly.
Pick one or update old, when we find it is integrated with new kubernetes
or docker, etcd etc. If other small changes(not include security), seems
not need to update so frequently, it can save some efforts.


What do you think ?

Thanks

Best Wishes,
--------------------------------------------------------------------------------
Kai Qiang Wu (吴开强  Kennan)
IBM China System and Technology Lab, Beijing

E-mail: wkqwu at cn.ibm.com
Tel: 86-10-82451647
Address: Building 28(Ring Building), ZhongGuanCun Software Park,
         No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China
100193
--------------------------------------------------------------------------------
Follow your heart. You are miracle!



From:	"Steven Dake (stdake)" <stdake at cisco.com>
To:	"OpenStack Development Mailing List (not for usage questions)"
            <openstack-dev at lists.openstack.org>
Date:	16/03/2016 03:23 am
Subject:	Re: [openstack-dev] [magnum] Discussion of supporting
            single/multiple OS distro



WFM as long as we stick to the spirit of the proposal and don't end up in a
situation where there is only one distribution.  Others in the thread had
indicated there would be only one distribution in tree, which I'd find
disturbing for reasons already described on this thread.

While we are about it, we should move to the latest version of atomic and
chase atomic every two weeks on their release.  Thoughts?

Regards
-steve


From: Hongbin Lu <hongbin.lu at huawei.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" <
openstack-dev at lists.openstack.org>
Date: Monday, March 14, 2016 at 8:10 PM
To: "OpenStack Development Mailing List (not for usage questions)" <
openstack-dev at lists.openstack.org>
Subject: Re: [openstack-dev] [magnum] Discussion of supporting
single/multiple OS distro



            From: Adrian Otto [mailto:adrian.otto at rackspace.com]
            Sent: March-14-16 4:49 PM
            To: OpenStack Development Mailing List (not for usage
            questions)
            Subject: Re: [openstack-dev] [magnum] Discussion of supporting
            single/multiple OS distro

            Steve,

            I think you may have misunderstood our intent here. We are not
            seeking to lock in to a single OS vendor. Each COE driver can
            have a different OS. We can have multiple drivers per COE. The
            point is that drivers should be simple, and therefore should
            support one Bay node OS each. That would mean taking what we
            have today in our Kubernetes Bay type implementation and
            breaking it down into two drivers: one for CoreOS and another
            for Fedora/Atomic. New drivers would start out in a contrib
            directory where complete functional testing would not be
            required. In order to graduate one out of contrib and into the
            realm of support of the Magnum dev team, it would need to have
            a full set of tests, and someone actively maintaining it.
      OK. It sounds like the proposal allows more than one OS to be
      in-tree, as long as the second OS goes through an incubation process.
      If that is what you mean, it sounds reasonable to me.

            Multi-personality driers would be relatively complex. That
            approach would slow down COE specific feature development, and
            complicate maintenance that is needed as new versions of the
            dependency chain are bundled in (docker, k8s, etcd, etc.). We
            have all agreed that having integration points that allow for
            alternate OS selection is still our direction. This follows the
            pattern that we set previously when deciding what networking
            options to support. We will have one that’s included as a
            default, and a way to plug in alternates.

            Here is what I expect to see when COE drivers are implemented:

            Docker Swarm:
            Default driver Fedora/Atomic
            Alternate driver: TBD

            Kubernetes:
            Default driver Fedora/Atomic
            Alternate driver: CoreOS

            Apache Mesos/Marathon:
            Default driver: Ubuntu
            Alternate driver: TBD

            We can allow an arbitrary number of alternates. Those TBD items
            can be initially added to the contrib directory, and with the
            right level of community support can be advanced to defaults if
            shown to work better, be more straightforward to maintain, be
            more secure, or whatever criteria is important to us when
            presented with the choice. Such criteria will be subject to
            community consensus. This should allow for free experimentation
            with alternates to allow for innovation. See how this is not
            locking in a single OS vendor?

            Adrian

                  On Mar 14, 2016, at 12:41 PM, Steven Dake (stdake) <
                  stdake at cisco.com> wrote:

                  Hongbin,

                  When we are at a disagreement in the Kolla core team, we
                  have the Kolla core reviewers vote on the matter. This is
                  typical standard OpenStack best practice.

                  I think the vote would be something like
                  "Implement one OS/COE/network/storage prototype, or
                  implement many."

                  I don't have a horse in this race, but I think it would
                  be seriously damaging to Magnum to lock in to a single
                  vendor.

                  Regards
                  -steve


                  From: Hongbin Lu <hongbin.lu at huawei.com>
                  Reply-To: "OpenStack Development Mailing List (not for
                  usage questions)" <openstack-dev at lists.openstack.org>
                  Date: Monday, March 7, 2016 at 10:06 AM
                  To: "OpenStack Development Mailing List (not for usage
                  questions)" <openstack-dev at lists.openstack.org>
                  Subject: Re: [openstack-dev] [magnum] Discussion of
                  supporting single/multiple OS distro



                         From: Corey O'Brien [mailto:coreypobrien at gmail.com
                         ]
                         Sent: March-07-16 8:11 AM
                         To: OpenStack Development Mailing List (not for
                         usage questions)
                         Subject: Re: [openstack-dev] [magnum] Discussion
                         of supporting single/multiple OS distro

                         Hongbin, I think the offer to support different OS
                         options is a perfect example both of what we want
                         and what we don't want. We definitely want to
                         allow for someone like yourself to maintain
                         templates for whatever OS they want and to have
                         that option be easily integrated in to a Magnum
                         deployment. However, when developing features or
                         bug fixes, we can't wait for you to have time to
                         add it for whatever OS you are promising to
                         maintain.
                   It might be true that supporting additional OS could
                   slow down the development speed, but the key question is
                   how much the impact will be. Does it outweigh the
                   benefits? IMO, the impact doesn’t seem to be
                   significant, given the fact that most features and bug
                   fixes are OS agnostic. Also, keep in mind that every
                   features we introduced (variety of COEs, variety of Nova
                   virt-driver, variety of network driver, variety of
                   volume driver, variety of …) incurs a maintenance
                   overhead. If you want an optimal development speed, we
                   will be limited to support a single COE/virt
                   driver/network driver/volume driver. I guess that is not
                   the direction we like to be?

                         Instead, we would all be forced to develop the
                         feature for that OS as well. If every member of
                         the team had a special OS like that we'd all have
                         to maintain all of them.
                   To be clear, I don’t have a special OS, I guess neither
                   do others who disagreed in this thread.

                         Alternatively, what was agreed on by most at the
                         midcycle was that if someone like yourself wanted
                         to support a specific OS option, we would have an
                         easy place for those contributions to go without
                         impacting the rest of the team. The team as a
                         whole would agree to develop all features for at
                         least the reference OS.
                   Could we re-confirm that this is a team agreement? There
                   is no harm to re-confirm it in the design summit/ML/team
                   meeting. Frankly, it doesn’t seem to be.

                         Then individuals or companies who are passionate
                         about an alternative OS can develop the features
                         for that OS.

                         Corey

                         On Sat, Mar 5, 2016 at 12:30 AM Hongbin Lu <
                         hongbin.lu at huawei.com> wrote:


                               From: Adrian Otto [mailto:
                               adrian.otto at rackspace.com]
                               Sent: March-04-16 6:31 PM

                               To: OpenStack Development Mailing List (not
                               for usage questions)
                               Subject: Re: [openstack-dev] [magnum]
                               Discussion of supporting single/multiple OS
                               distro

                               Steve,

                                     On Mar 4, 2016, at 2:41 PM, Steven
                                     Dake (stdake) <stdake at cisco.com>
                                     wrote:

                                     From: Adrian Otto <
                                     adrian.otto at rackspace.com>
                                     Reply-To: "OpenStack Development
                                     Mailing List (not for usage
                                     questions)" <
                                     openstack-dev at lists.openstack.org>
                                     Date: Friday, March 4, 2016 at 12:48
                                     PM
                                     To: "OpenStack Development Mailing
                                     List (not for usage questions)" <
                                     openstack-dev at lists.openstack.org>
                                     Subject: Re: [openstack-dev] [magnum]
                                     Discussion of supporting
                                     single/multiple OS distro

                                      Hongbin,

                                      To be clear, this pursuit is not
                                      about what OS options cloud operators
                                      can select. We will be offering a
                                      method of choice. It has to do with
                                      what we plan to build comprehensive
                                      testing for,
                                This is easy. Once we build comprehensive
                                tests for the first OS, just re-run it for
                                other OS(s).

                                      and the implications that has on our
                                      pace of feature development. My
                                      guidance here is that we resist the
                                      temptation to create a system with
                                      more permutations than we can
                                      possibly support. The relation
                                      between bay node OS, Heat Template,
                                      Heat Template parameters, COE, and
                                      COE dependencies (could-init, docker,
                                      flannel, etcd, etc.) are
                                      multiplicative in nature. From the
                                      mid cycle, it was clear to me that:

                                      1) We want to test at least one OS
                                      per COE from end-to-end with
                                      comprehensive functional tests.
                                      2) We want to offer clear and precise
                                      integration points to allow cloud
                                      operators to substitute their own OS
                                      in place of whatever one is the
                                      default for the given COE.

                                     A COE shouldn’t have a default
                                     necessarily that locks out other
                                     defaults.  Magnum devs are the experts
                                     in how these systems operate, and as
                                     such need to take on the
                                     responsibility of the implementation
                                     for multi-os support.

                                      3) We want to control the total
                                      number of configuration permutations
                                      to simplify our efforts as a project.
                                      We agreed that gate testing all
                                      possible permutations is intractable.

                                     I disagree with this point, but I
                                     don't have the bandwidth available to
                                     prove it ;)

                               That’s exactly my point. It takes a chunk of
                               human bandwidth to carry that
                               responsibility. If we had a system engineer
                               assigned from each of the various upstream
                               OS distros working with Magnum, this would
                               not be a big deal. Expecting our current
                               contributors to support a variety of OS
                               variants is not realistic.
                         You have my promise to support an additional OS
                         for 1 or 2 popular COEs.

                               Change velocity among all the components we
                               rely on has been very high. We see some of
                               our best contributors frequently sidetracked
                               in the details of the distros releasing
                               versions of code that won’t work with ours.
                               We want to upgrade a component to add a new
                               feature, but struggle to because the new
                               release of the distro that offers that
                               component is otherwise incompatible.
                               Multiply this by more distros, and we expect
                               a real problem.
                         At Magnum upstream, the overhead doesn’t seem to
                         come from the OS. Perhaps, that is specific to
                         your downstream?

                               There is no harm if you have 30 gates
                               running the various combinations.
                               Infrastructure can handle the load.  Whether
                               devs have the cycles to make a fully
                               bulletproof gate is the question I think you
                               answered with the word intractable.

                               Actually, our existing gate tests are really
                               stressing out our CI infra. At least one of
                               the new infrastructure providers that
                               replaced HP have equipment that runs
                               considerably slower. For example, our swam
                               functional gate now frequently fails because
                               it can’t finish before the allowed time
                               limit of 2 hours where it could finish
                               substantially faster before. If we expanded
                               the workload considerably, we might quickly
                               work to the detriment of other projects by
                               perpetually clogging the CI pipelines. We
                               want to be a good citizen of the openstack
                               CI community. Testing configuration of third
                               party software should be done with third
                               party CI setups. That’s one of the reasons
                               those exist. Ideally, each would be
                               maintained by those who have a strategic
                               (commercial?) interest in support for that
                               particular OS.

                                     I can tell you in Kolla we spend a lot
                                     of cycles just getting basic gating
                                     going of building containers and then
                                     deploying them.  We have even made
                                     inroads into testing the deployment.
                                     We do CentOS, Ubuntu, and soon Oracle
                                     Linux, for both source and binary and
                                     build and deploy.  Lots of gates and
                                     if they aren't green we know the patch
                                     is wrong.

                               Remember that COE’s are tested on nova
                               instances within heat stacks. Starting lots
                               of nova instances within devstack in the
                               gates is problematic. We are looking into
                               using a libvirt-lxc instance type from nova
                               instead of a libvirt-kvm instance to help
                               alleviate this. Until then, limiting the
                               scope of our gate tests is appropriate. We
                               will continue our efforts to make them
                               reasonably efficient.

                               Thanks,

                               Adrian


                                     Regards
                                     -steve


                                      Note that it will take a thoughtful
                                      approach (subject to discussion) to
                                      balance these interests. Please take
                                      a moment to review the interest
                                      above. Do you or others disagree with
                                      these? If so, why?

                                      Adrian

                                            On Mar 4, 2016, at 9:09 AM,
                                            Hongbin Lu <
                                            hongbin.lu at huawei.com> wrote:

                                            I don’t think there is any
                                            consensus on supporting single
                                            distro. There are multiple
                                            disagreements on this thread,
                                            including several senior team
                                            members and a project
                                            co-founder. This topic should
                                            be re-discussed (possibly at
                                            the design summit).

                                            Best regards,
                                            Hongbin

                                            From: Corey O'Brien [
                                            mailto:coreypobrien at gmail.com]
                                            Sent: March-04-16 11:37 AM
                                            To: OpenStack Development
                                            Mailing List (not for usage
                                            questions)
                                            Subject: Re: [openstack-dev]
                                            [magnum] Discussion of
                                            supporting single/multiple OS
                                            distro

                                            I don't think anyone is saying
                                            that code should somehow block
                                            support for multiple distros.
                                            The discussion at midcycle was
                                            about what the we should gate
                                            on and ensure feature parity
                                            for as a team. Ideally, we'd
                                            like to get support for every
                                            distro, I think, but no one
                                            wants to have that many gates.
                                            Instead, the consensus at the
                                            midcycle was to have 1
                                            reference distro for each COE,
                                            gate on those and develop
                                            features there, and then have
                                            any other distros be maintained
                                            by those in the community that
                                            are passionate about them.

                                            The issue also isn't about how
                                            difficult or not it is. The
                                            problem we want to avoid is
                                            spending precious time
                                            guaranteeing that new features
                                            and bug fixes make it through
                                            multiple distros.

                                            Corey

                                            On Fri, Mar 4, 2016 at 11:18 AM
                                            Steven Dake (stdake) <
                                            stdake at cisco.com> wrote:
                                             My position on this is simple.

                                             Operators are used to using
                                             specific distros because that
                                             is what they used in the
                                             90s,and the 00s, and the 10s.
                                             Yes, 25 years of using a
                                             distro, and you learn it
                                             inside and out.  This means
                                             you don't want to relearn a
                                             new distro, especially if your
                                             an RPM user going to DEB or a
                                             DEB user going to RPM.  These
                                             are non-starter options for
                                             operators, and as a result,
                                             mean that distro choice is a
                                             must.  Since CoreOS is a new
                                             OS in the marketplace, it may
                                             make sense to consider placing
                                             it in "third" position in
                                             terms of support.

                                             Besides that problem, various
                                             distribution companies will
                                             only support distros running
                                             in Vms if it matches the host
                                             kernel, which makes total
                                             sense to me.  This means on an
                                             Ubuntu host if I want support
                                             I need to run Ubuntu vms, on a
                                             RHEL host I want to run RHEL
                                             vms, because, hey, I want my
                                             issues supported.

                                             For these reasons and these
                                             reasons alone, there is no
                                             good rationale to remove
                                             multi-distro support  from
                                             Magnum.  All I've heard in
                                             this thread so far is "its too
                                             hard".  Its not too hard,
                                             especially with Heat
                                             conditionals making their way
                                             into Mitaka.

                                             Regards
                                             -steve

                                             From: Hongbin Lu <
                                             hongbin.lu at huawei.com>
                                             Reply-To: "
                                             openstack-dev at lists.openstack.org
                                             " <
                                             openstack-dev at lists.openstack.org
                                             >
                                             Date: Monday, February 29,
                                             2016 at 9:40 AM
                                             To: "
                                             openstack-dev at lists.openstack.org
                                             " <
                                             openstack-dev at lists.openstack.org
                                             >
                                             Subject: [openstack-dev]
                                             [magnum] Discussion of
                                             supporting single/multiple OS
                                             distro

                                             Hi team,

                                             This is a continued discussion
                                             from a review [1]. Corey
                                             O'Brien suggested to have
                                             Magnum support a single OS
                                             distro (Atomic). I disagreed.
                                             I think we should bring the
                                             discussion to here to get
                                             broader set of inputs.

                                             Corey O'Brien
                                             From the midcycle, we decided
                                             we weren't going to continue
                                             to support 2 different
                                             versions of the k8s template.
                                             Instead, we were going to
                                             maintain the Fedora Atomic
                                             version of k8s and remove the
                                             coreos templates from the
                                             tree. I don't think we should
                                             continue to develop features
                                             for coreos k8s if that is
                                             true.
                                             In addition, I don't think we
                                             should break the coreos
                                             template by adding the trust
                                             token as a heat parameter.

                                             Hongbin Lu
                                             I was on the midcycle and I
                                             don't remember any decision to
                                             remove CoreOS support. Why you
                                             want to remove CoreOS
                                             templates from the tree.
                                             Please note that this is a
                                             very big decision and please
                                             discuss it with the team
                                             thoughtfully and make sure
                                             everyone agree.

                                             Corey O'Brien
                                             Removing the coreos templates
                                             was a part of the COE drivers
                                             decision. Since each COE
                                             driver will only support 1
                                             distro+version+coe we
                                             discussed which ones to
                                             support in tree. The decision
                                             was that instead of trying to
                                             support every distro and every
                                             version for every coe, the
                                             magnum tree would only have
                                             support for 1 version of 1
                                             distro for each of the 3 COEs
                                             (swarm/docker/mesos). Since we
                                             already are going to support
                                             Atomic for swarm, removing
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160316/1a03add8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160316/1a03add8/attachment.gif>


More information about the OpenStack-dev mailing list