~sseman/juju-ci-tools/model-change-watcher-py3-2

« back to all changes in this revision

Viewing changes to assess_recovery.py

  • Committer: Aaron Bentley
  • Date: 2016-12-05 16:44:59 UTC
  • mfrom: (1787.1.2 ha-backup-logs)
  • Revision ID: aaron.bentley@canonical.com-20161205164459-2bxkh180au7rj5sg
Ensure has_controller is True at appropriate times.

Show diffs side-by-side

added added

removed removed

Lines of Context:
140
140
        deleted_machines.append(machine.machine_id)
141
141
    log.info("Deleted {}".format(deleted_machines))
142
142
    # Do not gather data about the deleted controller.
143
 
    bs_manager.has_controller = False
 
143
    if not leader_only:
 
144
        bs_manager.has_controller = False
144
145
    for m_id in deleted_machines:
145
146
        if bs_manager.known_hosts.get(m_id):
146
147
            del bs_manager.known_hosts[m_id]
147
148
    return deleted_machines
148
149
 
149
150
 
150
 
def restore_missing_state_server(client, controller_client, backup_file,
 
151
def restore_missing_state_server(bs_manager, controller_client, backup_file,
151
152
                                 check_controller=True):
152
153
    """juju-restore creates a replacement state-server for the services."""
153
154
    log.info("Starting restore.")
160
161
        raise LoggedException(e)
161
162
    if check_controller:
162
163
        controller_client.wait_for_started(600)
163
 
    show_controller(client)
164
 
    client.set_config('dummy-source', {'token': 'Two'})
165
 
    client.wait_for_started()
166
 
    client.wait_for_workloads()
167
 
    check_token(client, 'Two')
168
 
    log.info("%s restored", client.env.environment)
 
164
    show_controller(bs_manager.client)
 
165
    bs_manager.has_controller = True
 
166
    bs_manager.client.set_config('dummy-source', {'token': 'Two'})
 
167
    bs_manager.client.wait_for_started()
 
168
    bs_manager.client.wait_for_workloads()
 
169
    check_token(bs_manager.client, 'Two')
 
170
    log.info("%s restored", bs_manager.client.env.environment)
169
171
    log.info("PASS")
170
172
 
171
173
 
221
223
        assess_ha_recovery(bs_manager, client)
222
224
    else:
223
225
        check_controller = strategy != 'ha-backup'
224
 
        restore_missing_state_server(client, controller_client, backup_file,
225
 
                                     check_controller=check_controller)
 
226
        restore_missing_state_server(
 
227
            bs_manager, controller_client, backup_file,
 
228
            check_controller=check_controller)
226
229
    log.info("Test complete.")
227
230
 
228
231