~hopem/charms/trusty/cinder/lp1518975

« back to all changes in this revision

Viewing changes to tests/basic_deployment.py

  • Committer: David Ames
  • Date: 2016-01-21 19:58:50 UTC
  • mfrom: (142.2.5 cinder)
  • Revision ID: david.ames@canonical.com-20160121195850-wcuyih0pwxnpg2ad
Tags: 16.01
[1chb1n, r=thedac] wait for unit status and turn on releases for amulet tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
import amulet
4
4
import os
5
 
import time
6
5
import yaml
7
6
 
8
7
from charmhelpers.contrib.openstack.amulet.deployment import (
35
34
        self._add_relations()
36
35
        self._configure_services()
37
36
        self._deploy()
 
37
 
 
38
        u.log.info('Waiting on extended status checks...')
 
39
        exclude_services = ['mysql']
 
40
        self._auto_wait_for_status(exclude_services=exclude_services)
 
41
 
38
42
        self._initialize_tests()
39
43
 
40
44
    def _add_services(self):
120
124
        u.log.debug('openstack release str: {}'.format(
121
125
            self._get_openstack_release_string()))
122
126
 
123
 
        # Let things settle a bit original moving forward
124
 
        time.sleep(30)
125
 
 
126
127
        # Authenticate admin with keystone
127
128
        self.keystone = u.authenticate_keystone_admin(self.keystone_sentry,
128
129
                                                      user='admin',
670
671
        conf_file = '/etc/cinder/cinder.conf'
671
672
 
672
673
        # Services which are expected to restart upon config change
673
 
        services = [
674
 
            'cinder-api',
675
 
            'cinder-scheduler',
676
 
            'cinder-volume'
677
 
        ]
 
674
        services = {
 
675
            'cinder-api': conf_file,
 
676
            'cinder-scheduler': conf_file,
 
677
            'cinder-volume': conf_file
 
678
        }
678
679
 
679
680
        # Make config change, check for service restarts
680
681
        u.log.debug('Making config change on {}...'.format(juju_service))
 
682
        mtime = u.get_sentry_time(sentry)
681
683
        self.d.configure(juju_service, set_alternate)
682
684
 
683
685
        sleep_time = 40
684
 
        for s in services:
 
686
        for s, conf_file in services.iteritems():
685
687
            u.log.debug("Checking that service restarted: {}".format(s))
686
 
            if not u.service_restarted(sentry, s,
687
 
                                       conf_file, sleep_time=sleep_time,
688
 
                                       pgrep_full=True):
 
688
            if not u.validate_service_config_changed(sentry, mtime, s,
 
689
                                                     conf_file,
 
690
                                                     retry_count=4,
 
691
                                                     retry_sleep_time=20,
 
692
                                                     sleep_time=sleep_time):
689
693
                self.d.configure(juju_service, set_default)
690
694
                msg = "service {} didn't restart after config change".format(s)
691
695
                amulet.raise_status(amulet.FAIL, msg=msg)