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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This is a more convenient way to tick epoch when we have multiple moprh blockchain nodes.
Approach that we use in devenv would require multi-signed transaction which is cumbersome.
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
Add new variables to common.py that allow:
- Make paths to wallets configurable.
- Make devenv services path configurable.
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
Remote connection was created to the 1st storage node only. While in reality
we want to create connection to a specific node.
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
New variables allow us:
1. To configure path of CLI binaries and config file on storage node.
2. Update variable names for storage node endpoints.
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>