Add zaza namespacing, starting with openstack
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
CLI Utilities
|
||||
-------------
|
||||
|
||||
.. automodule:: zaza.utilities.cli
|
||||
.. automodule:: zaza.openstack.utilities.cli
|
||||
:members:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Utility Exceptions
|
||||
------------------
|
||||
|
||||
.. automodule:: zaza.utilities.exceptions
|
||||
.. automodule:: zaza.openstack.utilities.exceptions
|
||||
:members:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Generic Utilities
|
||||
-----------------
|
||||
|
||||
.. automodule:: zaza.utilities.generic
|
||||
.. automodule:: zaza.openstack.utilities.generic
|
||||
:members:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Juju Utilities
|
||||
--------------
|
||||
|
||||
.. automodule:: zaza.utilities.juju
|
||||
.. automodule:: zaza.openstack.utilities.juju
|
||||
:members:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
OpenStack Utilities
|
||||
-------------------
|
||||
|
||||
.. automodule:: zaza.utilities.openstack
|
||||
.. automodule:: zaza.openstack.utilities.openstack
|
||||
:members:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
TLS Certificate Utilities
|
||||
-------------------------
|
||||
|
||||
.. automodule:: zaza.utilities.cert
|
||||
.. automodule:: zaza.openstack.utilities.cert
|
||||
:members:
|
||||
|
||||
2
setup.py
2
setup.py
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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-----
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
|
||||
@@ -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):
|
||||
|
||||
15
zaza/openstack/__init__.py
Normal file
15
zaza/openstack/__init__.py
Normal 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."""
|
||||
@@ -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):
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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',
|
||||
@@ -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):
|
||||
@@ -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",
|
||||
@@ -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,
|
||||
@@ -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):
|
||||
@@ -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"
|
||||
@@ -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):
|
||||
@@ -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'
|
||||
@@ -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,
|
||||
@@ -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,
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
@@ -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",
|
||||
@@ -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():
|
||||
@@ -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):
|
||||
@@ -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):
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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):
|
||||
@@ -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'))
|
||||
@@ -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,
|
||||
)
|
||||
@@ -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):
|
||||
@@ -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):
|
||||
@@ -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(
|
||||
@@ -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', {}))
|
||||
@@ -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,
|
||||
@@ -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': {
|
||||
@@ -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'
|
||||
|
||||
@@ -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,
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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',
|
||||
@@ -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):
|
||||
@@ -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,
|
||||
Reference in New Issue
Block a user