Merge lp://staging/~sinzui/juju-ci-tools/dont-schedule-devel into lp://staging/juju-ci-tools

Proposed by Curtis Hovey
Status: Merged
Merged at revision: 1079
Proposed branch: lp://staging/~sinzui/juju-ci-tools/dont-schedule-devel
Merge into: lp://staging/juju-ci-tools
Diff against target: 61 lines (+17/-2)
2 files modified
schedule_hetero_control.py (+4/-1)
test_schedule_hetero_control.py (+13/-1)
To merge this branch: bzr merge lp://staging/~sinzui/juju-ci-tools/dont-schedule-devel
Reviewer Review Type Date Requested Status
Martin Packman (community) Approve
Review via email: mp+269510@code.staging.launchpad.net

Description of the change

Do not assume all old-jujus should be testing as clients and servers.

old-juju and the client-archive will contain devel jujus that are used for releases and testing, but will not be used client-server testing. This branch adds a filter to ensure devel agents and agent with a '~' in they name are not used.

This is a hack to the scheduling script. I think the long-term fix is to change the script to read and filter the client-archive in s3, which is the only source of all the client we can test. No local machine will have all the clients to setup a test.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Looks good! One nit inline.

review: Approve
Revision history for this message
Seman (sseman) wrote :

LGTM.

In regard to Martin's comment, currently we also need to match '1.21.5-osx'.

Revision history for this message
Curtis Hovey (sinzui) wrote :

@martin, @seman:

We do indeed need to match and accept clients with -osx and soon -win in their name at this moment. The unit test show the requirement.

I don't think we really want to match on os suffixes in the future. No machine will have all old-jujus. Some machines will have a few needed for upgrade testing, a few will have a subset to test an OS. schedule_hetero_control.py assumes that the host machine has all agents, so it needs to distinguish between them by suffix.

A better strategy is to query s3 for the possible clients, schedule them. the runner script will get the needed client server combination from s3 for the test (optionally placing it in old-juju on the test host so that installation happens once for a set of tests. in psuedo code:

    candidates = list_candidates('./candidates/', limit=5)
    for o_s in ('ubuntu', 'osx', 'win'. 'centos'):
        old_jujus = list_client_archive(o_s, filter=stable)
        for old_juju in old_jujus:
            for candidate in candidates:
                schedule_client_server(o_s, server=old_juju, client=candidate, weekly_streams=False)
                schedule_client_server(o_s, server=candidate, client=old_juju weekly_streams=true)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches