Commit Graph

1338 Commits (0ea2c01d757375d54aa9a9de34c2c9995bb48d13)

Author SHA1 Message Date
Zuul 4968958158 Merge "Improve ipv6 configuration" 4 years ago
Zuul df5935be35 Merge "Adds protocol options for test_cross_tenant_traffic" 4 years ago
Zuul 0557acd998 Merge "Revert "Refactor random naming"" 4 years ago
Martin Kopec 925188d2d5 Make test_hotplug_nic test first check the IP
The test doesn't take into account that the interface can
already be associated with the IP address, configured by
NetworkManager. Therefore the review adds a check if the
IP is already set.

Change-Id: I4eede97c041b44d9a7bb754e5ccc1ebb194a2e4b
4 years ago
Matt Riedemann 514495b1a0 Revert "Refactor random naming"
This reverts commit e3e7b2722e.

After that change, if the test creates a volume type with a
given name, it's not unique and therefore can hit a 409 conflict
trying to create a volume type with a name that already exists,
which can happen when running scenario tests concurrently since
several encrypted volume tests use the same volume type name "luks".

See Iecf62d411d2da17c4c983915018e3ed9180ecd11 for an
alternative but this is easier. It's not entirely clear
why the original change was made anyway - why do we care
if the tests create long names? They weren't unnecessary
because they were random to avoid conflicts.

Change-Id: I9f5a967514f3c79f861d286f65402e9ec2832cc4
Closes-Bug: #1826953
4 years ago
Martin Kopec 65c891107b Improve ipv6 configuration
The change replaces restarting the network by reloading network
profiles. Restart of the network terminates ssh connection, so
if possible, better to avoid it. This approach is also
compatible with RHEL 8 as there's no network service anymore
and therefore can't be restarted.
The patch also brings the configured interface up by nmcli,
which works better if there already was a network profile
connected to the configured interface. nmcli makes it drop the
existing profile and use the one which was created in the test.

Change-Id: I4ea06f28c525f2631a69f759fc96b262d9100f45
4 years ago
Lee Yarwood e5597401ff Introduce an attached volume migration test
This change introduces a true cinder host to host attached volume
migration test in addition to the existing attached volume retype test.
To enable this two new calls are introduced to the v3 volume client to
allow all volume backends to be listed per project and to also call for
a direct volume migration between backends.

Related-bug: #1803961
Depends-On: I1bdf3431bda2da98380e0dcaa9f952e6768ca3af
Change-Id: I501eb0cd5eb101b4dc553c2cdbc414693dd5b681
4 years ago
Lee Yarwood 8df5fdcbe0 Add assertions to attached volume retype test
Previously only the volume type and timestamp data was checked when
retyping an attached volume. This change adds additional assertions to
ensure the volume state remains `in-use`, volume migration state is
`success` and the same `volume_id` remains attached to the instance
after the retype completes. This final check ensures that nova has
correctly called the os-migrate_volume_completion cinder API.

Related-bug: #1803961
Change-Id: I32f0611bdfd2ccede73e7ab774286f5315ff92c3
4 years ago
Lee Yarwood be64e1ae7c Ensure all image cache volumes are removed before removing the volume type
Previously the only clean up action registered when creating a new
volume type was the direct removal of that type. However this request would
silently fail in the attached volume migration scenario tests if the
backends being used had their image volume cache enabled.

This was due to the image volume cache still containing volumes
associated to the given volume type when attempts were made to delete
the volume type. To avoid this these image volume cache volumes must be
manually removed by an admin user before deleting the volume type.

Closes-Bug: #1823880
Change-Id: Ib4d82586e91037729f9e846a6f0fac6d393ca475
4 years ago
Zuul 4cc8d770f3 Merge "allow create_server with vnic_type and port_profile from kwargs" 4 years ago
Zuul 67e0778618 Merge "Add autopep8 to tox.ini" 4 years ago
Noam Angel 6e30995bc0 allow create_server with vnic_type and port_profile from kwargs
the purpose of this change is to enable creating advance network
scenarios like checking connectivity from VM with port type "direct" to
VM with port type "normal".

