Tasks cross-dependencies make deployment non-optimal and introduce race conditions

Bug #1533279 reported by Vladimir Kuklin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Vladimir Kuklin
8.0.x
Fix Released
High
Vladimir Kuklin

Bug Description

Current set of dependencies between tasks for task-based deployment is not so optimal as it allows for parallel deployment of several non-concurrent roles and also does not impose cross-dependencies for key tasks making them implicit. We should split some of the tasks into primary/non-primary groups, e.g. for keystone and tie tasks accordingly.

Changed in fuel:
status: Confirmed → In Progress
tags: added: team-enhancements
tags: added: feature-task-based
Revision history for this message
Alexey Shtokolov (ashtokolov) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/270929

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Related fix proposed to branch: master
Review: https://review.openstack.org/272702

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/272702
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=9af54824e7431b5cb108c701be47286e7b10206a
Submitter: Jenkins
Branch: master

commit 9af54824e7431b5cb108c701be47286e7b10206a
Author: Vladimir Kuklin <email address hidden>
Date: Tue Jan 26 20:14:21 2016 +0300

    Refactor pieces of noop testing framework

    This patch does the following:

    1) Adds puppet_spec library to a list of fetched
    specs to leverage some of additional matchers
    2) Makes spec_helper load puppet core spec directory
    which may also contain things we would want to reuse
    3) Introduces new matcher for transitive dependencies
    that allows one to not search for exact dependencies
    with `that_comes_before` matcher, but to just check for
    resources dependencies

    Change-Id: Iad3b6f31a4c5be1ec306d9b4e7eedbd2cf720e95
    Related-bug: #1533279

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (stable/8.0)

Related fix proposed to branch: stable/8.0
Review: https://review.openstack.org/274611

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/270929
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=cbcb81d3436c9a65c50351fafc8c066ae740eea6
Submitter: Jenkins
Branch: master

commit cbcb81d3436c9a65c50351fafc8c066ae740eea6
Author: Vladimir Kuklin <email address hidden>
Date: Thu Jan 21 20:22:36 2016 +0300

    Refactor code of LB backends waiting pieces

    This commit introduces a couple of classes and a function
    to allow a user to specify for which load balancing checkers
    to wait.

    Change-Id: I9548ae440111fb0c2356ccb897318d30a8e264ff
    Related-bug: #1533279

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/256688
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=2c8de72d94389fe47c43b661288ddbde45f85595
Submitter: Jenkins
Branch: master

commit 2c8de72d94389fe47c43b661288ddbde45f85595
Author: Vladimir Kuklin <email address hidden>
Date: Fri Dec 11 23:16:14 2015 +0300

    Specify openstack services cross-deps explicitly

    In order to avoid race condition, introduce
    explicit cross-dependencies for openstack services

    Closes-bug: #1533279

    Change-Id: Ib68d0e46f915578ad8513cd5a0b97f4658d4e078

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (stable/8.0)

Related fix proposed to branch: stable/8.0
Review: https://review.openstack.org/274891

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-library (stable/8.0)

Reviewed: https://review.openstack.org/274611
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=cd93a21d92ba8ac33ad8e65a83cf49a3003ad105
Submitter: Jenkins
Branch: stable/8.0

commit cd93a21d92ba8ac33ad8e65a83cf49a3003ad105
Author: Vladimir Kuklin <email address hidden>
Date: Tue Jan 26 20:14:21 2016 +0300

    Refactor pieces of noop testing framework

    This patch does the following:

    1) Adds puppet_spec library to a list of fetched
    specs to leverage some of additional matchers
    2) Makes spec_helper load puppet core spec directory
    which may also contain things we would want to reuse
    3) Introduces new matcher for transitive dependencies
    that allows one to not search for exact dependencies
    with `that_comes_before` matcher, but to just check for
    resources dependencies

    Change-Id: Iad3b6f31a4c5be1ec306d9b4e7eedbd2cf720e95
    Related-bug: #1533279
    (cherry picked from commit 9af54824e7431b5cb108c701be47286e7b10206a)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (stable/8.0)

Reviewed: https://review.openstack.org/266524
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=02e4b84e6d59fab593b412f1629ef6a07d52daac
Submitter: Jenkins
Branch: stable/8.0

commit 02e4b84e6d59fab593b412f1629ef6a07d52daac
Author: Vladimir Kuklin <email address hidden>
Date: Fri Dec 11 23:16:14 2015 +0300

    Specify openstack services cross-deps explicitly

    In order to avoid race condition, introduce
    explicit cross-dependencies for openstack services

    Closes-bug: #1533279

    Change-Id: Ib68d0e46f915578ad8513cd5a0b97f4658d4e078

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-library (stable/8.0)

Reviewed: https://review.openstack.org/274891
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=de04a4059400a4c61d67065fb81390d3fafa87e1
Submitter: Jenkins
Branch: stable/8.0

commit de04a4059400a4c61d67065fb81390d3fafa87e1
Author: Vladimir Kuklin <email address hidden>
Date: Thu Jan 21 20:22:36 2016 +0300

    Refactor code of LB backends waiting pieces

    This commit introduces a couple of classes and a function
    to allow a user to specify for which load balancing checkers
    to wait.

    Related-bug: #1533279

    Conflicts:
     deployment/puppet/osnailyfacter/modular/ceph/radosgw.pp
     deployment/puppet/osnailyfacter/modular/openstack-controller/openstack-controller.pp
     deployment/puppet/osnailyfacter/modular/sahara/sahara.pp
     tests/noop/spec/hosts/ceph/radosgw_spec.rb

    (cherry-picked from cbcb81d3436c9a65c50351fafc8c066ae740eea6)

    Change-Id: I9548ae440111fb0c2356ccb897318d30a8e264ff

tags: added: on-verification
Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.