Project

General

Profile

Actions

Feature #6146

closed

need a upgrade task that uses ceph-deploy

Added by Tamilarasi muthamizhan over 10 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
-
Target version:
% Done:

0%

Source:
Q/A
Tags:
Backport:
Reviewed:
Affected Versions:

Description

currently, we only have upgrades that uses the teuthology install task. we need to make sure we are also testing upgrades using ceph-deploy.

i.e

deploy a cluster using ceph-deploy
upgrade using ceph-deploy, restart daemons.
run tests.

Actions #1

Updated by Tamilarasi muthamizhan over 10 years ago

  • Tracker changed from Bug to Feature
Actions #2

Updated by Ian Colle over 10 years ago

  • Translation missing: en.field_story_points set to 3.00
Actions #3

Updated by Ian Colle over 10 years ago

  • Target version set to v0.70
Actions #4

Updated by Ian Colle over 10 years ago

  • Target version changed from v0.70 to v0.71
Actions #5

Updated by Ian Colle over 10 years ago

  • Target version changed from v0.71 to v0.72 Emperor
Actions #6

Updated by Ian Colle over 10 years ago

  • Target version deleted (v0.72 Emperor)
Actions #7

Updated by Anonymous almost 10 years ago

  • Assignee set to Anonymous
Actions #8

Updated by Anonymous almost 10 years ago

I thought at first that this would be doable with ceph-qa-suite changes, but I think that there should be a ceph_deploy.install function that does not exist and needs to be written.

The ceph_deploy.install function should be much simpler than the current install (it uses ceph-deploy so the interface is simpler and all the remote issues are handled).

Actions #9

Updated by Anonymous almost 10 years ago

  • Target version set to sprint10
Actions #10

Updated by Anonymous over 9 years ago

  • Status changed from New to In Progress

The old code behaved as follows:


@contextlib.contextmanager
def upgrade(ctx, config):
... common code that checks parameters, and builds dictionaries ... 
... of remote nodes and associated role information             ...
    loop through remote nodes:
         ... do some common stuff ...
         ...do some ceph install stuff (calls routines that make remote calls)...
    yield

The version in progress looks like:

def upgrade_common(ctx, config, upgrade_style):
... common code that checks parameters, and builds dictionaries ... 
... of remote nodes and associated role information             ...
    loop through remote nodes:
         ... do some common stuff ...
         call update_style

def upgrade_old_style(...):
    ...do some ceph install stuff (calls routines that make remote calls)...

def upgrade_using_ceph_deploy(...):
    ...upgrade using ceph deploy...

@contextlib.contextmanager
def upgrade(ctx, config):
    upgrade_common(ctx, config, upgrade_old_style)
    yield

@contextlib.contextmanager
def ceph_deploy_upgrade(ctx, config):
    upgrade_common(ctx, config, upgrade_using_ceph_deploy)
    yield

This change keeps the behavior of current upgrade/install.upgrade
lines in current yaml files the same. It allows yaml file lines
that contain install.ceph_deploy_upgrade instead of install.upgrade
to do the same installations using ceph_deploy.

The experimental wip that I have right now does the above, but the
upgrade_using_ceph_deploy method is not finished. The old upgrade
works fine, and ceph_deploy_upgrade worked when I stubbed it to behave
like the old_upgrade.

Actions #11

Updated by Ian Colle over 9 years ago

  • Target version changed from sprint10 to sprint11
Actions #12

Updated by Anonymous over 9 years ago

I have a pull request in for this: #308 (commit 3d6fe89263)

Actions #13

Updated by Anonymous over 9 years ago

  • Status changed from In Progress to Fix Under Review
Actions #14

Updated by Ian Colle over 9 years ago

  • Target version changed from sprint11 to sprint12
Actions #15

Updated by Zack Cerza over 9 years ago

Please link the PR so we can find it easily:
https://github.com/ceph/teuthology/pull/308

It awaits some responses

Actions #16

Updated by Anonymous over 9 years ago

  • Status changed from Fix Under Review to Resolved

Commit 166c8af3 should resolve this

Actions

Also available in: Atom PDF