with this change scenario planer can overwrite tempest.conf vnic_type
and port_profile paramters in scenario (ex. connectivty between VM
"direct" and VM "normal").

Change-Id: I5b9a4bd5350809d6b295dfede0c5059d01455404
4 years ago
afazekas 40fcb9ba28 Add autopep8 to tox.ini
autopep8 is an automated code formatting tool for python,
it does not know everything, also not super fast,
but it is faster than I can manually reformat the code.

tools/format.sh will call the formatting,
the tox will check did you called it.

Also adding a tox -eautopep8 way to use it.

autopep8 formats the lines in one way,
where tempest used a another way it was changed.

Change-Id: I6d51b14a5a5b87761071d0927fca23ba1651aa41
4 years ago
zhulingjie 92b87a5a43 Update json module to jsonutils
oslo project provide jsonutils, and we use it in many place[1],
this PS to update the remained json moudule to oslo jsonutils for
consistency.

[1]: 9594233ffd/tempest/lib/services/volume/v1/quotas_client.py (L15)

Change-Id: Ib8d9f49a1fdfa0f5e0cfb05a193dffb83e4cfe69
4 years ago
Matt Riedemann b4763ef57e Mark test_server_connectivity_reboot as slow
Based on average test run times from the last 300 runs of
the tempest-full job [1] the test_server_connectivity_reboot
test is third slowest at about 200 seconds. This should not
be a surprise given all of the other tests in the same class
are already marked slow.

This change marks that test slow like the others which means
it will be run in the tempest-slow job.

[1] http://paste.openstack.org/show/745114/

Change-Id: Ie8ea1555cc4512bf29dff1e7df592dedfab28c61
Related-Bug: #1783405
4 years ago
Matt Riedemann 4b8a7b8638 Mark test_volume_boot_pattern as slow
Based on the average test times taken from the last 300 runs
of the tempest-full job [1] the test_volume_boot_pattern
scenario test is the slowest test that is not marked slow at
208 seconds.

This change marks that test as slow which means it will still
be run in the tempest-slow job.

[1] paste.openstack.org/show/745114/

Change-Id: Ibc5e5ecaa997744aecea8aff07e7a7e06178f5f3
Related-Bug: #1783405
4 years ago
Bence Romsics 199e022902 Raise renew_delay in TestNetworkBasicOps:test_subnet_details
Bug #1813198 can be reproduced both in cirros 0.3.5 and 0.4.0 by:

while true
do
    sudo /bin/kill -USR1 $( cat /var/run/udhcpc.$( ip -o addr | awk '/100.109.0.37/ {print $2}' ).pid )
    #sleep .1
done

Where 100.109.0.37 is the original IP of eth0 in cirros and the 'kill'
line basically reproduces how test_subnet_details() renews the dhcp
lease using busybox's udhcpc.

However if you uncomment the very short sleep in that loop, the error
is gone. It seems to me this because the following line in udhcpc:

https://git.busybox.net/busybox/tree/networking/udhcp/dhcpc.c?h=1_23_stable#n1093

Note: CirrOS 0.4.0 uses BusyBox v1.23.2.

That is SIGUSR1 triggers a renew request in udhcpc. Internally udhcpc
goes into RENEW_REQUESTED state. If it receives a 2nd SIGUSR1 signal
while still in that state then it deconfigures the interface briefly
before acquiring a new (many times still the same) address. For us it
means we should not retry renewing the lease too fast, because if we do
the address may get deconfigured leading to bug #1813198.

Note: the call of the deconfig script can be easily confirmed by
modifying it (for example to log something). In cirros it is located
under '/sbin/cirros-dhcpc'. Look for the case handling the 'deconfig'
parameter.

This patch increases the delay in retries.

Change-Id: I9b18ef2d835e02be30b7c557e5c10585722111a0
Closes-Bug: #1813198
4 years ago
Matt Riedemann f853ef7a25 Skip test_subnet_details slow test until bug 1813198 is fixed
The bug is killing throughput in our CI system [1] so until it's
fixed I'm proposing that we skip it.

