Add zaza namespacing, starting with openstack

This commit is contained in:
Chris MacNaughton
2019-04-25 15:33:25 +02:00
parent 46079e650f
commit dd434e281e
84 changed files with 188 additions and 159 deletions

View File

@@ -1,5 +1,5 @@
CLI Utilities
-------------
.. automodule:: zaza.utilities.cli
.. automodule:: zaza.openstack.utilities.cli
:members:

View File

@@ -1,5 +1,5 @@
Utility Exceptions
------------------
.. automodule:: zaza.utilities.exceptions
.. automodule:: zaza.openstack.utilities.exceptions
:members:

View File

@@ -1,5 +1,5 @@
Generic Utilities
-----------------
.. automodule:: zaza.utilities.generic
.. automodule:: zaza.openstack.utilities.generic
:members:

View File

@@ -1,5 +1,5 @@
Juju Utilities
--------------
.. automodule:: zaza.utilities.juju
.. automodule:: zaza.openstack.utilities.juju
:members:

View File

@@ -1,5 +1,5 @@
OpenStack Utilities
-------------------
.. automodule:: zaza.utilities.openstack
.. automodule:: zaza.openstack.utilities.openstack
:members:

View File

@@ -1,5 +1,5 @@
TLS Certificate Utilities
-------------------------
.. automodule:: zaza.utilities.cert
.. automodule:: zaza.openstack.utilities.cert
:members:

View File

@@ -102,7 +102,7 @@ setup(
'functest-test = zaza.charm_lifecycle.test:main',
'current-apps = zaza.model:main',
'tempest-config = zaza.tempest_config:main',
'remove-placement = zaza.utilities.bundle:main',
'remove-placement = zaza.openstack.utilities.bundle:main',
]
},
license='Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0',

View File

@@ -6,6 +6,6 @@ target_deploy_status:
workload-status: active
workload-status-message: icmp ok, local hostname ok, dns ok
configure:
- zaza.charm_tests.noop.setup.basic_setup
- zaza.openstack.charm_tests.noop.setup.basic_setup
tests:
- zaza.charm_tests.noop.tests.NoopTest
- zaza.openstack.charm_tests.noop.tests.NoopTest

View File

@@ -15,7 +15,7 @@
# import mock
import unit_tests.utils as ut_utils
import zaza.utilities.bundle as bundle
import zaza.openstack.utilities.bundle as bundle
import yaml

View File

@@ -1,7 +1,7 @@
import unit_tests.utils as ut_utils
import zaza.model as model
import zaza.utilities.ceph as ceph_utils
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.ceph as ceph_utils
import zaza.openstack.utilities.openstack as openstack_utils
class TestCephUtils(ut_utils.BaseTestCase):

View File

