Commit graph

166 commits

Author SHA1 Message Date
93e5cb5f46 Add Load library, new params for common.py, new load tests, Adapt K6, remote_process for Hosting
Signed-off-by: a.lipay <a.lipay@yadro.com>
2022-10-19 23:59:42 +03:00
805e014c2f Fix: Allow RANGEHASH by default for system wallets
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-10-19 18:12:12 +03:00
b38403699c Add shell parameter to head_object calls
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-19 11:39:46 +04:00
3de4d574d3 Fix code that constructs paths
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-18 16:32:53 +04:00
7fcbdb6c34 Rename bearer_token to bearer
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-10-18 13:52:28 +03:00
7d54641e54 Add shell parameter to acl function calls
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-18 11:29:14 +04:00
59f7679b5d Fix config for neofs-cli in balance test
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-17 16:15:17 +04:00
114f0a1623 Switch to fixed version of testlib
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-17 16:15:17 +04:00
b64656f0b3 Don't check ACL in sync test
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-17 15:04:54 +03:00
8e8a5b6efd Pass shell where it was missed
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-17 14:04:53 +04:00
anastasia prasolova
4b3a5f60c4 Add check to version test S3
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-17 12:58:15 +03:00
48e53b3d86 Switch failover test to hosting from testlib
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-14 20:35:26 +04:00
92c034c10b Update environment check for failover tests
With testlib we have a new concept of host. Depending on number of hosts we
can decide whether to run tests or not. This allows us to run failover tests
on devenv if we deploy multiple devenv hosts, also this allows us to add hardware
hosting without modifying code of the tests.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-14 20:35:26 +04:00
bfd02531ef Integrate with hosting from testlib
Replace service_helper with hosting class from the testlib.
Instead of invoking commands on remote via ssh_helper, we now use
shell from the hosting.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-14 20:35:26 +04:00
88da942b03 Add tenacity to requirements for remote_process
Signed-off-by: a.lipay <a.lipay@yadro.com>
2022-10-14 13:03:08 +03:00
cf748bf785 Fix 'datetime.datetime' is not iterable
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-14 13:01:42 +03:00
7ab737b595 Parsing k6 results + dataclass for K6 results
Signed-off-by: a.lipay <a.lipay@yadro.com>
2022-10-14 12:15:53 +03:00
e63db788c5 Use neofs-testlib
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-10-13 21:59:26 +03:00
6734cd70e6 [#312] Add new multipart upload test
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-13 10:20:44 +03:00
5eeb8b4058 [#350] Move file-related functions to file_helper
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-12 10:18:44 +04:00
ce41104d3a Fix regexp for error put object with lock mode
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-11 18:26:25 +03:00
0aeb998be9 [#350] Cleanup utility keywords
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-11 18:14:58 +04:00
f9d1a4dfae [#312] Add new test for s3 Bucket function
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-10 14:11:01 +03:00
bb62299945 [#312] Add new tagging tests for s3
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-10 08:58:53 +03:00
1d09fc73b6 Fix https://github.com/nspcc-dev/neofs-s3-gw/issues/628
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-07 20:33:30 +04:00
c29beb69a9 [#266] Upgrade test to S3 bucket removal
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-06 15:49:16 +03:00
e8cbd286cd [#344] Fix assert for http object not found error
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-06 12:33:19 +04:00
455f2f4734 Fix test extended actions system
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-10-04 11:37:28 +03:00
2b635059c2 [#339] Fix code that checks complex object copies
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-04 11:51:29 +04:00
2ebe3192e2 Change SberCloud api call (get id by ip)
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-10-04 10:07:48 +03:00
f1d3aa6098 [#334] Disable automatic retries in S3 clients
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-10-03 16:38:50 +04:00
987df42542 [#312] add new ACL test to s3
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-03 09:42:57 +03:00
c71d24ea76 Fix sbecloud nightly run
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-10-01 09:15:06 +03:00
92f7470757 [#312] add version test
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-30 16:03:27 +03:00
147cac0ebc [#314] Format all files with black and isort
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-09-30 13:45:25 +04:00
26032a67ec [#330] Switch to new command netmap snapshot
1. Add netmap command to NeofsCli wrapper.
2. Update node_management steps to use netmap.snapshot method instead of
   deprecated "neofs-cli control netmap-snapshot" command.
3. Switch node's public key in netmap from base58-encoding to hex-encoding.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-09-30 13:22:52 +04:00
2a175b5824 Add eACL test for system account
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-09-27 13:20:32 +03:00
c53e48d1f8 Fix skipping s3 test by python mistake
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-27 13:20:11 +03:00
d28d7c6e6d Skip balance tests when storage is free
This is an alternative implementation of PR https://github.com/nspcc-dev/neofs-testcases/pull/304

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-09-27 13:27:31 +04:00
fed50cb96d Set limit to 1000 in GET VM details query to sbercloud
By default sbercloud API returns only first 25 VMs per query

Signed-off-by: anikeev-yadro <a.anikeev@yadro.com>
2022-09-27 12:19:36 +03:00
38bb0c35a6 fix AttributeError in set_bucket_versioning
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-27 10:45:29 +03:00
30703bf701 Fix error response in test_expiration_epoch_in_http
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-27 10:43:40 +03:00
588292dfb5 [#314] Fix tools config
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-09-26 17:33:42 +04:00
2452cccba0 adding k6 + remote_process helper
Why script file:
We have script file for debug after test is finished
We don't need too long strings for passing environment variables
We can easy get PID
https://serverfault.com/questions/420905/nohup-multiple-sequential-commands

Signed-off-by: a.lipay <a.lipay@yadro.com>
2022-09-23 18:23:23 +03:00
ee2ed667c6 [#312] add new test for s3
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-23 15:54:57 +03:00
karmadim
68591a902d Add check for node is ready
Signed-off-by: Dmitry Karmanov <d.karmanov@yadro.com>
2022-09-22 16:30:45 +03:00
a8a00c1c53 [#297] remove robot.logger
Signed-off-by: Yulia Kovshova <y.kovshova@yadro.com>
2022-09-22 15:33:42 +03:00
035175894d [#297] Replace @keyword decorator with allure.step 2022-09-21 14:02:09 +03:00
589197ba72 Add black formatter and isort into a precommit hook
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-09-21 12:18:17 +04:00
9eb33465f9 Change sleeps from MAINNET_BLOCK_TIME to MORPH_BLOCK_TIME
Our tests sleeps should based on MORPH_BLOCK_TIME

Signed-off-by: anikeev-yadro <a.anikeev@yadro.com>
2022-09-19 17:26:29 +03:00
Elizaveta Chichindaeva
37f73af11e Test: balance accounting test -> pytest
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-09-07 14:44:37 +03:00
Elizaveta Chichindaeva
38a177107e HOTFIX: FREE_STORAGE condition
FREE_STORAGE may be false or true and it affects GAS transfer.

Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-09-07 13:47:51 +03:00
926a7a5779 Add eACL tests using bearer token
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-09-07 12:11:49 +04:00
Elizaveta Chichindaeva
92cbc2e11b [226] Tests: test for session token for object
A test for session token for object rewritten in pytest.

Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-09-05 14:36:01 +03:00
Elizaveta Chichindaeva
3f6ba19a8b Tests: Storagegroup tests into pytest
Tests for Storagegroups rewritten in pytest

Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-09-05 12:12:26 +03:00
f40111dc4a Implemented neofs-adm lib
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-08-31 23:52:02 +03:00
7e31610462 Change log collection fixture to put all logs into archive
When collecting logs we dump all of the logs into a directory, because it is RAM-intensive
to keep entire set of logs in memory, especially in a large cluster.
And we attach logs to Allure not as individual files, but as single zip archive, because it
is more convenient to download, attach to bugs, etc.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-30 13:36:28 +04:00
94d6ec6b12 Add fixture to collect logs after test execution
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-30 13:36:28 +04:00
6d040c6834 Add ACL and eACL PyTest tests
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-08-25 14:06:21 +03:00
590a5cfb0e Exclude content-length header from request signature
Despite of SberCloud sample for python, content-length header is not accounted for
when calculating signature.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-22 18:52:04 +04:00
9454c5eb95 Implement access key authentication in SberCloud API
Replaced insecture login/password authentication in SberCloud API with authentication
via access key. This is more secture and is the recommended approach for authentication
from an application.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-22 18:52:04 +04:00
3294299612 Implement neofs-cli lib for container and object
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-08-19 09:47:19 +03:00
d935c2cafa Remove step for iptables installation
Installation of iptables was implemented in environment preparation pipeline and tests
do not need to worry about it.
Removed conditions that were checking pytest mode vs robot mode, because we got rid of
robot tests in this branch of codebase.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
0ca45d1ba8 Rename variable for GC waiting
We need just an aggregate variable that allows to wait until GC pass occurs on
a storage node, rather than a variable for specific shard. Also, we need to account
for a time that GC session itself takes.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
b270f39387 Fix node transition to online state
Node hangs up if we attempt to transfer it to online state immediately after start.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
a76614b40d Add asserts for error status codes in grpc responses
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
b6b1644fd6 Refactor privileges for ssh commands
Remove logic that checks for root login and prepends command with sudo, because
we should not use root login at all and all commands (that require higher permissions
should be prefixed with sudo anyways).
Add sudo prefix to privileged commands that require it.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
f9ba463d2e Refactor container tests
Use wellknown ACL constants.
Remove 0x prefix from ACL, because neofs CLI changed formatting.
Remove redundant comments.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-18 14:01:33 +04:00
Elizaveta Chichindaeva
186091640f Tests: fix in spelling
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-08-17 16:20:18 +03:00
6110de9268 Refactor devenv service helper
Use docker API to operate with remote devenv, this makes code cleaner and more uniform
between local devenv and remote devenv.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
e88d64a263 Fix decorator for skipping binary version test
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
2b9b0d837d Skip test for binaries versions
It is currently blocked because internal components do not expose versions

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
b597937286 Fix container filtering by name in devenv
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
453dcb99fa Fix container wait logic in devenv
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
c131bb04ba Fix node cleanup step
The intention of the test was not to delete node entirely, but just to erase it's data.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
d6861f4f62 Refactor env properties
Encapculate reading/writing environment.properties in helper.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
a.y.volkov
9fea2efe83 Check binaries versions
Signed-off-by: a.y.volkov <a.y.volkov@yadro.com>
2022-08-15 18:49:05 +04:00
ce099c61a4 Move node deletion logic to service helper
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
91197335ba Add tests that start or stop services on remote vm
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-15 18:49:05 +04:00
a.y.volkov
f97bfed183 Add test for adding node to cluster
Signed-off-by: a.y.volkov <a.y.volkov@yadro.com>
2022-08-15 18:49:05 +04:00
b468a06f4e Fix hard reboot via sysrq-trigger
Signed-off-by: Vladimir Avdeev <v.avdeev@yadro.com>
2022-08-15 18:49:05 +04:00
448570afa0 Fix get_range usage in acl tests
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:31:22 +03:00
eff4b032a5 Refactor fixture that checks cloud environment
Now it relies on presence of sbercloud configuration rather than on free storage setting.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:31:22 +03:00
e1d7999313 Cleanup sbercloud config
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:31:22 +03:00
47c55f0060 Remove redundant variables
Small refactoring that includes:
 - Removed variables that are not used any more.
 - Cleanup in helper functions' names.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:31:17 +03:00
a.y.volkov
642af0a888 Add test for network failover
Signed-off-by: a.y.volkov <a.y.volkov@yadro.com>
2022-08-05 13:29:31 +03:00
5f53e80f93 Fixes in tests to enable them to run in a cloud environment
Few small fixes were made:
 - Fix path to binaries on storage node in cloud env.
 - Add logic to prepend ssh command with sudo.
 - Make re-encoding of homomorphic hash conditional.
 - Increase ssh timeout.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
892b8f227a Add helper function to wait for GC pass on storage nodes
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
05da181998 Add retries when checking presence of buckets in list
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
d8911f2490 Fix parsing of CLI output
Formatting has been changed in CLI tools in version v0.30 and it required us to
change logic in tests:
 - Fix authmate output parsing.
 - Fix format of container name in assert.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
cccfc41409 [#268]: Rename neofs-cli parameter to expire-at
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
6357554ed9 Fix logic that collects versions of binaries
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
a.y.volkov
3f12bd75f6 Add storage nodes health check before tests run
Signed-off-by: a.y.volkov <a.y.volkov@yadro.com>
2022-08-05 13:29:31 +03:00
d701e2cb62 Remove redundant environment variables
Along with that few tweaks were made:
 - Increase wait time as it seems to take more time for complex object.
 - Increase timeout for create_bucket as it fails periodically.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
ae9c9947b6 Fix logic that checks presense of node in netmap
We are now checking by node's public key as it is represented in netmap.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
18e87e3a13 Add delays to http gateway tests
There were 2 delays added:
 - Waiting for GC pass is driven by system design.
 - Waiting after HTTP upload is just termporary workaround.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
08081a8629 Fix cleanup of versioned s3 bucket
Add logic that deletes all objects versions from the bucket before attempting to
delete the bucket itself. This is required per AWS S3 specification.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
8afba7fca6 Fix assert that checks presence of node in netmap
We should be looking for node host rather than for node name that we assigned in tests code.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
568b4421ce Fix object lifetime tests
We should wait for GC pass on storage nodes, because object with expiration is garbage collected
only after epoch ticks.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00
2c232c222c Fix node management tests
When we call storage node's control endpoint we need to override storage wallet path.

Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2022-08-05 13:29:31 +03:00