http://status.openstack.org/elastic-recheck/#1813198
http://status.openstack.org/elastic-recheck/gate.html#1813198

Change-Id: I1a6f35dcb15110297cd491b902d7a8279861997e
Related-Bug: #1813198
4 years ago
Zuul 42c43807eb Merge "Check network connectivity of the instance before and after live migration" 4 years ago
lianghao c7b0bc9f69 Check network connectivity of the instance before and after live
migration

Finish the TODO in api/compute/admin/test_live_migration.py
   TODO(mriedem): SSH validation before and after the instance is
   live migrated would be a nice test wrinkle addition.

Change-Id: Id6e93983300d061d238613fc5937c06e15b19809
5 years ago
Sergey Vilgelm eac094a8cf
docs: Fix incorrect docstrings in reStructuredText format
Several docstrings have incorrect format, what prevents to generate
a documentation using sphinx-apidoc extension.

Change-Id: I66431c7030089173d7635c1e2a72765db21f9780
5 years ago
Zuul 3e8af9d6cb Merge "Make connectivity test less backend dependent" 5 years ago
ghanshyam bd8cc59dc2 Mark network slow test as slow
We have observed that tempest-full jobs was time out
many times.

  http://status.openstack.org/elastic-recheck/#1783405

Based on below ethercalc, we are trying to check the slow
tests and mark them slow so that those tests will not run
as part of tempest-full job. There is other job tempest-slow
which will run these tests.

  https://ethercalc.openstack.org/dorupfz6s9qt

Compute slow tests have been marked slow in
- I2a0e154ba38c7407b41b7e986a0bf9b451c65cae

This commit mark network slow tests based on above ethercalc.

Change-Id: Ic2b3f5ea5b6885fe727a21810ddd9e17b779a1a0
Partial-Bug: #1783405
5 years ago
Lucas Alvares Gomes d595c3606c Make connectivity test less backend dependent
The test_connectivity_between_vms_on_different_networks should assert
connectivity between different VMS on different networks but the test is
also asserting that one VM can ping the services port (such as DHCP)
running on the other network and that may not be the case for all
backends.

OVN for example uses a "localport" type to implement a
DHCP port. That port type in OVN does not allow traffic
outside the network it belongs to [0] which is causing the test
test_connectivity_between_vms_on_different_networks to fail when used
with networking-ovn.

This patch is modifying the test to only ping the relevant ports when
asserting that the VMs have connectivity with each other.

[0]
d9677a1f0e/ovn/controller/physical.c (L1176-L1182)

Closes-Bug: #1798317
Change-Id: Ia4a6ee65d3d737f8452b4aed9bf4624455a3b050
5 years ago
Slawek Kaplonski c5c7ba997e Change way how second NIC in guest OS is configured
In case of RHEL based operating system used in guest vm in
test_network_v6 module, there is need to prepare

    /etc/sysconfig/network-scripts/ifcfg-%(nic)s

file with "IPV6INIT=yes" to enable IPv6 on it.
Otherwise IPv6 will not be configured on this NIC when:

    ip link set up dev %(nic)s

will be executed and tests with dualnet=False will fail.
This isn't necessary on systems like Ubuntu or Cirros.

Change-Id: I397b1c3584a045f9ca4f47b4e691385628d35efa
Closes-Bug: #1795891
5 years ago
Zuul 9d1066149c Merge "Skip test_server_connectivity_cold_migration_revert until fixed" 5 years ago
Zuul ecddd38ecb Merge "Set max_microversion 2.35 for nova image tests" 5 years ago
Matt Riedemann 2a4641c056 Skip test_server_connectivity_cold_migration_revert until fixed
We're having a hard time landing changes like
https://review.openstack.org/#/c/601830/ due to
persistent intermittently failing tests that are
not getting attention to resolve, so this skips
one of those tests until the bug is fixed.

