Beispiel #1
0
 def test_run_upgrade_tests(self):
     self.patch_object(openstack_upgrade, "run_upgrade")
     self.patch_object(openstack_upgrade, "get_upgrade_groups")
     self.get_upgrade_groups.return_value = {
         'Compute': ['nova-compute'],
         'Control Plane': ['cinder', 'neutron-api'],
         'Core Identity': ['keystone'],
         'Storage': ['ceph-mon'],
         'sweep_up': ['designate']}
     openstack_upgrade.run_upgrade_tests('new-src', model_name=None)
     run_upgrade_calls = [
         mock.call(['keystone'], 'new-src', model_name=None),
         mock.call(['ceph-mon'], 'new-src', model_name=None),
         mock.call(['cinder', 'neutron-api'], 'new-src', model_name=None),
         mock.call(['nova-compute'], 'new-src', model_name=None),
         mock.call(['designate'], 'new-src', model_name=None)]
     self.run_upgrade.assert_has_calls(run_upgrade_calls, any_order=False)
Beispiel #2
0
    def test_200_run_openstack_upgrade(self):
        """Run openstack upgrade, but work out what to do.

        TODO: This is really inefficient at the moment, and doesn't (yet)
        determine which ubuntu version to work from.  Don't use until we can
        make it better.
        """
        # get the tests_options / openstack-upgrade.detect-using-charm so that
        # the ubuntu version and OpenStack version can be detected.
        try:
            detect_charm = (
                zaza.global_options.get_options()
                .openstack_upgrade.detect_using_charm)
        except KeyError:
            raise exceptions.InvalidTestConfig(
                "Missing tests_options.openstack-upgrade.detect-charm config.")

        unit = zaza.model.get_lead_unit(detect_charm)
        ubuntu_version = generic.get_series(unit)
        logging.info("Current version detected from {} is {}"
                     .format(detect_charm, ubuntu_version))

        logging.info(
            "Getting OpenStack version from %s ..." % detect_charm)
        current_versions = openstack_utils.get_current_os_versions(
            [detect_charm])
        if not current_versions:
            raise exceptions.ApplicationNotFound(
                "No version found for {}?".format(detect_charm))

        logging.info("current version: %s" % current_versions[detect_charm])
        # Find the lowest value openstack release across all services and make
        # sure all servcies are upgraded to one release higher than the lowest
        from_version = upgrade_utils.get_lowest_openstack_version(
            current_versions)
        logging.info("from version: %s" % from_version)
        to_version = upgrade_utils.determine_next_openstack_release(
            from_version)[1]
        logging.info("to version: %s" % to_version)
        target_source = upgrade_utils.determine_new_source(
            ubuntu_version, from_version, to_version, single_increment=True)
        logging.info("target source: %s" % target_source)
        assert target_source is not None
        openstack_upgrade.run_upgrade_tests(target_source)
Beispiel #3
0
 def test_200_run_openstack_upgrade(self):
     """Run openstack upgrade, but work out what to do."""
     openstack_upgrade.run_upgrade_tests("cloud:focal-victoria")