By default settings public network can be
assignment only to nodes with controller role.
So tests should be updated to enable 'assign_to_all_nodes'
paramater for clusters.
For more info see:
https://review.openstack.org/#/c/292356/
Change-Id: Ib3d8b48076a0597a08cd273d5be361ce4cbd902d
Closes-Bug: 1632010
Wait for deployment start before read network settings:
Fuel 9.1 is async and result task start command is just task,
which is not immediately started.
Wait for task status: running
TODO: implementation of custom network settings check
Related-bug: #1618872
Change-Id: I8a30e0afc97164dd1f61ae7607c8d440cc62b33f
Network configuration check: remove for autoconfig scenario
Network settings, which was not set manually, are generated.
Closes-bug: #1618872
Change-Id: I23ef1db965cf419cb66e28a2f311f9ba6d8d0276
Do not check network configuration, when change is expected
Network configuration check is valid only for scenarios with custom
network configuration
Dedicated test should be added
Related-bug: #1618872
Change-Id: I41bd0924972c1520cb5016c1eeefddb27d4c61b3
At now we deploy controller before ceph but we
must to deploy controller node with ceph node because:
* The "ceph_ready_check" task (post-deployment) fails on controller because it *requires* deployed OSDs to pass.
* OSDs, on the other hand, require deployed controller (since we install ceph monitor there).
Hence, both controller and ceph-osd nodes must be send for deployment at once.
New scenario:
1. Revert snapshot "ready_with_9_slaves"
2. Create a cluster
3. Set replication factor 2
4. Set ceph usage for images, cinder for volumes
5. Get cluster settings before deploy
6. Provision a controller node using Fuel CLI
7. Provision one compute node using Fuel CLI
8. Provision one cinder node using Fuel CLI
9. Provision one mongo node using Fuel CLI
10. Provision two ceph-osd nodes using Fuel CLI
11. Provision one base-os node using Fuel CLI
12. Leave 2 nodes in discover state
13. Deploy the ceph-osd and controller nodes using Fuel CLI
14. Compare network settings after deployment task
15. Deploy the compute node using Fuel CLI
16. Compare network settings after compute deployment task
17. Deploy the cinder node using Fuel CLI
18. Compare network settings after cinder deployment task
19. Deploy the mongo node using Fuel CLI
20. Compare network settings after mongo deployment task
21. Deploy the base-os node using Fuel CLI
22. Compare network settings after base-os deployment task
23. Check that nodes in discover state stay in it
24. Get deployment-info
25. Get cluster settings after deployment task
26. Compare cluster settings after deploy and before deploy
27. Run OSTF
Closes bug: 1590680
Change-Id: Ibf401863985d1d568fde418e76d145795d2c46c9
This test for check that task save information about
the deployment in the database was done correctly via CLI.
Closes bug: 1573641
Change-Id: I81fe82a32bbb948da79dc8e9e30c8a5ddcb0c004
1. add FuelWebClient.assert_all_tasks_completed, which could check status
for specified cluster or wide
2. add NailgunClient.get_all_tasks_list for retrieving all tasks info from database
3. Call tasks status check after deployment success before short OSTF (
self.assert_ha_services_ready(cluster_id)
self.assert_os_services_ready(cluster_id)
)
4. add TestCliBase.assert_all_tasks_completed
5. call TestCliBase.assert_all_tasks_completed after deployment
Change-Id: I428fc17434d40951c6eb6cefe88dd007d1eb0761
Closes-bug: #1564943
Now OSTF only considers nova services for online
(according to Nailgun) computes that are part of
the active cluster. It will skip deleted nodes,
and therefore there should be less failures.
Change-Id: Ie94eccf2608db1d3d800e017a9c91541461f81ee
Related-Bug: #1570847
- Add method to update node interfaces through cli
- Update cli tests with new method
Change-Id: Icd79684f7a2b48972135bed6e25261dc8e977255
Closes-Bug: #1564462
Test covers next scenario:
* Revert snapshot "ready_with_9_slaves"
* Create a cluster
* Set replication factor 2
* Set ceph usage for images, cinder for volumes
* Provision a controller node using Fuel CLI
* Provision one compute node using Fuel CLI
* Provision one cinder node using Fuel CLI
* Provision one mongo node using Fuel CLI
* Provision two ceph-osd nodes using Fuel CLI
* Provision one base-os node using Fuel CLI
* Add role compute to 2 nodes and leave 2 nodes in discover state
* Deploy the controller node using Fuel CLI
* Deploy the compute node using Fuel CLI
* Deploy the cinder node using Fuel CLI
* Deploy the mongo node using Fuel CLI
* Deploy the ceph-osd nodes using Fuel CLI
* Deploy the base-os node using Fuel CLI
* Check that nodes in discover state stay with flag pending_additional = true
* Run OSTF
Closes-Bug: #1566432
Change-Id: I8da521bb7e4751dba6787bc352ca95ace80d035e
Change docstring test steps in test_admin_node.py in check_rpm_packages_signed()
Change docstring test steps in test_admin_node.py
in check_remote_packages_and_mos_repositories_signed()
Change docstring test steps in test_cli.py in cli_selected_nodes_deploy()
Change docstring test steps in test_ssl.py in master_node_with_https_only()
Change docstring test steps and show_step() numbers in test_ssl.py
in endpoints_with_disabled_ssl()
Change docstring test steps and show_step() numbers in test_cli_deploy.py
in cli_deploy_neutron_tun()
Change docstring test steps and show_step() numbers in test_cli_deploy.py
in cli_deploy_tasks()
Change docstring test steps and show_step() numbers in test_cli_deploy_ceph.py
in cli_deploy_ceph_neutron_tun()
Change docstring test steps and show_step() numbers in test_cli_deploy_ceph.py
in cli_deploy_ceph_neutron_vlan()
Change docstring test steps and show_step() numbers in test_cli_role.py
in cli_update_role()
Change docstring test steps and show_step() numbers in test_cli_role.py
in cli_create_role()
Change docstring test steps and show_step() numbers in test_cli_role.py
in cli_create_role_with_has_primary()
Change docstring test steps and show_step() numbers in test_cli_role.py
in cli_delete_role()
Change docstring test steps and show_step() numbers in test_cli_role.py
in cli_incorrect_update_role()
Change docstring test steps in test_ha_tun_group_1.py in tun_controller_base_os()
Change docstring test steps in test_ha_tun_group_1.py
in tun_ceph_for_images_and_objects()
Change docstring test steps in test_ha_tun_group_2.py in tun_ha_ceph_base_os()
Change docstring test steps in test_ha_tun_group_2.py in tun_ceph_all()
Change docstring test steps in test_ha_tun_group_3.py
in tun_no_volumes_ceph_for_images_and_ephemeral()
Change docstring test steps in test_ha_tun_group_3.py
in tun_5_ctrl_ceph_ephemeral()
Change docstring test steps in test_ha_vlan_group_1.py
in cinder_ceph_for_images()
Change docstring test steps in test_ha_vlan_group_1.py
in ceph_for_volumes_swift()
Change docstring test steps in test_ha_vlan_group_2.py
in cinder_ceph_for_ephemeral()
Change docstring test steps in test_ha_vlan_group_2.py
in cinder_ceph_for_images_ephemeral()
Change docstring test steps in test_ha_vlan_group_3.py
in no_storage_for_volumes_swift()
Change docstring test steps and show_step() in test_ha_vlan_group_3.py
in ceph_volumes_ephemeral()
Change docstring test steps in test_ha_vlan_group_4.py
in four_controllers()
Change docstring test steps and show_step() in test_ha_vlan_group_4.py
in ceph_rados_gw_no_storage_volumes()
Change docstring test steps and show_step() in test_ha_vlan_group_5.py
in ceph_for_volumes_images_ephemeral_rados()
Change docstring test steps and show_step() in test_ha_vlan_group_5.py
in cinder_ceph_for_images_ephemeral_rados()
Change docstring test steps and show_step() in test_ha_vlan_group_6.py
in ceph_for_images_ephemeral_rados()
Change docstring test steps and show_step() in test_ha_vlan_group_6.py
in ceph_for_volumes_images_ephemeral()
Change docstring test steps in test_ha_vlan_group_7.py
in ceph_for_images()
Change docstring test steps in test_ha_vlan_group_7.py
in ha_vlan_operating_system()
Change docstring test description in test_use_mirror.py
in deploy_with_custom_mirror()
Change docstring test steps in test_mongo_multirole.py
in ha_ceilometer_untag_network()
Change docstring test steps and show_step() in test_multirole_group_1.py
in controller_ceph_and_compute_cinder()
Change docstring test steps and show_step() in test_multirole_group_1.py
in controller_ceph_cinder_compute_ceph_cinder()
Change docstring test steps and show_step() in test_mixed_os_components.py
in mixed_components_murano_sahara_ceilometer()
Change docstring test description in test_scale_group_1.py
in add_controllers_stop()
Change docstring test description in test_scale_group_1.py
in add_ceph_stop()
Change docstring test description in test_scale_group_2.py
in replace_primary_controller()
Change docstring test description in test_scale_group_2.py
in remove_controllers()
Change docstring test steps and show_step() in test_scale_group_3.py
in add_delete_compute()
Change docstring test steps and show_step() in test_scale_group_3.py
in add_delete_cinder()
Change docstring test steps in test_scale_group_4.py
in add_delete_ceph()
Change docstring test steps and show_step() in test_scale_group_4.py
in add_delete_cinder_ceph()
Correct misspelling in test_scale_group_5.py
Correct misspelling in test_scale_group_6.py
Add show_step() in test_deploy_platform_components.py
Change docstring test steps and show_step() in test_deploy_platform_components.py
in acceptance_deploy_platform_components_ceilometer()
Change docstring test steps in test_separate_db_ceph.py
in separate_db_ceph_service()
Change docstring test steps in test_separate_keystone_ceph.py
in separate_keystone_ceph_service()
Change docstring test steps in test_separate_rabbitmq_ceph.py
in separate_rabbit_ceph_service()
Change docstring test steps in test_failover_group_1.py
in lock_db_access_from_primary_controller()
Change docstring test steps in test_failover_group_1.py
in recovery_neutron_agents_after_restart()
Change docstring test steps in test_failover_group_1.py
in safe_reboot_primary_controller()
Change docstring test steps in test_failover_group_1.py
in hard_reset_primary_controller()
Change docstring test steps and swap order of ostf tests and network verification
in test_failover_group_1.py in power_outage_cinder_cluster()
Change docstring test steps in test_failover_group_2.py
in safe_reboot_primary_controller_ceph()
Change docstring test steps and show_step() in test_failover_group_2.py
in hard_reboot_primary_controller_ceph()
Change docstring test steps in test_failover_mongo.py
in kill_mongo_processes()
Change docstring test steps in test_failover_mongo.py
in close_connections_for_mongo()
Change docstring test steps in test_failover_mongo.py
in shut_down_mongo_node()
Change-Id: I570478614682d237fd95c67d51597a35b94c610c
Closes-Bug: #1560931
To delete operational cluster with fuel-client one must use
--force flag:
fuel --env ID env delete --force
Change-Id: I76887c24b0f5d8ea8508a59bc726207eb6ba138a
Closes-bug: #1562028
First test automate following test case: Check MOS services are NOT running ssl on public endpoints when TLS is disabled.
Second test automate following test case: Check cluster creation with SSL is enabled only on Master node.
Also test fixed typo in comment in test_cli.py
Related bug: 1544542
Change-Id: I506c0a3763c208e04011e6f75577812d2a959f04
also it checks that all openstack services work by https and have the same domain name that in CN of user certificate
It is a first part of ssl test, that automate manual tests:
C261932
C375828
C375827
In addition it refactore cli_selected_nodes_deploy test (run_on_remote -> ssh_manager).
Change-Id: Iae4953e47462f3578022e2d7fa3660aab041c994
Closes-bug: #1544542
Methods signatures in tests.cli_base.py were changed.
So we need to update it usage in test_cli.py
Change-Id: If22c32f1bba34fc73a0ea8afe4e59f53b7242657
Related-Bug: #1547195
We need to create additional checks in
test_cli.py for floating ranges.
We need to check that floating ranges has been
successfully added to /etc/astute.yaml file
on controller node after deploying.
Change-Id: I2f340e30f5ff778ee359e7da1556b0d4a7bb63ef
Closes-Bug: 1517370
- Function update_connection was added in SSHManager.
You can use it to update existed connecetion with
new/custom credentials
- Function execute_on_remote was renamed to 'execut'
- Function execute_on_remote was added to SSHManager
with new functionality. It is the same with
run_on_remote_and_get_result
- Move function json_deserialize to SSHManager
- Code refactoring according the changes above
SSHManager was added in folowing places:
- fuelweb_test.environment.py for all needed methods
- patching.py for:
- connect_admin_to_repo
- connect_slaves_to_repo
- decorators.py for update_rpm_packages
- multiple_networks_hacks.py for all
Related-Bug: #1527847
Change-Id: I20dd5e02bb8833b3543780e0083576516a2893f6
Add condition initialize "--nst" value
if NEUTRON_SEGMENT_TYPE is set,
do not use "--nst" param
if NEUTRON_SEGMENT_TYPE is not set
Change-Id: I1b6c1a27f5d4ebcebb980b7423350b08c6037983
Closes-Bug: #1527203
- Create Singletone to use it as metaclass in ssh_manager.
Singleton provides us posibility of having only one instance of class.
- Create SSHManagaer, wich will manage SSH connections by itself.
Almost SSHClient methods was duplicated in SSHManager.
Now it used so:
SSHManager().method(node_ip, *parameters)
We will not get back SSHClient, we will just say 'Do IT on NODE with this PARAM'
e.g SSHManager().execute_on_remote('127.0.0.1', 'bash_command')
- Use ssh_manager in cli_cluster_deletion test
Change-Id: I307d7d71e814b67d20cc0b4648cf6a7dac4a7829
Closes-Bug: #1503210
Delete '--net' parameter,
due to existing only single net provider type
and removing '--net' parameter from the fuel-client
Change-Id: I61d48cfa9d715b0162536f50c372646d89783667
Closes-Bug: #1516051
In test delete cluster over cli we use
revert mechanism, but do not check if all the nodes
become online after revert. This lead to the situation
when cluster deletion takes a little bit more time.
So In this patch delete timeout was increased.
Also add check for node statuses after revert
and log with error level if some of them is offline.
We don't interrupt tests here according to cluster should be deleted,even all the nodes are offline
Change-Id: I769e5a17875595b632d111d6b5f1a782989e3a37
Closes-Bug: #1508007
Because CommandLine class used in
create_backup_reset_restore_and_deploy_via_cli it should not have test
decorator. Proboscis saves test function each time when module are
imported
Change-Id: I30fd2596f03f10992b0d743c7e375325b45bf90c
Closes-bug: #1507999
Change default values for networking accordingly
to the existing networks
Apply defaults for new created cluster instead of
reconfiguring all networks
Change-Id: I3eb3c6bdd9128c4e35741884daf0793714ce3b7c
Closes-Bug: 1476185
Co-Authored-By: Vladimir Khlyunev <vkhlyunev@mirantis.com>
This patch implements ability to system
tests work with new SSL feature.
Writed new module SSL includes functions
for certificates generating and changing
SSL cluster configuration.
Also add fix to the cli test, because
this test uses different way to deploy
cluster and if so different way to
enable/disable SSL.
Change-Id: I857ed750f6f2bd0edfbe4f3bda3f8fbe5faede99
Closes-Bug: 1482216
Closes-Bug: 1486511
Closes-Bug: 1488097
- Add a test that creates a cluster and deploy nodes using
only Fuel CLI.
- for tests cli_cluster_deletion and cli_node_deletion_check
changed dependence on test group from 'prepare_ha_neutron'
to 'cli_selected_nodes_deploy'
- Move 'hiera_deploy' test to a separate class:
'command_line_minimal', because it is used on different CI
(see bug https://bugs.launchpad.net/fuel/+bug/1425464)
Change-Id: Ie3c833ccee8ee1e9cae16e9386ad5369dbbf96e8
Related-Bug:#1448977
- Offline node deletion, checking its absence
into cobbler system list
- Cluster deletion, checking its absence into db
Change-Id: I47883924bcf3e668a9e501c6bcefdea8b5cc366a
blueprint: remove-node-from-fuel-inventory
- add a new environment variable:
ALWAYS_CREATE_DIAGNOSTIC_SNAPSHOT, default = 'true'.
- move code that resume environment into a separate method.
- rename @log_snapshot_on_error to @log_snapshot_after_test
Change-Id: I5902899ba4c8557b7233e9bf576debc2197ca9e2
Closes-Bug:#1452672
I have added a auto-generated documentation. It is done with
Sphinx library. Sphinx uses reStructuredText as its markup language
and docstrings as a source for automated documentation.
According to https://www.python.org/dev/peps/pep-0257/
I used a """ for quotes in docstrings and made
"""Docstring."""-looking one-liners and correct indentation
for multiple-liners.
Based on https://github.com/kennethreitz/requests
I moved Makefile, requirements.txt and conf.py to /doc folder.
Also I decided to make fuel-qa documentation
similar to https://docs.python.org/2/tutorial/index.html
with single table of contents.
I have added empty __init__.py files to be able to produce
documentation.
I have added sys_test.log to .gitigonre because it has
been generated at the documentation build.
To make it faster and non-conflicting I added some banal
class descriptions in order to get them in auto-generated documentation.
I decided not to fight with warnings and poor docstring descriptions
I added to make documentation less conflicting and for a faster review.
Docstring improvements and detailed code description are left for later.
For the same reasons I decied not to add docstrings to all methods.
At a places where I made poor docstrings I have added a
TODO documentation.
Change-Id: I7701a9a3429abbf62b13ec5a31972298c0be5201
Related-Bug: #1321682