diff --git a/.zuul.yaml b/.zuul.yaml index 699ee5212e..0423afee92 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -24,6 +24,23 @@ vars: tox_envlist: selenium-headless +- job: + name: horizon-integration-tests + parent: devstack + pre-run: playbooks/horizon-devstack-integration/pre.yaml + run: playbooks/horizon-devstack-integration/run.yaml + post-run: playbooks/horizon-devstack-integration/post.yaml + roles: + - zuul: openstack-infra/devstack + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + vars: + devstack_services: + horizon: true + tox_envlist: py27integration + - job: name: horizon-dsvm-tempest-plugin parent: devstack-tempest @@ -86,6 +103,8 @@ - horizon-openstack-tox-python3-django111 - horizon-selenium-headless: voting: false + - horizon-integration-tests: + voting: false - horizon-dsvm-tempest-plugin - horizon-tox-bandit-baseline: voting: false diff --git a/openstack_dashboard/test/integration_tests/tests/test_credentials.py b/openstack_dashboard/test/integration_tests/tests/test_credentials.py index 8b52159960..1cdba9a55a 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_credentials.py +++ b/openstack_dashboard/test/integration_tests/tests/test_credentials.py @@ -15,6 +15,7 @@ from os.path import join from os import remove from horizon.test import firefox_binary +from openstack_dashboard.test.integration_tests import decorators from openstack_dashboard.test.integration_tests import helpers @@ -40,6 +41,7 @@ class TestDownloadRCFile(helpers.AdminTestCase): self.addCleanup(cleanup) + @decorators.skip_because(bugs=['1792028']) def test_download_rc_v2_file(self): """This is a basic scenario test: diff --git a/openstack_dashboard/test/integration_tests/tests/test_router.py b/openstack_dashboard/test/integration_tests/tests/test_router.py index 6f508126a9..7ad598894f 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_router.py +++ b/openstack_dashboard/test/integration_tests/tests/test_router.py @@ -72,6 +72,7 @@ class TestRouters(helpers.TestCase): interfaces_page.find_message_and_dismiss(messages.ERROR)) self.assertFalse(interfaces_page.is_interface_present(interface_name)) + @decorators.skip_because(bugs=['1792028']) def test_router_add_delete_interface(self): """Tests the router interface creation and deletion functionalities: @@ -103,6 +104,7 @@ class TestRouters(helpers.TestCase): self._delete_router() + @decorators.skip_because(bugs=['1792028']) def test_router_delete_interface_by_row(self): """Tests the router interface creation and deletion by row action: @@ -133,6 +135,7 @@ class TestRouters(helpers.TestCase): self._delete_router() + @decorators.skip_because(bugs=['1792028']) def test_router_overview_data(self): self._create_router() @@ -159,6 +162,7 @@ class TestRouters(helpers.TestCase): class TestAdminRouters(helpers.AdminTestCase): ROUTER_NAME = helpers.gen_random_resource_name("router") + @decorators.skip_because(bugs=['1792028']) @decorators.services_required("neutron") def test_router_create_admin(self): """tests the router creation and deletion functionalities: diff --git a/openstack_dashboard/test/integration_tests/tests/test_security_groups.py b/openstack_dashboard/test/integration_tests/tests/test_security_groups.py index 903646a3e8..44d3d8e473 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_security_groups.py +++ b/openstack_dashboard/test/integration_tests/tests/test_security_groups.py @@ -12,6 +12,7 @@ import random +from openstack_dashboard.test.integration_tests import decorators from openstack_dashboard.test.integration_tests import helpers from openstack_dashboard.test.integration_tests.regions import messages @@ -62,6 +63,7 @@ class TestSecuritygroup(helpers.TestCase): self.assertFalse(page.find_message_and_dismiss(messages.ERROR)) self.assertFalse(page.is_port_present(self.RULE_PORT)) + @decorators.skip_because(bugs=['1792028']) def test_securitygroup_create_delete(self): """tests the security group creation and deletion functionalities: @@ -74,6 +76,7 @@ class TestSecuritygroup(helpers.TestCase): self._create_securitygroup() self._delete_securitygroup() + @decorators.skip_because(bugs=['1792028']) def test_managerules_create_delete_by_row(self): """tests the manage rules creation and deletion functionalities: @@ -92,6 +95,7 @@ class TestSecuritygroup(helpers.TestCase): self._delete_rule_by_row_action() self._delete_securitygroup() + @decorators.skip_because(bugs=['1792028']) def test_managerules_create_delete_by_table(self): """tests the manage rules creation and deletion functionalities: diff --git a/openstack_dashboard/test/integration_tests/tests/test_volume_snapshots.py b/openstack_dashboard/test/integration_tests/tests/test_volume_snapshots.py index 105ea9d01d..c1777e0820 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_volume_snapshots.py +++ b/openstack_dashboard/test/integration_tests/tests/test_volume_snapshots.py @@ -9,6 +9,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +from unittest import skip from openstack_dashboard.test.integration_tests import helpers from openstack_dashboard.test.integration_tests.regions import messages @@ -40,6 +41,7 @@ class TestVolumeSnapshotsBasic(helpers.TestCase): self.addCleanup(cleanup) + @skip('Skipped until bug 1792028 is resolved') def test_create_edit_delete_volume_snapshot(self): """Test checks create/delete volume snapshot action @@ -85,6 +87,7 @@ class TestVolumeSnapshotsBasic(helpers.TestCase): self.assertTrue(volumes_snapshot_page.is_volume_snapshot_deleted( new_name)) + @skip('Skipped until bug 1792028 is resolved') def test_volume_snapshots_pagination(self): """This test checks volumes snapshots pagination @@ -177,10 +180,12 @@ class TestVolumeSnapshotsAdmin(helpers.AdminTestCase, def volumes_snapshot_page(self): return self.home_pg.go_to_project_volumes_snapshotspage() + @skip('Skipped until bug 1792028 is resolved') def test_create_edit_delete_volume_snapshot(self): super(TestVolumeSnapshotsAdmin, self).\ test_create_edit_delete_volume_snapshot() + @skip('Skipped until bug 1792028 is resolved') def test_volume_snapshots_pagination(self): super(TestVolumeSnapshotsAdmin, self).\ test_volume_snapshots_pagination() @@ -215,6 +220,7 @@ class TestVolumeSnapshotsAdvanced(helpers.TestCase): self.addCleanup(cleanup) + @skip('Skipped until bug 1792028 is resolved') def test_create_volume_from_snapshot(self): """Test checks possibility to create volume from snapshot diff --git a/openstack_dashboard/test/integration_tests/tests/test_volumes.py b/openstack_dashboard/test/integration_tests/tests/test_volumes.py index 58e5625856..a3dd3d8651 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_volumes.py +++ b/openstack_dashboard/test/integration_tests/tests/test_volumes.py @@ -10,8 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. import time +from unittest import skip -from openstack_dashboard.test.integration_tests import decorators from openstack_dashboard.test.integration_tests import helpers from openstack_dashboard.test.integration_tests.regions import messages @@ -25,6 +25,7 @@ class TestVolumesBasic(helpers.TestCase): def volumes_page(self): return self.home_pg.go_to_project_volumes_volumespage() + @skip('Skipped until bug 1792028 is resolved') def test_volume_create_edit_delete(self): """This test case checks create, edit, delete volume functionality: @@ -77,6 +78,7 @@ class TestVolumesBasic(helpers.TestCase): form = volumes_page.volumes_table.create_volume() form.cancel() + @skip('Skipped until bug 1792028 is resolved') def test_volumes_pagination(self): """This test checks volumes pagination @@ -166,7 +168,7 @@ class TestVolumesAdvanced(helpers.TestCase): def volumes_page(self): return self.home_pg.go_to_project_volumes_volumespage() - @decorators.skip_because(bugs=['1774697']) + @skip('Skipped until bug 1774697 is resolved') def test_manage_volume_attachments(self): """This test case checks attach/detach actions for volume @@ -257,6 +259,7 @@ class TestVolumesActions(helpers.TestCase): self.addCleanup(cleanup) + @skip('Skipped until bug 1792028 is resolved') def test_volume_extend(self): """This test case checks extend volume functionality: @@ -279,7 +282,7 @@ class TestVolumesActions(helpers.TestCase): new_size = volumes_page.get_size(self.VOLUME_NAME) self.assertLess(orig_size, new_size) - @decorators.skip_because(bugs=['1774697']) + @skip('Skipped until bug 1774697 is resolved') def test_volume_upload_to_image(self): """This test case checks upload volume to image functionality: @@ -315,7 +318,7 @@ class TestVolumesActions(helpers.TestCase): self.volumes_page = \ self.home_pg.go_to_project_volumes_volumespage() - @decorators.skip_because(bugs=['1774697']) + @skip('Skipped until bug 1774697 is resolved') def test_volume_launch_as_instance(self): """This test case checks launch volume as instance functionality: diff --git a/playbooks/horizon-devstack-integration/post.yaml b/playbooks/horizon-devstack-integration/post.yaml new file mode 100644 index 0000000000..907a248aef --- /dev/null +++ b/playbooks/horizon-devstack-integration/post.yaml @@ -0,0 +1,5 @@ +--- +- hosts: all + roles: + - fetch-tox-output + - fetch-subunit-output \ No newline at end of file diff --git a/playbooks/horizon-devstack-integration/pre.yaml b/playbooks/horizon-devstack-integration/pre.yaml new file mode 100644 index 0000000000..d2df2cf3e5 --- /dev/null +++ b/playbooks/horizon-devstack-integration/pre.yaml @@ -0,0 +1,10 @@ +--- +- hosts: all + roles: + - run-devstack + - test-setup + - ensure-tox + - role: bindep + bindep_profile: selenium + become: true + - setup-selenium-tests \ No newline at end of file diff --git a/playbooks/horizon-devstack-integration/run.yaml b/playbooks/horizon-devstack-integration/run.yaml new file mode 100644 index 0000000000..e550cc9536 --- /dev/null +++ b/playbooks/horizon-devstack-integration/run.yaml @@ -0,0 +1,6 @@ +--- +- hosts: all + environment: + OS_CLOUD: devstack-admin + roles: + - tox \ No newline at end of file