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
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
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
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
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
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
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
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
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
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
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
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
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
Several docstrings have incorrect format, what prevents to generate
a documentation using sphinx-apidoc extension.
Change-Id: I66431c7030089173d7635c1e2a72765db21f9780
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
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
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
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
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
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
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
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
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-imageshttps://developer.openstack.org/api-ref/compute/#create-image-createimage-action
Implements blueprint: clear-deprecated-api
Change-Id: I7a40d26449a361f0e3ec922ac41a7c522b572803
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
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
modify create_port function to use tempest.conf parameters,
'port_vnic_type' and 'port_profile' in case they are defined.
Change-Id: Id7e4e3c7543498c84d815dccf16dc168d45b6a62
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
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
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
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
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