Change-Id: I7c2080acbcd47b9fb1deefd30d427f3e4076ea39
Related-Bug: #1788403
5 years ago
Zuul 16e4005dfc Merge "Use base.get_host_for_server to get server host" 5 years ago
zhufl 7bc916dbdd Use base.get_host_for_server to get server host
This is to use base.get_host_for_server to get server
host in testcases.

Change-Id: I3a0c02778c07f3ec68fa22775dd59db196608a22
5 years ago
Zuul 60f8dfc708 Merge "Delete snapshot in test_image_defined_boot_from_volume" 5 years ago
Zuul 0a597479f3 Merge "Make volume client alias with _latest suffix" 5 years ago
melanie witt ca30e8c31b Delete snapshot in test_image_defined_boot_from_volume
We've observed error messages in the gate during this test:

   Failed to delete volume: 16f9252c-4036-463b-a053-60d4f46796c1 due to
   Invalid input received: Invalid volume: Volume status must be
   available or error or error_restoring or error_extending and must
   not be migrating, attached, belong to a consistency group or have
   snapshots. (HTTP 400)

Upon investigating, I found that it's the deletion of the first server
in the test that fails for "Invalid volume" and it's because we delete
the server *after* we've created a snapshot of it (which creates a
volume snapshot). So the first volume, backing the first server, has a
snapshot and that first volume cannot be deleted until the snapshot is
deleted.

This adds a deletion of the volume snapshot and moves the deletion of
the first server after it.

Related-Bug: #1527623

Change-Id: Ia3ccbf8c11d3408742a1f75b1795caa2cc7bbe64
5 years ago
ghanshyam 6c682ffc5d Make volume client alias with _latest suffix
This is next step patch from https://review.openstack.org/#/c/573118/
which makes all the volume service clients alias with _latest suffix.

As all the volume clients point to v3 service client only, having
alias with _v2_ or _v3_ name are confusing.

This commit provide alias with _latest suffix and use them in
tempest. As old alias are being used in tempest plugins also,
we keep the old alias also and slowly will move each plugins to
start using new alias.

Change-Id: Ib89ab72ab4ada3e8442901f104b0b96072187ef9
5 years ago
Slawek Kaplonski ab7d790d93 Pass "access_point" server to get_remote_client
Access point server is now passed to get_remote_client method
in test_security_groups_basic_ops module.
It will help to debug issues with connection to this access point
server in case if those tests will fail.

Change-Id: Ie6ab9019e3b1a2ca490a32a3c350f8deb5d3c357
5 years ago
Slawek Kaplonski 79d8b0ff9b Log server console output during create/get timestamp
Methods {create,get}_timestamp now have possibility to
pass "server" variable to it.
That allows to log instance's console output in case if
SSH to instance would not be available.

Change-Id: I1352e9d559e67510917c2eecd9ecbbb387fdfdb6
5 years ago
Zuul 0445a5cfc0 Merge "Do not check flavor.id after Microversion 2.46" 5 years ago
Zuul def30e0d4a Merge "Create port with port_vnic_type and port_profile from config" 5 years ago
zhufl 66275c2496 Set max_microversion 2.35 for nova image tests
1. The compute images API is deprecated from the Microversion 2.36,
       so we should set max_microversion = '2.35' for compute image tests.
    2. Compute image_create is not deprecated.
    3. In testcases other than those in compute/images, we can simply
       change to use glance images_client, which will also work before
       microversion 2.35.

ref: https://developer.openstack.org/api-ref/compute/#list-images
     https://developer.openstack.org/api-ref/compute/#create-image-createimage-action

Implements blueprint: clear-deprecated-api

Change-Id: I7a40d26449a361f0e3ec922ac41a7c522b572803
5 years ago
Zuul 4fcc924be8 Merge "Add extra_msg and server parameter to check_vm_connectivity" 5 years ago
zhufl bcb7117f09 Do not check flavor.id after Microversion 2.46
flavor.id is longer included in server info after Microversion
2.46, so change to checking flavor info if 'id' is not in flavor.