@@ -15,7 +15,7 @@
import mock
import unit_tests.utils as ut_utils
import zaza.utilities.cert as cert
import zaza.openstack.utilities.cert as cert
TEST_SSH_PRIVATE_KEY = """
-----BEGIN RSA PRIVATE KEY-----

View File

@@ -14,7 +14,7 @@
import mock
import unit_tests.utils as ut_utils
from zaza.utilities import cli as cli_utils
from zaza.openstack.utilities import cli as cli_utils
class TestCLIUtils(ut_utils.BaseTestCase):

View File

@@ -14,7 +14,7 @@
import mock
import unit_tests.utils as ut_utils
import zaza.utilities.file_assertions as file_assertions
import zaza.openstack.utilities.file_assertions as file_assertions
class TestFileAssertionUtils(ut_utils.BaseTestCase):
@@ -22,7 +22,7 @@ class TestFileAssertionUtils(ut_utils.BaseTestCase):
super(TestFileAssertionUtils, self).setUp()
# Patch all run_on_unit calls
self.patch(
'zaza.utilities.file_assertions.model.run_on_unit',
'zaza.openstack.utilities.file_assertions.model.run_on_unit',
new_callable=mock.MagicMock(),
name='run_on_unit'
)

View File

@@ -14,8 +14,8 @@
import mock
import unit_tests.utils as ut_utils
from zaza.utilities import generic as generic_utils
import zaza.utilities.exceptions as zaza_exceptions
from zaza.openstack.utilities import generic as generic_utils
import zaza.openstack.utilities.exceptions as zaza_exceptions
FAKE_STATUS = {
'can-upgrade-to': '',
@@ -43,7 +43,7 @@ class TestGenericUtils(ut_utils.BaseTestCase):
super(TestGenericUtils, self).setUp()
# Patch all subprocess calls
self.patch(
'zaza.utilities.generic.subprocess',
'zaza.openstack.utilities.generic.subprocess',
new_callable=mock.MagicMock(),
name='subprocess'
)
@@ -372,7 +372,7 @@ class TestGenericUtils(ut_utils.BaseTestCase):
def test_get_process_id_list(self):
self.patch(
"zaza.utilities.generic.model.run_on_unit",
"zaza.openstack.utilities.generic.model.run_on_unit",
new_callable=mock.MagicMock(),
name="_run"
)
@@ -410,7 +410,7 @@ class TestGenericUtils(ut_utils.BaseTestCase):
def test_get_unit_process_ids(self):
self.patch(
"zaza.utilities.generic.get_process_id_list",
"zaza.openstack.utilities.generic.get_process_id_list",
new_callable=mock.MagicMock(),
name="_get_pids"
)

View File

@@ -14,7 +14,7 @@
import mock
import unit_tests.utils as ut_utils
from zaza.utilities import juju as juju_utils
from zaza.openstack.utilities import juju as juju_utils
class TestJujuUtils(ut_utils.BaseTestCase):
@@ -257,7 +257,7 @@ class TestJujuUtils(ut_utils.BaseTestCase):
def test_get_machine_series(self):
self.patch(
'zaza.utilities.juju.get_machine_status',
'zaza.openstack.utilities.juju.get_machine_status',
new_callable=mock.MagicMock(),
name='_get_machine_status'
)

View File

@@ -19,8 +19,8 @@ import mock
import tenacity
import unit_tests.utils as ut_utils
from zaza.utilities import openstack as openstack_utils
from zaza.utilities import exceptions
from zaza.openstack.utilities import openstack as openstack_utils
from zaza.openstack.utilities import exceptions
class TestOpenStackUtils(ut_utils.BaseTestCase):
@@ -444,7 +444,9 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
image_mock = mock.MagicMock(id='9d1125af')
glance_mock.images.create.return_value = image_mock
m = mock.mock_open()
with mock.patch('zaza.utilities.openstack.open', m, create=False) as f:
with mock.patch(
'zaza.openstack.utilities.openstack.open', m, create=False
) as f:
openstack_utils.upload_image_to_glance(
glance_mock,
'/tmp/im1.img',
@@ -540,7 +542,9 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
def test_write_private_key(self):
m = mock.mock_open()
with mock.patch('zaza.utilities.openstack.open', m, create=False):
with mock.patch(
'zaza.openstack.utilities.openstack.open', m, create=False
):
openstack_utils.write_private_key('mykeys', 'keycontents')
m.assert_called_once_with('tests/id_rsa_mykeys', 'w')
handle = m()
@@ -550,7 +554,9 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
self.patch_object(openstack_utils.os.path, "isfile",
return_value=True)
m = mock.mock_open(read_data='myprivkey')
with mock.patch('zaza.utilities.openstack.open', m, create=True):
with mock.patch(
'zaza.openstack.utilities.openstack.open', m, create=True
):
self.assertEqual(
openstack_utils.get_private_key('mykeys'),
'myprivkey')
@@ -725,17 +731,17 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
def test_get_current_openstack_release_pair(self):
self.patch(
'zaza.utilities.openstack.get_current_os_versions',
'zaza.openstack.utilities.openstack.get_current_os_versions',
new_callable=mock.MagicMock(),
name='_get_os_version'
)
self.patch(
'zaza.utilities.juju.get_machines_for_application',
'zaza.openstack.utilities.juju.get_machines_for_application',
new_callable=mock.MagicMock(),
name='_get_machines'
)
self.patch(
'zaza.utilities.juju.get_machine_series',
'zaza.openstack.utilities.juju.get_machine_series',
new_callable=mock.MagicMock(),
name='_get_machine_series'
)
@@ -771,7 +777,7 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
def test_get_openstack_release(self):
self.patch(
'zaza.utilities.openstack.get_current_os_release_pair',
'zaza.openstack.utilities.openstack.get_current_os_release_pair',
new_callable=mock.MagicMock(),
name='_get_os_rel_pair'
)

View File

@@ -14,6 +14,10 @@
"""Functions to support converting async function to a sync equivalent."""
import asyncio
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
def run(*steps):

View File

@@ -0,0 +1,15 @@
# Copyright 2018 Canonical Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""OpenStack specific zaza functionality."""

View File

