Merge "Add Ubuntu image and flavor fixtures"
This commit is contained in:
commit
828f8a420b
@ -20,6 +20,10 @@ CIRROS_IMAGE_URL = \
|
||||
'http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img'
|
||||
|
||||
|
||||
GLANCE_IMAGE_NAMES = ['cirros',
|
||||
'ubuntu']
|
||||
|
||||
|
||||
def register_tobiko_options(conf):
|
||||
conf.register_opts(
|
||||
group=cfg.OptGroup('glance'),
|
||||
@ -28,7 +32,7 @@ def register_tobiko_options(conf):
|
||||
help=("Default directory where to look for image "
|
||||
"files")), ])
|
||||
|
||||
for name in ['CirrOS']:
|
||||
for name in GLANCE_IMAGE_NAMES:
|
||||
group_name = name.lower()
|
||||
conf.register_opts(
|
||||
group=cfg.OptGroup(group_name),
|
||||
|
@ -1,19 +0,0 @@
|
||||
# Copyright 2019 Red Hat
|
||||
#
|
||||
# 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.
|
||||
from __future__ import absolute_import
|
||||
|
||||
|
||||
from tobiko.openstack.images import _cirros
|
||||
|
||||
CirrosGlanceImageFixture = _cirros.CirrosGlanceImageFixture
|
@ -1,34 +0,0 @@
|
||||
# Copyright 2019 Red Hat
|
||||
#
|
||||
# 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.
|
||||
from __future__ import absolute_import
|
||||
|
||||
from tobiko import config
|
||||
from tobiko.openstack import glance
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
|
||||
CIRROS_IMAGE_URL = \
|
||||
'http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img'
|
||||
|
||||
|
||||
class CirrosGlanceImageFixture(glance.URLGlanceImageFixture):
|
||||
|
||||
image_url = CONF.tobiko.cirros.image_url or CIRROS_IMAGE_URL
|
||||
image_name = CONF.tobiko.cirros.image_name
|
||||
image_file = CONF.tobiko.cirros.image_file
|
||||
container_format = CONF.tobiko.cirros.container_format or "bare"
|
||||
disk_format = CONF.tobiko.cirros.disk_format or "raw"
|
||||
username = CONF.tobiko.cirros.username or 'cirros'
|
||||
password = CONF.tobiko.cirros.password or 'gocubsgo'
|
@ -18,6 +18,7 @@ from __future__ import absolute_import
|
||||
from tobiko.openstack.stacks import _cirros
|
||||
from tobiko.openstack.stacks import _neutron
|
||||
from tobiko.openstack.stacks import _nova
|
||||
from tobiko.openstack.stacks import _ubuntu
|
||||
|
||||
CirrosFlavorStackFixture = _cirros.CirrosFlavorStackFixture
|
||||
CirrosImageFixture = _cirros.CirrosImageFixture
|
||||
@ -31,3 +32,7 @@ SecurityGroupsFixture = _neutron.SecurityGroupsFixture
|
||||
ServerStackFixture = _nova.ServerStackFixture
|
||||
KeyPairStackFixture = _nova.KeyPairStackFixture
|
||||
FlavorStackFixture = _nova.FlavorStackFixture
|
||||
|
||||
UbuntuFlavorStackFixture = _ubuntu.UbuntuFlavorStackFixture
|
||||
UbuntuImageFixture = _ubuntu.UbuntuImageFixture
|
||||
UbuntuServerStackFixture = _ubuntu.UbuntuServerStackFixture
|
||||
|
49
tobiko/openstack/stacks/_ubuntu.py
Normal file
49
tobiko/openstack/stacks/_ubuntu.py
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright 2019 Red Hat
|
||||
#
|
||||
# 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.
|
||||
from __future__ import absolute_import
|
||||
|
||||
import tobiko
|
||||
from tobiko import config
|
||||
from tobiko.openstack import glance
|
||||
from tobiko.openstack.stacks import _nova
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
UBUNTU_IMAGE_URL = \
|
||||
('http://cloud-images.ubuntu.com/bionic/current/'
|
||||
'bionic-server-cloudimg-amd64.img')
|
||||
|
||||
|
||||
class UbuntuImageFixture(glance.URLGlanceImageFixture):
|
||||
|
||||
image_url = CONF.tobiko.ubuntu.image_url or UBUNTU_IMAGE_URL
|
||||
image_name = CONF.tobiko.ubuntu.image_name
|
||||
image_file = CONF.tobiko.ubuntu.image_file
|
||||
disk_format = CONF.tobiko.ubuntu.disk_format or "qcow2"
|
||||
container_format = CONF.tobiko.ubuntu.container_format or "bare"
|
||||
username = CONF.tobiko.ubuntu.username or 'ubuntu'
|
||||
password = CONF.tobiko.ubuntu.password
|
||||
|
||||
|
||||
class UbuntuFlavorStackFixture(_nova.FlavorStackFixture):
|
||||
ram = 512
|
||||
|
||||
|
||||
class UbuntuServerStackFixture(_nova.ServerStackFixture):
|
||||
|
||||
#: Glance image used to create a Nova server instance
|
||||
image_fixture = tobiko.required_setup_fixture(UbuntuImageFixture)
|
||||
|
||||
#: Glance image used to create a Nova server instance
|
||||
flavor_stack = tobiko.required_setup_fixture(UbuntuFlavorStackFixture)
|
34
tobiko/tests/functional/openstack/stacks/test_ubuntu.py
Normal file
34
tobiko/tests/functional/openstack/stacks/test_ubuntu.py
Normal file
@ -0,0 +1,34 @@
|
||||
# Copyright (c) 2019 Red Hat, Inc.
|
||||
#
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
from __future__ import absolute_import
|
||||
|
||||
import tobiko
|
||||
from tobiko.shell import sh
|
||||
from tobiko.openstack import stacks
|
||||
from tobiko.tests.functional.openstack.stacks import test_cirros
|
||||
|
||||
|
||||
class UbuntuServerStackTest(test_cirros.CirrosServerStackTest):
|
||||
"""Tests connectivity to Nova instances via floating IPs"""
|
||||
|
||||
#: Stack of resources with a server attached to a floating IP
|
||||
stack = tobiko.required_setup_fixture(stacks.UbuntuServerStackFixture)
|
||||
|
||||
def test_python(self):
|
||||
python_version = sh.execute(['python3', '--version'],
|
||||
ssh_client=self.stack.ssh_client).stdout
|
||||
self.assertTrue(python_version.startswith('Python 3.'),
|
||||
python_version)
|
Loading…
x
Reference in New Issue
Block a user