Note: We needn't check whether 'id' should be in flavor or not in
different microversions because schema check already covers it.

Besides, this is to make resize_server in base.py instance method,
because it's not likely to be used in resource_setup, and so we can
use assert check in it.

Ref: https://developer.openstack.org/api-ref/compute/#rebuild-server-rebuild-action

Implements blueprint: clear-deprecated-api

Change-Id: Id376de39662a4799909b56ec1148c85910d95814
5 years ago
Hongbin Lu 95a3169e17 Correct the usage on listing neutron ports
The test case uses 'fixed_ip' as a query parameter, but the usage
is not correct. In before, the test passed because neutron
server ignored this parameter, and returned all the
ports, which happened to make the test pass.

This patch fixes the usage of this parameter. If there is no ip_address
then not to filter the list using the filter. Otherwise,
we use 'fixed_ips' parameter and populate its value correctly.

Change-Id: I1189bc9a50308df5c7e18c329f3a1262c90b9e12
5 years ago
Edan David 408a97b1a3 Create port with port_vnic_type and port_profile from config
modify create_port function to use tempest.conf parameters,
'port_vnic_type' and 'port_profile' in case they are defined.

Change-Id: Id7e4e3c7543498c84d815dccf16dc168d45b6a62
5 years ago
Zuul de5f0da10e Merge "remove skip for test_connectivity_between_vms_on_different_networks" 5 years ago
Noam Angel 0c42d3fcba remove skip for test_connectivity_between_vms_on_different_networks
test test_connectivity_between_vms_on_different_networks was skipped due
to bug https://bugs.launchpad.net/tempest/+bug/1610994 which seems no
longer valid. I run the test on a valid environment and its passing.

Change-Id: I8c607758cb98978c0cda92b2b14467a1a972d33b
5 years ago
zhufl 0ec74c4017 Add extra_msg and server parameter to check_vm_connectivity
Now manager.check_public_network_connectivity just adds log ex_msg
and log console output based on check_vm_connectivity, and the same
helper name also exists in TestNetworkBasicOps, so this is to:
1. add extra_msg and server parameter to manager.check_vm_connectivity, so
   it can log extra_msg and log console output.
2. add server parameter to manager.ping_ip_address, so it can log console
   output for the specific server while not self.servers, because in its
   use cases only the server owning the ip address is needed for console output.
3. add underscore before TestNetworkBasicOps.check_public_network_connectivity
   because it is an internal helper, and replace its calling super's
   check_public_network_connectivity with calling self.check_vm_connectivity
4. remove manager.check_public_network_connectivity

Change-Id: Ibe8966cabbb2c9264640ba3f559a0146be588aa0
5 years ago
Zuul 490c9e2018 Merge "Update image creation error msg to mention the correct image type" 5 years ago
Ryan Hsu e5107be23f Update image creation error msg to mention the correct image type
Currently, the glance_image_create method allows the ability to
create any type of image as specified in the [scenario] section
of tempest.conf. The error message when unable to find this image,
however, only mentions qcow, which can cause confusion for users
testing with other image types. This commit updates the error to
mention the image type configured in the conf and also issues the
log as a warning rather than a debug message.

Change-Id: Ia2e81da2ded351df5b53f36de278a3400d1b2605
5 years ago
jeremy.zhang d1be501d34 Add status check for creating volume backup
When creating volume backup from volume or snapshot, the status of the
source volume or snapshot will be changed to 'backing-up', and will be
changed to volume or snapshot's original status after the backup
creation finished. So it is necessary to add status check for the source
volume or snapshot to make the tests more robust.

Change-Id: I0add3989e1184012b908c5fab459cda41194dec3
5 years ago
msidana e1f990bdb7 Adding a note for test case test_volume_boot_pattern().
Added a comment as a NOTE for test case test_volume_boot_pattern()
to describe its dependency on public network.

Change-Id: I887b941b92b61f6ca9d6054f94b2ff9abbc1f5f8
Closes-Bug: #1774870
5 years ago