@@ -15,7 +15,7 @@
"""Encapsulate barbican-vault testing."""
import zaza
import zaza.charm_tests.vault.tests as vault_tests
import zaza.openstack.charm_tests.vault.tests as vault_tests
class BarbicanVaultUnsealVault(vault_tests.UnsealVault):

View File

@@ -17,7 +17,7 @@
import logging
import unittest
import zaza.charm_tests.test_utils as test_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.model as zaza_model

View File

@@ -17,13 +17,13 @@ import json
import logging
import re
import zaza.charm_tests.test_utils as test_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.model
import zaza.utilities.ceph
import zaza.utilities.openstack
import zaza.openstack.utilities.ceph
import zaza.openstack.utilities.openstack as openstack
from zaza.charm_tests.glance.setup import LTS_IMAGE_NAME
from zaza.openstack.charm_tests.glance.setup import LTS_IMAGE_NAME
class CephRBDMirrorBase(test_utils.OpenStackBaseTest):
@@ -55,11 +55,11 @@ class CephRBDMirrorBase(test_utils.OpenStackBaseTest):
:returns: Tuple with list of pools on each side.
:rtype: tuple
"""
site_a_pools = zaza.utilities.ceph.get_ceph_pools(
site_a_pools = zaza.openstack.utilities.ceph.get_ceph_pools(
zaza.model.get_lead_unit_name(
'ceph-mon', model_name=self.site_a_model),
model_name=self.site_a_model)
site_b_pools = zaza.utilities.ceph.get_ceph_pools(
site_b_pools = zaza.openstack.utilities.ceph.get_ceph_pools(
zaza.model.get_lead_unit_name(
'ceph-mon' + self.site_b_app_suffix,
model_name=self.site_b_model),
@@ -193,9 +193,9 @@ class CephRBDMirrorTest(CephRBDMirrorBase):
site B and subsequently comparing the contents we get a full end to end
test.
"""
session = zaza.utilities.openstack.get_overcloud_keystone_session()
glance = zaza.utilities.openstack.get_glance_session_client(session)
cinder = zaza.utilities.openstack.get_cinder_session_client(session)
session = openstack.get_overcloud_keystone_session()
glance = openstack.get_glance_session_client(session)
cinder = openstack.get_cinder_session_client(session)
image = next(glance.images.list(name=LTS_IMAGE_NAME))
@@ -210,7 +210,7 @@ class CephRBDMirrorTest(CephRBDMirrorBase):
return
volume = cinder.volumes.create(8, name='zaza', imageRef=image.id)
try:
zaza.utilities.openstack.resource_reaches_status(
openstack.resource_reaches_status(
cinder.volumes, volume.id, msg='volume')
return volume
except AssertionError:
@@ -219,7 +219,7 @@ class CephRBDMirrorTest(CephRBDMirrorBase):
return create_volume_from_image(cinder, image, retry=retry - 1)
volume = create_volume_from_image(cinder, image)
site_a_hash = zaza.utilities.ceph.get_rbd_hash(
site_a_hash = zaza.openstack.utilities.ceph.get_rbd_hash(
zaza.model.get_lead_unit_name('ceph-mon',
model_name=self.site_a_model),
'cinder-ceph',
@@ -230,7 +230,7 @@ class CephRBDMirrorTest(CephRBDMirrorBase):
check_entries_behind_master=True,
application_name=self.application_name + self.site_b_app_suffix,
model_name=self.site_b_model)
site_b_hash = zaza.utilities.ceph.get_rbd_hash(
site_b_hash = zaza.openstack.utilities.ceph.get_rbd_hash(
zaza.model.get_lead_unit_name('ceph-mon' + self.site_b_app_suffix,
model_name=self.site_b_model),
'cinder-ceph',

View File

@@ -26,13 +26,13 @@ import tenacity
from swiftclient.exceptions import ClientException
import zaza.charm_tests.test_utils as test_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.model as zaza_model
import zaza.utilities.ceph as zaza_ceph
import zaza.utilities.exceptions as zaza_exceptions
import zaza.utilities.generic as zaza_utils
import zaza.utilities.juju as zaza_juju
import zaza.utilities.openstack as zaza_openstack
import zaza.openstack.utilities.ceph as zaza_ceph
import zaza.openstack.utilities.exceptions as zaza_exceptions
import zaza.openstack.utilities.generic as zaza_utils
import zaza.openstack.utilities.juju as zaza_juju
import zaza.openstack.utilities.openstack as zaza_openstack
class CephLowLevelTest(test_utils.OpenStackBaseTest):

View File

@@ -16,11 +16,11 @@
"""Setup for BGP deployments."""
from zaza.configure import (
from zaza.openstack.configure import (
network,
bgp_speaker,
)
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
generic as generic_utils,
openstack as openstack_utils,
@@ -45,8 +45,8 @@ OVERCLOUD_NETWORK_CONFIG = {
# The undercloud network configuration settings are substrate specific to
# the environment where the tests are being executed. These settings may be
# overridden by environment variables. See the doc string documentation for
# zaza.utilities.generic_utils.get_undercloud_env_vars for the environment
# variables required to be exported and available to zaza.
# zaza.openstack.utilities.generic_utils.get_undercloud_env_vars for the
# environment variables required to be exported and available to zaza.
# These are default settings provided as an example.
DEFAULT_UNDERCLOUD_NETWORK_CONFIG = {
"start_floating_ip": "10.5.150.0",

View File

@@ -22,7 +22,7 @@ import sys
import tenacity
from zaza import model
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
juju as juju_utils,
openstack as openstack_utils,

View File

@@ -18,8 +18,8 @@
import unittest
from zaza.utilities import cli as cli_utils
from zaza.charm_tests.dragent import test
from zaza.openstack.utilities import cli as cli_utils
from zaza.openstack.charm_tests.dragent import test
class DRAgentTest(unittest.TestCase):

View File

@@ -15,7 +15,7 @@
"""Code for configuring glance."""
import logging
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
CIRROS_IMAGE_NAME = "cirros"
LTS_RELEASE = "bionic"

View File

@@ -18,8 +18,8 @@
import logging
import zaza.utilities.openstack as openstack_utils
import zaza.charm_tests.test_utils as test_utils
import zaza.openstack.utilities.openstack as openstack_utils
import zaza.openstack.charm_tests.test_utils as test_utils
class GlanceTest(test_utils.OpenStackBaseTest):

View File

@@ -14,8 +14,8 @@
"""Collection of code for setting up and testing keystone."""
import zaza
import zaza.charm_tests.test_utils as test_utils
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.openstack.utilities.openstack as openstack_utils
DEMO_TENANT = 'demoTenant'
DEMO_DOMAIN = 'demoDomain'

View File

@@ -14,8 +14,8 @@
"""Code for setting up keystone."""
import zaza.utilities.openstack as openstack_utils
from zaza.charm_tests.keystone import (
import zaza.openstack.utilities.openstack as openstack_utils
from zaza.openstack.charm_tests.keystone import (
BaseKeystoneTest,
DEMO_TENANT,
DEMO_DOMAIN,

View File

@@ -21,12 +21,12 @@ import pprint
import keystoneauth1
import zaza.model
import zaza.utilities.exceptions as zaza_exceptions
import zaza.utilities.juju as juju_utils
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.exceptions as zaza_exceptions
import zaza.openstack.utilities.juju as juju_utils
import zaza.openstack.utilities.openstack as openstack_utils
import zaza.charm_tests.test_utils as test_utils
from zaza.charm_tests.keystone import (
import zaza.openstack.charm_tests.test_utils as test_utils
from zaza.openstack.charm_tests.keystone import (
BaseKeystoneTest,
DEMO_DOMAIN,
DEMO_TENANT,

View File

@@ -14,9 +14,9 @@
"""Code for setting up masakari tests."""
import zaza.configure.masakari
import zaza.openstack.configure.masakari
def create_segments():
"""Create simple segment setup."""
zaza.configure.masakari.create_segments()
zaza.openstack.configure.masakari.create_segments()

View File

@@ -22,12 +22,13 @@ import logging
import novaclient
import zaza.model
import zaza.charm_tests.test_utils as test_utils
import zaza.utilities.openstack as openstack_utils
import zaza.utilities.juju as juju_utils
import zaza.configure.guest
import zaza.configure.hacluster
import zaza.configure.masakari
import zaza.openstack.charm_tests.test_utils as test_utils
import openstack as openstack_utils
import zaza.openstack.utilities.juju as juju_utils
import zaza.openstack.utilities.openstack as openstack
import zaza.openstack.configure.guest
import zaza.openstack.configure.hacluster
import zaza.openstack.configure.masakari
class MasakariTest(test_utils.OpenStackBaseTest):
@@ -48,11 +49,11 @@ class MasakariTest(test_utils.OpenStackBaseTest):
logging.info('Running teardown')
for unit in zaza.model.get_units('nova-compute',
model_name=cls.model_name):
zaza.configure.masakari.simulate_compute_host_recovery(
zaza.openstack.configure.masakari.simulate_compute_host_recovery(
unit.entity_id,
model_name=cls.model_name)
zaza.utilities.openstack.enable_all_nova_services(cls.nova_client)
zaza.configure.masakari.enable_hosts()
openstack.enable_all_nova_services(cls.nova_client)
zaza.openstack.configure.masakari.enable_hosts()
def ensure_guest(self, vm_name):
"""Return the existing guest or boot a new one.
@@ -67,7 +68,7 @@ class MasakariTest(test_utils.OpenStackBaseTest):
logging.info('Found existing guest')
except novaclient.exceptions.NotFound:
logging.info('Launching new guest')
guest = zaza.configure.guest.launch_instance(
guest = zaza.openstack.configure.guest.launch_instance(
'bionic',
use_boot_volume=True,
meta={'HA_Enabled': 'True'},
@@ -82,7 +83,7 @@ class MasakariTest(test_utils.OpenStackBaseTest):
:returns: Hypervisor name and juju unit name
:rtype: (str, str)
"""
current_hypervisor = zaza.utilities.openstack.get_hypervisor_for_guest(
current_hypervisor = openstack.get_hypervisor_for_guest(
self.nova_client,
vm_name)
unit_name = juju_utils.get_unit_name_from_host_name(
@@ -112,14 +113,15 @@ class MasakariTest(test_utils.OpenStackBaseTest):
def test_instance_failover(self):
"""Test masakari managed guest migration."""
# Launch guest
self.assertTrue(zaza.configure.hacluster.check_all_nodes_online(
'masakari'))
self.assertTrue(
zaza.openstack.configure.hacluster.check_all_nodes_online(
'masakari'))
vm_name = 'zaza-test-instance-failover'
self.ensure_guest(vm_name)
# Locate hypervisor hosting guest and shut it down
current_hypervisor, unit_name = self.get_guests_compute_info(vm_name)
zaza.configure.masakari.simulate_compute_host_failure(
zaza.openstack.configure.masakari.simulate_compute_host_failure(
unit_name,
model_name=self.model_name)
@@ -127,17 +129,17 @@ class MasakariTest(test_utils.OpenStackBaseTest):
logging.info('Waiting for guest to move away from {}'.format(
current_hypervisor))
# wait_for_server_migration will throw an exception if migration fails
zaza.utilities.openstack.wait_for_server_migration(
openstack.wait_for_server_migration(
self.nova_client,
vm_name,
current_hypervisor)
# Bring things back
zaza.configure.masakari.simulate_compute_host_recovery(
zaza.openstack.configure.masakari.simulate_compute_host_recovery(
unit_name,
model_name=self.model_name)
zaza.utilities.openstack.enable_all_nova_services(self.nova_client)
zaza.configure.masakari.enable_hosts()
openstack.enable_all_nova_services(self.nova_client)
zaza.openstack.configure.masakari.enable_hosts()
def test_instance_restart_on_fail(self):
"""Test singlee guest crash and recovery."""
@@ -154,13 +156,13 @@ class MasakariTest(test_utils.OpenStackBaseTest):
vm.updated,
"%Y-%m-%dT%H:%M:%SZ")
logging.info('Simulating vm crash of {}'.format(vm_name))
zaza.configure.masakari.simulate_guest_crash(
zaza.openstack.configure.masakari.simulate_guest_crash(
guest_pid,
unit_name,
model_name=self.model_name)
logging.info('Waiting for {} to be updated and become active'.format(
vm_name))
zaza.utilities.openstack.wait_for_server_update_and_active(
openstack.wait_for_server_update_and_active(
self.nova_client,
vm_name,
inital_update_time)

View File

@@ -16,10 +16,10 @@
"""Setup for Neutron deployments."""
from zaza.configure import (
from zaza.openstack.configure import (
network,
)
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
generic as generic_utils,
juju as juju_utils,
@@ -45,8 +45,8 @@ OVERCLOUD_NETWORK_CONFIG = {
# The undercloud network configuration settings are substrate specific to
# the environment where the tests are being executed. These settings may be
# overridden by environment variables. See the doc string documentation for
# zaza.utilities.generic_utils.get_undercloud_env_vars for the environment
# variables required to be exported and available to zaza.
# zaza.openstack.utilities.generic_utils.get_undercloud_env_vars for the
# environment variables required to be exported and available to zaza.
# These are default settings provided as an example.
DEFAULT_UNDERCLOUD_NETWORK_CONFIG = {
"start_floating_ip": "10.5.150.0",

View File

@@ -19,7 +19,7 @@ import pprint
import zaza
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
def overlay_network():

View File

@@ -21,7 +21,7 @@ import logging
import unittest
import zaza
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
class NeutronOpenvSwitchOverlayTest(unittest.TestCase):

View File

@@ -14,11 +14,11 @@
"""Code for configureing nova."""
import zaza.utilities.openstack as openstack_utils
from zaza.utilities import (
import zaza.openstack.utilities.openstack as openstack_utils
from zaza.openstack.utilities import (
cli as cli_utils,
)
import zaza.charm_tests.nova.utils as nova_utils
import zaza.openstack.charm_tests.nova.utils as nova_utils
def create_flavors(nova_client=None):

View File

@@ -19,18 +19,19 @@
import logging
import unittest
import zaza.charm_tests.glance.setup as glance_setup
import zaza.configure.guest
import zaza.openstack.charm_tests.glance.setup as glance_setup
import zaza.openstack.configure.guest
class BaseGuestCreateTest(unittest.TestCase):
"""Deprecated: Use zaza.configure.guest.launch_instance."""
"""Deprecated: Use zaza.openstack.configure.guest.launch_instance."""
def launch_instance(self, instance_key):
"""Deprecated: Use zaza.configure.guest.launch_instance."""
"""Deprecated: Use zaza.openstack.configure.guest.launch_instance."""
logging.info('BaseGuestCreateTest.launch_instance is deprecated '
'please use zaza.configure.guest.launch_instance')
zaza.configure.guest.launch_instance(instance_key)
'please use '
'zaza.openstack.configure.guest.launch_instance')
zaza.openstack.configure.guest.launch_instance(instance_key)
class CirrosGuestCreateTest(BaseGuestCreateTest):
@@ -38,7 +39,7 @@ class CirrosGuestCreateTest(BaseGuestCreateTest):
def test_launch_small_instance(self):
"""Launch a cirros instance and test connectivity."""
zaza.configure.guest.launch_instance(
zaza.openstack.configure.guest.launch_instance(
glance_setup.CIRROS_IMAGE_NAME)
@@ -47,5 +48,5 @@ class LTSGuestCreateTest(BaseGuestCreateTest):
def test_launch_small_instance(self):
"""Launch a Bionic instance and test connectivity."""
zaza.configure.guest.launch_instance(
zaza.openstack.configure.guest.launch_instance(
glance_setup.LTS_IMAGE_NAME)

View File

@@ -18,10 +18,10 @@ import os
import base64
import logging
import zaza.utilities.cert
import zaza.openstack.utilities.cert as cert
import zaza.charm_lifecycle.utils
import zaza.charm_tests.test_utils
import zaza.charm_tests.glance.setup as glance_setup
import zaza.openstack.charm_tests.test_utils
import zaza.openstack.charm_tests.glance.setup as glance_setup
def add_amphora_image(image_url=None):
@@ -51,14 +51,14 @@ def configure_octavia():
'configure-resources',
action_params={})
# Generate certificates for controller/load balancer instance communication
(issuing_cakey, issuing_cacert) = zaza.utilities.cert.generate_cert(
(issuing_cakey, issuing_cacert) = cert.generate_cert(
'OSCI Zaza Issuer',
password='zaza',
generate_ca=True)
(controller_cakey, controller_cacert) = zaza.utilities.cert.generate_cert(
(controller_cakey, controller_cacert) = cert.generate_cert(
'OSCI Zaza Octavia Controller',
generate_ca=True)
(controller_key, controller_cert) = zaza.utilities.cert.generate_cert(
(controller_key, controller_cert) = cert.generate_cert(
'*.serverstack',
issuer_name='OSCI Zaza Octavia Controller',
signing_key=controller_cakey)
@@ -83,7 +83,7 @@ def configure_octavia():
test_config = zaza.charm_lifecycle.utils.get_charm_config()
del test_config['target_deploy_status']['octavia']
_singleton = zaza.charm_tests.test_utils.OpenStackBaseTest()
_singleton = zaza.openstack.charm_tests.test_utils.OpenStackBaseTest()
_singleton.setUpClass()
with _singleton.config_change(cert_config, cert_config):
# wait for configuration to be applied then return

View File

@@ -17,8 +17,8 @@
import logging
import tenacity
import zaza.charm_tests.test_utils as test_utils
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.openstack.utilities.openstack as openstack_utils
class CharmOperationTest(test_utils.OpenStackBaseTest):

View File

@@ -18,7 +18,7 @@
import unittest
import zaza.configure.hacluster
import zaza.openstack.configure.hacluster
class PacemakerRemoteTest(unittest.TestCase):
@@ -26,4 +26,5 @@ class PacemakerRemoteTest(unittest.TestCase):
def test_check_nodes_online(self):
"""Test that all nodes are online."""
self.assertTrue(zaza.configure.hacluster.check_all_nodes_online('api'))
self.assertTrue(
zaza.openstack.configure.hacluster.check_all_nodes_online('api'))

View File

@@ -20,7 +20,7 @@ import unittest
import zaza.model as model
import zaza.charm_lifecycle.utils as utils
from zaza.utilities.file_assertions import (
from zaza.openstack.utilities.file_assertions import (
assert_path_glob,
assert_single_file,
)

View File

@@ -21,11 +21,11 @@ import os
import unittest
from zaza import model
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
generic as generic_utils,
)
from zaza.charm_tests.nova.tests import LTSGuestCreateTest
from zaza.openstack.charm_tests.nova.tests import LTSGuestCreateTest
class SeriesUpgradeTest(unittest.TestCase):

View File

@@ -19,7 +19,7 @@ import zaza.model
import zaza.model as model
import zaza.charm_lifecycle.utils as lifecycle_utils
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
def skipIfNotHA(service_name):

View File

@@ -18,10 +18,10 @@ import requests
import tempfile
import zaza.charm_lifecycle.utils as lifecycle_utils
import zaza.charm_tests.vault.utils as vault_utils
import zaza.openstack.charm_tests.vault.utils as vault_utils
import zaza.model
import zaza.utilities.cert
import zaza.utilities.openstack
import zaza.openstack.utilities.cert
import zaza.openstack.utilities.openstack
def basic_setup(cacert=None, unseal_and_authorize=False):
@@ -70,10 +70,10 @@ def auto_inititialize(cacert=None):
action = vault_utils.run_get_csr()
intermediate_csr = action.data['results']['output']
(cakey, cacertificate) = zaza.utilities.cert.generate_cert(
(cakey, cacertificate) = zaza.openstack.utilities.cert.generate_cert(
'DivineAuthority',
generate_ca=True)
intermediate_cert = zaza.utilities.cert.sign_csr(
intermediate_cert = zaza.openstack.utilities.cert.sign_csr(
intermediate_csr,
cakey.decode(),
cacertificate.decode(),
@@ -100,7 +100,7 @@ def validate_ca(cacertificate, application="keystone", port=5000):
"""
zaza.model.block_until_file_has_contents(
application,
zaza.utilities.openstack.KEYSTONE_REMOTE_CACERT,
zaza.openstack.utilities.openstack.KEYSTONE_REMOTE_CACERT,
cacertificate.decode().strip())
test_config = lifecycle_utils.get_charm_config()
zaza.model.wait_for_application_states(

View File

@@ -24,10 +24,10 @@ import tempfile
import requests
import zaza.charm_lifecycle.utils as lifecycle_utils
import zaza.charm_tests.test_utils as test_utils
import zaza.charm_tests.vault.utils as vault_utils
import zaza.utilities.cert
import zaza.utilities.openstack
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.openstack.charm_tests.vault.utils as vault_utils
import zaza.openstack.utilities.cert
import zaza.openstack.utilities.openstack
import zaza.model
@@ -96,10 +96,10 @@ class VaultTest(BaseVaultTest):
action = vault_utils.run_get_csr()
intermediate_csr = action.data['results']['output']
(cakey, cacert) = zaza.utilities.cert.generate_cert(
(cakey, cacert) = zaza.openstack.utilities.cert.generate_cert(
'DivineAuthority',
generate_ca=True)
intermediate_cert = zaza.utilities.cert.sign_csr(
intermediate_cert = zaza.openstack.utilities.cert.sign_csr(
intermediate_csr,
cakey.decode(),
cacert.decode(),
@@ -113,7 +113,7 @@ class VaultTest(BaseVaultTest):
del test_config['target_deploy_status']['vault']
zaza.model.block_until_file_has_contents(
'keystone',
zaza.utilities.openstack.KEYSTONE_REMOTE_CACERT,
zaza.openstack.utilities.openstack.KEYSTONE_REMOTE_CACERT,
cacert.decode().strip())
zaza.model.wait_for_application_states(
states=test_config.get('target_deploy_status', {}))

View File

@@ -20,7 +20,7 @@ import argparse
import logging
import sys
import neutronclient
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
openstack as openstack_utils,
juju as juju_utils,

View File

@@ -19,8 +19,8 @@
import logging
import time
import zaza.utilities.openstack as openstack_utils
import zaza.charm_tests.nova.utils as nova_utils
import zaza.openstack.utilities.openstack as openstack_utils
import zaza.openstack.charm_tests.nova.utils as nova_utils
boot_tests = {
'cirros': {

View File

@@ -21,7 +21,7 @@ and recovery.
import logging
import zaza.model
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
ROUND_ROBIN = 'round-robin'

View File

@@ -41,9 +41,9 @@ The undercloud network configuration settings are substrate specific to the
environment where the tests are being executed. They primarily focus on the
provider network settings. These settings may be overridden by environment
variables. See the doc string documentation for
zaza.utilities.generic_utils.get_undercloud_env_vars for the environment
variables required to be exported and available to zaza. Here is an example of
undercloud settings:
zaza.openstack.utilities.generic_utils.get_undercloud_env_vars for the
environment variables required to be exported and available to zaza. Here is
an example of undercloud settings:
EXAMPLE_DEFAULT_UNDERCLOUD_NETWORK_CONFIG = {
"start_floating_ip": "10.5.150.0",
"end_floating_ip": "10.5.150.254",
@@ -67,10 +67,10 @@ As a python module:
network_config.update(EXAMPLE_DEFAULT_UNDERCLOUD_NETWORK_CONFIG)
# Environment specific settings
network_config.update(
zaza.utilities.generic_utils.get_undercloud_env_vars())
zaza.openstack.utilities.generic_utils.get_undercloud_env_vars())
# Configure the SDN network
zaza.configure.network.setup_sdn(network_config)
zaza.openstack.configure.network.setup_sdn(network_config)
As a script from CLI with a YAML file of configuration:
@@ -82,7 +82,7 @@ import argparse
import logging
import sys
from zaza.utilities import (
from zaza.openstack.utilities import (
cli as cli_utils,
generic as generic_utils,
juju as juju_utils,

View File

@@ -2,7 +2,7 @@
import logging
import zaza.utilities.openstack as openstack_utils
import zaza.openstack.utilities.openstack as openstack_utils
import zaza.model as zaza_model

View File

@@ -20,9 +20,9 @@ import subprocess
import yaml
from zaza import model
from zaza.utilities import juju as juju_utils
from zaza.utilities import exceptions as zaza_exceptions
from zaza.utilities.os_versions import UBUNTU_OPENSTACK_RELEASE
from zaza.openstack.utilities import juju as juju_utils
from zaza.openstack.utilities import exceptions as zaza_exceptions
from zaza.openstack.utilities.os_versions import UBUNTU_OPENSTACK_RELEASE
def dict_to_yaml(dict_data):
@@ -102,8 +102,8 @@ def get_undercloud_env_vars():
Note: *Overcloud* settings should be declared by the test caller and should
not be overridden here.
Return a dictionary compatible with zaza.configure.network functions'
expected key structure.
Return a dictionary compatible with zaza.openstack.configure.network
functions' expected key structure.
Example exported environment variables:
export default_gateway="172.17.107.1"
@@ -135,8 +135,8 @@ def get_undercloud_env_vars():
_vars['start_floating_ip'] = os.environ.get('FIP_RANGE').split(':')[0]
_vars['end_floating_ip'] = os.environ.get('FIP_RANGE').split(':')[1]
# Env var naming consistent with zaza.configure.network functions takes
# priority. Override backward compatible settings.
# Env var naming consistent with zaza.openstack.configure.network
# functions takes priority. Override backward compatible settings.
_keys = ['default_gateway',
'start_floating_ip',
'end_floating_ip',

View File

@@ -22,7 +22,7 @@ from zaza import (
model,
controller,
)
from zaza.utilities import generic as generic_utils
from zaza.openstack.utilities import generic as generic_utils
def get_application_status(application=None, unit=None):

View File

@@ -35,7 +35,7 @@ from keystoneauth1.identity import (
v3,
v2,
)
import zaza.utilities.cert as cert
import zaza.openstack.utilities.cert as cert
from novaclient import client as novaclient_client
from neutronclient.v2_0 import client as neutronclient
from neutronclient.common import exceptions as neutronexceptions
@@ -57,7 +57,7 @@ import tenacity
import urllib
from zaza import model
from zaza.utilities import (
from zaza.openstack.utilities import (
exceptions,
generic as generic_utils,
juju as juju_utils,