You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2016/11/28 10:38:07 UTC

[1/3] git commit: updated refs/heads/master to edf4fe9

Repository: cloudstack
Updated Branches:
  refs/heads/master bc02858a4 -> edf4fe951


CLOUDSTACK-9584: run component tests in Travis run

This would run additional component tests in Travis run

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7a96d32c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7a96d32c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7a96d32c

Branch: refs/heads/master
Commit: 7a96d32c7eeb98990eb53aa4c8c3052e7592fecc
Parents: f78e946
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Wed Nov 9 19:04:17 2016 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Nov 28 13:47:50 2016 +0530

----------------------------------------------------------------------
 .travis.yml                                     | 136 +++++++++++++---
 developer/developer-prefill.sql                 |  12 +-
 setup/dev/advanced.cfg                          |  12 +-
 .../smoke/test_outofbandmanagement.py           | 124 ++++++++-------
 test/integration/smoke/test_regions.py          |   2 +-
 tools/travis/after_failure.sh                   |   1 +
 tools/travis/after_script.sh                    |  21 ---
 tools/travis/before_install.sh                  |  58 -------
 tools/travis/before_script.sh                   |  19 +--
 tools/travis/downloadDeps.sh                    | 158 -------------------
 tools/travis/install.sh                         |  24 +--
 tools/travis/script.sh                          |  14 --
 tools/travis/xunit-reader.py                    |   4 +-
 13 files changed, 206 insertions(+), 379 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 34220fe..da81633 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,9 +17,6 @@
 sudo: required
 dist: trusty
 language: java
-cache:
-  directories:
-  - $HOME/.cache
 jdk:
 - oraclejdk7
 python:
@@ -27,31 +24,134 @@ python:
 cache:
   directories:
   - $HOME/.m2
-  timeout: 1000
+  timeout: 500
 notifications:
   email: false
 env:
   global:
-     - REGRESSION_CYCLE=4
-     - REGRESSION_INDEX=6
      - PATH=$HOME/.local/bin:$PATH
   matrix:
-    - TESTS="smoke/test_affinity_groups smoke/test_affinity_groups_projects smoke/test_dynamicroles smoke/test_deploy_vgpu_enabled_vm smoke/test_deploy_vm_iso smoke/test_deploy_vm_root_resize smoke/test_deploy_vm_with_userdata smoke/test_deploy_vms_with_varied_deploymentplanners smoke/test_disk_offerings smoke/test_global_settings smoke/test_guest_vlan_range"
-    - TESTS="smoke/test_hosts smoke/test_internal_lb smoke/test_iso smoke/test_list_ids_parameter smoke/test_loadbalance smoke/test_login smoke/test_multipleips_per_nic smoke/test_network smoke/test_network_acl smoke/test_nic smoke/test_nic_adapter_type smoke/test_non_contigiousvlan"
-    - TESTS="smoke/test_outofbandmanagement smoke/test_over_provisioning smoke/test_password_server smoke/test_portable_publicip smoke/test_primary_storage smoke/test_privategw_acl smoke/test_public_ip_range smoke/test_pvlan smoke/test_regions smoke/test_reset_vm_on_reboot smoke/test_resource_detail"
-    - TESTS="smoke/test_router_dhcphosts smoke/test_routers smoke/test_routers_iptables_default_policy smoke/test_routers_network_ops smoke/test_staticroles smoke/test_scale_vm smoke/test_secondary_storage smoke/test_service_offerings smoke/test_snapshots smoke/test_ssvm smoke/test_templates"
-    - TESTS="smoke/test_usage_events smoke/test_vm_life_cycle smoke/test_vm_snapshots smoke/test_volumes smoke/test_vpc_redundant smoke/test_vpc_router_nics smoke/test_vpc_vpn smoke/misc/test_deploy_vm smoke/misc/test_vm_ha smoke/misc/test_escalations_templates smoke/misc/test_vm_sync"
-
-    - TESTS="component/test_mm_max_limits component/test_acl_isolatednetwork_delete"
-    - TESTS="component/test_mm_domain_limits component/test_acl_listsnapshot"
-    - TESTS="component/test_acl_listvm component/test_acl_sharednetwork_deployVM-impersonation component/test_acl_sharednetwork"
-    - TESTS="component/test_snapshots component/test_acl_listvolume"
+    - TESTS="smoke/test_affinity_groups
+             smoke/test_affinity_groups_projects
+             smoke/test_deploy_vgpu_enabled_vm
+             smoke/test_deploy_vm_iso
+             smoke/test_deploy_vm_root_resize
+             smoke/test_deploy_vm_with_userdata
+             smoke/test_deploy_vms_with_varied_deploymentplanners
+             smoke/test_disk_offerings
+             smoke/test_dynamicroles
+             smoke/test_global_settings
+             smoke/test_guest_vlan_range
+             smoke/test_hosts
+             smoke/test_internal_lb
+             smoke/test_iso
+             smoke/test_list_ids_parameter
+             smoke/test_loadbalance
+             smoke/test_login
+             smoke/test_multipleips_per_nic
+             smoke/test_network
+             smoke/test_network_acl
+             smoke/test_nic
+             smoke/test_nic_adapter_type
+             smoke/test_non_contigiousvlan"
+
+    - TESTS="smoke/test_outofbandmanagement
+             smoke/test_over_provisioning
+             smoke/test_password_server
+             smoke/test_portable_publicip
+             smoke/test_primary_storage
+             smoke/test_privategw_acl
+             smoke/test_public_ip_range
+             smoke/test_pvlan
+             smoke/test_regions
+             smoke/test_reset_vm_on_reboot
+             smoke/test_resource_detail
+             smoke/test_router_dhcphosts
+             smoke/test_router_dns
+             smoke/test_routers
+             smoke/test_routers_iptables_default_policy
+             smoke/test_routers_network_ops
+             smoke/test_scale_vm
+             smoke/test_secondary_storage
+             smoke/test_service_offerings
+             smoke/test_snapshots
+             smoke/test_ssvm
+             smoke/test_staticroles
+             smoke/test_templates
+             smoke/test_usage_events
+             smoke/test_vm_life_cycle
+             smoke/test_vm_snapshots
+             smoke/test_volumes
+             smoke/test_vpc_redundant
+             smoke/test_vpc_router_nics
+             smoke/test_vpc_vpn
+             smoke/misc/test_deploy_vm
+             smoke/misc/test_escalations_templates
+             smoke/misc/test_vm_ha
+             smoke/misc/test_vm_sync"
+
+    - TESTS="component/find_hosts_for_migration
+             component/test_acl_isolatednetwork_delete
+             component/test_acl_listsnapshot
+             component/test_acl_listvm
+             component/test_acl_listvolume
+             component/test_acl_sharednetwork
+             component/test_acl_sharednetwork_deployVM-impersonation"
+             component/test_cpu_limits"
+
+    - TESTS="component/test_cpu_max_limits
+             component/test_cpu_project_limits
+             component/test_deploy_vm_userdata_multi_nic
+             component/test_egress_fw_rules
+             component/test_invalid_gw_nm
+             component/test_ip_reservation
+             component/test_lb_secondary_ip"
+
+    - TESTS="component/test_memory_limits
+             component/test_mm_domain_limits
+             component/test_mm_max_limits
+             component/test_mm_project_limits
+             component/test_network_offering
+             component/test_non_contiguous_vlan
+             component/test_persistent_networks"
+
+    - TESTS="component/test_projects
+             component/test_project_configs
+             component/test_project_limits
+             component/test_project_usage
+             component/test_regions
+             component/test_regions_accounts
+             component/test_routers
+             component/test_snapshots"
+
+    - TESTS="component/test_resource_limits"
+
+    - TESTS="component/test_stopped_vm
+             component/test_tags
+             component/test_templates
+             component/test_update_vm
+             component/test_usage"
+
+    - TESTS="component/test_volumes
+             component/test_vpc_network
+             component/test_vpc_offerings
+             component/test_vpn_users"
+
+# FIXME: fix following tests and include them in Travis
+#    - TESTS="component/test_affinity_groups_projects"
+#    - TESTS="component/test_allocation_states"
+#    - TESTS="component/test_vpc"
+#    - TESTS="component/test_project_resources"
+#    - TESTS="component/test_cpu_domain_limits"
+#    - TESTS="component/test_acl_isolatednetwork"
+#    - TESTS="component/test_accounts"
+#    - TESTS="component/test_organization_states"
+
 before_install: travis_wait 30 ./tools/travis/before_install.sh
 install: ./tools/travis/install.sh
 before_script: travis_wait 30 ./tools/travis/before_script.sh
 script:
-  - travis_wait 30 sleep 30
-  - ./tools/travis/script.sh ${TESTS}
+  - travis_wait 40 ./tools/travis/script.sh ${TESTS}
 after_success: ./tools/travis/after_success.sh
 after_failure: ./tools/travis/after_failure.sh
 after_script: ./tools/travis/after_script.sh

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/developer/developer-prefill.sql
----------------------------------------------------------------------
diff --git a/developer/developer-prefill.sql b/developer/developer-prefill.sql
index 132659e..3fd3a1b 100644
--- a/developer/developer-prefill.sql
+++ b/developer/developer-prefill.sql
@@ -52,15 +52,15 @@ INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'account.cleanup.interval', '60');
+            'account.cleanup.interval', '20');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'expunge.delay', '60');
+            'expunge.delay', '20');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'expunge.interval', '60');
+            'expunge.interval', '20');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
@@ -84,15 +84,15 @@ INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'network.gc.wait', '60');
+            'network.gc.wait', '20');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'network.gc.interval', '60');
+            'network.gc.interval', '20');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',
-            'storage.cleanup.interval', '150');
+            'storage.cleanup.interval', '40');
 
 INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
             VALUES ('Advanced', 'DEFAULT', 'management-server',

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/setup/dev/advanced.cfg
----------------------------------------------------------------------
diff --git a/setup/dev/advanced.cfg b/setup/dev/advanced.cfg
index 48241fa..0742f24 100644
--- a/setup/dev/advanced.cfg
+++ b/setup/dev/advanced.cfg
@@ -150,11 +150,11 @@
     "globalConfig": [
         {
             "name": "network.gc.wait",
-            "value": "60"
+            "value": "20"
         },
         {
             "name": "storage.cleanup.interval",
-            "value": "60"
+            "value": "40"
         },
         {
             "name": "vm.op.wait.interval",
@@ -166,7 +166,7 @@
         },
         {
             "name": "network.gc.interval",
-            "value": "60"
+            "value": "20"
         },
         {
             "name": "instance.name",
@@ -178,7 +178,7 @@
         },
         {
             "name": "account.cleanup.interval",
-            "value": "60"
+            "value": "20"
         },
         {
             "name": "guest.domain.suffix",
@@ -186,7 +186,7 @@
         },
         {
             "name": "expunge.delay",
-            "value": "60"
+            "value": "20"
         },
         {
             "name": "vm.allocation.algorithm",
@@ -194,7 +194,7 @@
         },
         {
             "name": "expunge.interval",
-            "value": "60"
+            "value": "20"
         },
         {
             "name": "expunge.workers",

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/test/integration/smoke/test_outofbandmanagement.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_outofbandmanagement.py b/test/integration/smoke/test_outofbandmanagement.py
index 122fcfc..e91d49a 100644
--- a/test/integration/smoke/test_outofbandmanagement.py
+++ b/test/integration/smoke/test_outofbandmanagement.py
@@ -38,24 +38,48 @@ class TestOutOfBandManagement(cloudstackTestCase):
     """ Test cases for out of band management
     """
 
-    def setUp(self):
-        self.apiclient = self.testClient.getApiClient()
-        self.hypervisor = self.testClient.getHypervisorInfo()
-        self.dbclient = self.testClient.getDbConnection()
-        self.services = self.testClient.getParsedTestDataConfig()
-        self.mgtSvrDetails = self.config.__dict__["mgtSvr"][0].__dict__
-        self.fakeMsId = random.randint(10000, 99999) * random.randint(10, 20)
-
-        self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
-        self.host = None
-        self.server = None
+    @classmethod
+    def setUpClass(cls):
+        testClient = super(TestOutOfBandManagement, cls).getClsTestClient()
+        cls.apiclient = testClient.getApiClient()
+        cls.services = testClient.getParsedTestDataConfig()
+        cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
+        cls.host = None
+        cls.cleanup = []
 
         # use random port for ipmisim
         s = socket.socket()
         s.bind(('', 0))
-        self.serverPort = s.getsockname()[1]
+        cls.serverPort = s.getsockname()[1]
         s.close()
 
+        def startIpmiServer(tname, server):
+            try:
+                server.serve_forever()
+            except Exception: pass
+        IpmiServerContext('reset')
+        ThreadedIpmiServer.allow_reuse_address = True
+        server = ThreadedIpmiServer(('0.0.0.0', cls.serverPort), IpmiServer)
+        thread.start_new_thread(startIpmiServer, ("ipmi-server", server,))
+        cls.server = server
+
+
+    @classmethod
+    def tearDownClass(cls):
+        try:
+            cleanup_resources(cls.apiclient, cls.cleanup)
+            cls.server.shutdown()
+            cls.server.server_close()
+            IpmiServerContext('reset')
+        except Exception as e:
+            raise Exception("Warning: Exception during cleanup : %s" % e)
+
+
+    def setUp(self):
+        self.apiclient = self.testClient.getApiClient()
+        self.dbclient = self.testClient.getDbConnection()
+        self.mgtSvrDetails = self.config.__dict__["mgtSvr"][0].__dict__
+        self.fakeMsId = random.randint(10000, 99999) * random.randint(10, 20)
         self.cleanup = []
 
 
@@ -67,10 +91,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
             self.dbclient.execute("delete from cluster_details where name='outOfBandManagementEnabled'")
             self.dbclient.execute("delete from data_center_details where name='outOfBandManagementEnabled'")
             cleanup_resources(self.apiclient, self.cleanup)
-            if self.server:
-                self.server.shutdown()
-                self.server.server_close()
-                IpmiServerContext('reset')
         except Exception as e:
             raise Exception("Warning: Exception during cleanup : %s" % e)
 
@@ -145,31 +165,28 @@ class TestOutOfBandManagement(cloudstackTestCase):
         if timeout:
             cmd.timeout = timeout
 
-        try:
-            return self.apiclient.issueOutOfBandManagementPowerAction(cmd)
-        except Exception as e:
-            if "packet session id 0x0 does not match active session" in str(e):
-                raise self.skipTest("Known ipmitool issue hit, skipping test")
-            raise e
+        tries = 3
+        while tries > 0:
+            tries -= 1
+            try:
+                return self.apiclient.issueOutOfBandManagementPowerAction(cmd)
+            except Exception as e:
+                if tries <= 0:
+                    if "packet session id 0x0 does not match active session" in str(e):
+                        raise self.skipTest("Known ipmitool issue hit, skipping test")
+                    raise e
 
 
-    def configureAndEnableOobm(self):
+    def configureAndEnableOobm(self, power_state=None):
+        """
+            Setup ipmisim and enable out-of-band management for host
+        """
         self.apiclient.configureOutOfBandManagement(self.getOobmConfigCmd())
         response = self.apiclient.enableOutOfBandManagementForHost(self.getOobmEnableCmd())
         self.assertEqual(response.enabled, True)
-
-
-    def startIpmiServer(self):
-        def startIpmiServer(tname, server):
-            self.debug("Starting ipmisim server")
-            try:
-                server.serve_forever()
-            except Exception: pass
-        IpmiServerContext('reset')
-        ThreadedIpmiServer.allow_reuse_address = False
-        server = ThreadedIpmiServer(('0.0.0.0', self.getIpmiServerPort()), IpmiServer)
-        thread.start_new_thread(startIpmiServer, ("ipmi-server", server,))
-        self.server = server
+        if power_state:
+            bmc = IpmiServerContext().bmc
+            bmc.powerstate = power_state
 
 
     def checkSyncToState(self, state, interval):
@@ -178,7 +195,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
             return response.powerstate == expectedState, None
 
         sync_interval = 1 + int(interval)/1000
-        res, _ = wait_until(sync_interval, 10, checkForStateSync, state)
+        res, _ = wait_until(sync_interval, 20, checkForStateSync, state)
         if not res:
             self.fail("Failed to get host.powerstate synced to expected state:" + state)
         response = self.getHost(hostId=self.getHost().id).outofbandmanagement
@@ -301,7 +318,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
             and zone level sequentially Zone > Cluster > Host
         """
         self.configureAndEnableOobm()
-        self.startIpmiServer()
         bmc = IpmiServerContext().bmc
         bmc.powerstate = 'off'
 
@@ -366,17 +382,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
         self.assertEqual(response.powerstate, 'Off')
 
 
-    def configureAndStartIpmiServer(self, power_state=None):
-        """
-            Setup ipmisim and enable out-of-band management for host
-        """
-        self.configureAndEnableOobm()
-        self.startIpmiServer()
-        if power_state:
-            bmc = IpmiServerContext().bmc
-            bmc.powerstate = power_state
-
-
     def assertIssueCommandState(self, command, expected):
         """
             Asserts power action result for a given power command
@@ -392,7 +397,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power action
         """
-        self.configureAndStartIpmiServer(power_state='on')
+        self.configureAndEnableOobm(power_state='on')
         self.assertIssueCommandState('STATUS', 'On')
 
 
@@ -401,7 +406,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power on action
         """
-        self.configureAndStartIpmiServer()
+        self.configureAndEnableOobm()
         self.assertIssueCommandState('ON', 'On')
 
 
@@ -410,7 +415,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power off action
         """
-        self.configureAndStartIpmiServer()
+        self.configureAndEnableOobm()
         self.assertIssueCommandState('OFF', 'Off')
 
 
@@ -419,7 +424,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power cycle action
         """
-        self.configureAndStartIpmiServer()
+        self.configureAndEnableOobm()
         self.assertIssueCommandState('CYCLE', 'On')
 
 
@@ -428,7 +433,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power reset action
         """
-        self.configureAndStartIpmiServer()
+        self.configureAndEnableOobm()
         self.assertIssueCommandState('RESET', 'On')
 
 
@@ -437,7 +442,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
         """
             Tests out-of-band management issue power soft action
         """
-        self.configureAndStartIpmiServer()
+        self.configureAndEnableOobm()
         self.assertIssueCommandState('SOFT', 'Off')
 
 
@@ -453,7 +458,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
         )[0].value
 
         self.configureAndEnableOobm()
-        self.startIpmiServer()
         bmc = IpmiServerContext().bmc
 
         bmc.powerstate = 'on'
@@ -462,10 +466,10 @@ class TestOutOfBandManagement(cloudstackTestCase):
         bmc.powerstate = 'off'
         self.checkSyncToState('Off', interval)
 
-        self.server.shutdown()
-        self.server.server_close()
-
         # Check for unknown state (ipmi server not reachable)
+        cmd = self.getOobmConfigCmd()
+        cmd.port = 1
+        response = self.apiclient.configureOutOfBandManagement(cmd)
         self.checkSyncToState('Unknown', interval)
 
 
@@ -533,7 +537,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
             name='outofbandmanagement.sync.interval'
         )[0].value
 
-        self.startIpmiServer()
         bmc = IpmiServerContext().bmc
         bmc.powerstate = 'on'
 
@@ -550,7 +553,6 @@ class TestOutOfBandManagement(cloudstackTestCase):
             Tests out-of-band management change password feature
         """
         self.configureAndEnableOobm()
-        self.startIpmiServer()
 
         self.debug("Testing oobm change password")
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/test/integration/smoke/test_regions.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_regions.py b/test/integration/smoke/test_regions.py
index f8e792d..7b0dec3 100644
--- a/test/integration/smoke/test_regions.py
+++ b/test/integration/smoke/test_regions.py
@@ -35,7 +35,7 @@ class TestRegions(cloudstackTestCase):
         cls.domain = get_domain(cls.apiclient)
         cls.cleanup = []
 
-    @attr(tags=["basic", "advanced"], required_hardware="true")
+    @attr(tags=["basic", "advanced"], required_hardware="false")
     def test_createRegion(self):
         """ Test for create region
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/after_failure.sh
----------------------------------------------------------------------
diff --git a/tools/travis/after_failure.sh b/tools/travis/after_failure.sh
index df40f73..e365567 100755
--- a/tools/travis/after_failure.sh
+++ b/tools/travis/after_failure.sh
@@ -19,4 +19,5 @@
 # As the filename suggests, this is executed on build failure
 # failure.
 #
+find rat.txt -type f -exec echo -e "Printing RAT license-failures {} :\n" \; -exec cat {} \;
 find /tmp//MarvinLogs -type f -exec echo -e "Printing logfile {} :\n" \; -exec cat {} \;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/after_script.sh
----------------------------------------------------------------------
diff --git a/tools/travis/after_script.sh b/tools/travis/after_script.sh
index 828592d..17a9d53 100755
--- a/tools/travis/after_script.sh
+++ b/tools/travis/after_script.sh
@@ -19,25 +19,4 @@
 # This script should run any tear down commands required.
 #
 
-export TEST_JOB_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f1`
-export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
-
-echo "REGRESSION_CYCLE=$REGRESSION_CYCLE"
-echo "TEST_JOB_NUMBER=$TEST_JOB_NUMBER"
-echo "TEST_SEQUENCE_NUMBER=$TEST_SEQUENCE_NUMBER"
-
-#run regression test only on $REGRESSION_CYCLE
-MOD=$(( $TEST_JOB_NUMBER % $REGRESSION_CYCLE ))
-
-echo "MOD=$MOD"
-
-if [ $MOD -ne 0 ]; then
- if [ $TEST_SEQUENCE_NUMBER -ge $REGRESSION_INDEX ]; then
-   #skip test
-   echo "Skipping tests ... SUCCESS !"
-   exit 0
- fi
-fi
-
-
 mvn -Dsimulator -pl client jetty:stop 2>&1

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/before_install.sh
----------------------------------------------------------------------
diff --git a/tools/travis/before_install.sh b/tools/travis/before_install.sh
index 99195c2..07eadd6 100755
--- a/tools/travis/before_install.sh
+++ b/tools/travis/before_install.sh
@@ -21,26 +21,6 @@
 # or internet downloads.
 #
 
-export TEST_JOB_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f1`
-export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
-
-echo "REGRESSION_CYCLE=$REGRESSION_CYCLE"
-echo "TEST_JOB_NUMBER=$TEST_JOB_NUMBER"
-echo "TEST_SEQUENCE_NUMBER=$TEST_SEQUENCE_NUMBER"
-
-#run regression test only on $REGRESSION_CYCLE
-MOD=$(( $TEST_JOB_NUMBER % $REGRESSION_CYCLE ))
-
-echo "MOD=$MOD"
-
-if [ $MOD -ne 0 ]; then
- if [ $TEST_SEQUENCE_NUMBER -ge $REGRESSION_INDEX ]; then
-   #skip test
-   echo "Skipping tests ... SUCCESS !"
-   exit 0
- fi
-fi
-
 echo -e "#### System Information ####"
 
 echo -e "\nJava Version: "
@@ -125,41 +105,3 @@ do
   cat /tmp/piplog
 done
 
-#Download project dependencies in a way we can retry if there's a failure, without failing the whole build
-
-#Resolve plugins first
-echo -e "\nDownloading Plugin dependencies"
-for ((i=0;i<$RETRY_COUNT;i++))
-do
- #The output file is used on the next phase by the downloadDeps.sh script
- mvn org.apache.maven.plugins:maven-dependency-plugin:resolve-plugins | grep "Plugin Resolved:" | sort -u | awk '{print $4}' | tee /tmp/resolvedPlugins
- if [[ $? -eq 0 ]]; then
-   echo -e "\nPlugin dependencies downloaded successfully"
-   break;
- fi
- echo -e "\nDependency download failed"
- #Test DNS record
- getent hosts repo1.maven.org
- while ! nc -vzw 5 repo1.maven.org 80; do echo -e "\nFailed to connect to repo1.maven.org:80 will retry in 10 seconds"; sleep 10; done
-done
-
-#Resolve remaining deps
-cd tools/travis
-echo -e "\nDownloading Project dependencies"
-
-for ((i=0;i<$RETRY_COUNT;i++))
-do
- ./downloadDeps.sh > /tmp/phase2
- if [[ $? -eq 0 ]]; then
-   echo -e "\n$(cat cleandeps.out |wc -l) project dependencies downloaded successfully"
-   break;
- fi
- echo -e "\nDependency download failed"
- #Print out errors from failed run
- cat /tmp/phase2 | grep -i -e "fail" -e "error" -e "exception"
- #Test DNS record
- getent hosts repo1.maven.org
- while ! nc -vzw 5 repo1.maven.org 80; do echo -e "\nFailed to connect to repo1.maven.org:80 will retry in 10 seconds"; sleep 10; done
- echo -e "\nRetrying download"
-done
-cd ../..

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/before_script.sh
----------------------------------------------------------------------
diff --git a/tools/travis/before_script.sh b/tools/travis/before_script.sh
index beb8acc..bbfc447 100755
--- a/tools/travis/before_script.sh
+++ b/tools/travis/before_script.sh
@@ -18,24 +18,7 @@
 #
 # This script should be used to bring up the environment.
 #
-
-
-export TEST_JOB_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f1`
-export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
-
-#run regression test only on $REGRESSION_CYCLE
-MOD=$(( $TEST_JOB_NUMBER % $REGRESSION_CYCLE ))
-
-if [ $MOD -ne 0 ]; then
- if [ $TEST_SEQUENCE_NUMBER -ge $REGRESSION_INDEX ]; then
-   #skip test
-   echo "Skipping tests ... SUCCESS !"
-   exit 0
- fi
-fi
-
-
-export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=500m -Djava.security.egd=file:/dev/./urandom"
+export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=800m -Djava.security.egd=file:/dev/urandom"
 echo -e "\nStarting simulator"
 mvn -Dsimulator -pl :cloud-client-ui jetty:run 2>&1 > /tmp/jetty-log &
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/downloadDeps.sh
----------------------------------------------------------------------
diff --git a/tools/travis/downloadDeps.sh b/tools/travis/downloadDeps.sh
deleted file mode 100755
index c05e5f5..0000000
--- a/tools/travis/downloadDeps.sh
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/bin/bash
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# This script should be used to install additional dependencies
-# This includes: installing ubuntu packages, custom services
-# or internet downloads.
-
-# Authored by Rafael da Fonseca <rs...@gmail.com>
-
-#Get all dependency blocks from all pom.xml files in the project
-for line in $(find ../../ -name pom.xml -exec sed -n '/<dependencies>/{:a;n;/<\/dependencies>/b;p;ba}' {} \; | grep -e "artifactId" -e "groupId" -e "version" -e "dependency\>" -e "exclusion\>" -e "exclusions\>"| sed -e 's/\^M//'); do
-
-  #Tokenize values
-  set -- $(echo $line | awk -v FS="(>|<)" '{print $2, $3}')
-
-  #Start processing data
-  if [[ $1 == "dependency" ]]; then
-    #Create new artifact dep
-    unset ARTIFACT
-    unset VERSION
-    unset GROUP
-  elif [[ $1 == "/dependency" ]]; then
-    #Filter out project modules interdependencies
-    if [[ $GROUP != *org.apache.cloudstack* ]] && [[ $GROUP != *com.cloud* ]] && [[ $ARTIFACT != cloudstack-service-console-proxy-rdpclient ]]; then
-            if [[ -z $VERSION ]] ; then
-               VERSION=LATEST
-               #These dependencies don't support the LATEST keywork for some reason, and would cause mvn runs to file on dummy poms
-               if [[ $GROUP == jstl ]] || [[ $ARTIFACT == mysql-connector-java ]] || [[ $GROUP == org.apache.axis ]]; then
-                 continue
-               fi
-            fi
-            #Output resolved dependency to a file, to be picked up later
-            echo "$GROUP $ARTIFACT $VERSION" >> deps.out
-    fi
-  elif [[ $1 == "version" ]]; then
-    #If version is a maven var, get the value from parent pom
-    if [[ $2 == \$\{* ]]; then
-      VERSION=$(grep \<$(echo $2 | awk -v FS="(}|{)" '{print $2 }') ../../pom.xml | awk -v FS="(>|<)" '{print $3}')
-    #If version tag is empty, add LATEST to avoid maven errors
-    elif [[ "$2" == "" ]]; then
-      VERSION="LATEST"
-    else
-      VERSION=$2
-    fi
-  elif [[ $1 == "artifactId" ]]; then
-    #This avoids exclusions inside dependency block to overwrite original dependency
-    if [[ -z $ARTIFACT ]]; then
-      ARTIFACT=$2
-    fi
-  elif [[ $1 == "groupId" ]]; then
-    #This avoids exclusions inside dependency block to overwrite original dependency
-     if [[ -z $GROUP ]]; then
-       GROUP=$2
-     fi
-  fi
-done
-
-#Add the resolved plugins to properly download their dependencies
-while read line ; do
-    NAME=$(echo $line | sed -e 's/.jar$//')
-    VERSION=${NAME##*-}
-    ARTIFACT=${NAME%-*}
-    GROUP=$(find ~/.m2/repository -name ${NAME}.pom -exec sed -n "1,/${ARTIFACT}/p" {} \; | tac | grep -m 1 -e "<groupId>"  | sed -e 's/^[[:space:]]*//' -e 's/\^M//' | tr -d '\r' | awk -v FS="(>|<)" '{print $3}')
-    DATA="${GROUP} ${ARTIFACT} ${VERSION}"
-    echo $DATA >> deps.out
-done < /tmp/resolvedPlugins
-
-#Remove duplicates and sort them, LANG export is needed to fix some sorting issue, sorting is needed for later function that relies on sorted input
-cat deps.out | LANG=C sort -u > cleandeps.out
-
-#Define index of pomfiles, to avoid duplicate deps with different versions in pom.xml, several poms are created in case of more than one version of same artifact
-LASTPOM=0
-#Create first pom
-echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><dependencies>' > pom${LASTPOM}.xml
-#Create pom for dependencies not on central repo, this is done separately to not adversely impact performance on downloading the majority of deps
-echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><repositories><repository><id>mido-maven-public-releases</id><name>mido-maven-public-releases</name><url>http://cs-maven.midokura.com/releases</url></repository><repository><id>juniper-contrail</id><url>http://juniper.github.io/contrail-maven/snapshots</url></repository></repositories><dependencies>' > pomX.xml
-while read line ; do
-  set -- $line
-  #This relies on correct sorting, and distributes different versions of same dependency througout different pom files
-  if [[ $2 == $LASTARTIFACT ]]; then
-    POMID=$(($POMID+1))
-    #If value is greater than current number of poms, create a new one
-    if [[ $POMID -gt $LASTPOM ]]; then
-       LASTPOM=$POMID
-       #This outputs the necessary structure to start a pom and also defines the extra repositories
-       echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><dependencies>' > pom${LASTPOM}.xml
-    fi
-  else
-    POMID=0
-  fi
-  LASTARTIFACT=$2
-  if [[ $1 == org.midonet ]] || [[ $1 == net.juniper* ]]; then
-    echo "<dependency><groupId>$1</groupId><artifactId>$2</artifactId><version>$3</version></dependency>" >> pomX.xml
-  else
-    echo "<dependency><groupId>$1</groupId><artifactId>$2</artifactId><version>$3</version></dependency>" >> pom${POMID}.xml
-  fi
-done < cleandeps.out
-
-RETURN_CODE=0
-#Close and resolve all pom files
-for ((i=0;i<=$LASTPOM;i++))
-do
-  echo "</dependencies></project>" >> pom${i}.xml
-  mvn org.apache.maven.plugins:maven-dependency-plugin:resolve -f pom${i}.xml
-  if [[ $? -ne 0 ]]; then
-    RETURN_CODE=1
-  fi
-done
-#Close and resolve external deps pom file
-echo "</dependencies></project>" >> pomX.xml
-mvn org.apache.maven.plugins:maven-dependency-plugin:resolve -f pomX.xml
-
-#Run a few plugin goals to download some more deps
-
-#Hack to run maven-jaxb2-plugin generate, can be removed when we stop using such an old version...
-mkdir -p src/main/resources
-echo '<?xml version="1.0" encoding="utf-8" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"></xs:schema>' > src/main/resources/test.xsd
-
-#Declare plugin tests to run
-declare -a arr=("maven-surefire-plugin test" "maven-pmd-plugin pmd" "maven-compiler-plugin compile" "maven-resources-plugin resources" "maven-checkstyle-plugin check" "maven-site-plugin attach-descriptor" "maven-surefire-plugin test" "maven-jar-plugin jar" "license-maven-plugin check" "maven-jgit-buildnumber-plugin extract-buildnumber" "maven-jaxb2-plugin generate" "maven-war-plugin war -DfailOnMissingWebXml=false" "gmaven-plugin compile")
-for i in "${arr[@]}"
-do
-    set -- $i
-    PLUGIN=$1
-    MOJO=$2
-    OPTION=$3
-    #Get every listed version of the plugin and make a run for each version
-    while read line ; do
-       set -- $line
-       JOBS="${JOBS} ${1}:${2}:${3}:${MOJO} $OPTION"
-    done < <(grep $PLUGIN cleandeps.out)
-done
-echo "Running $JOBS"
-#Call all the constructed plugin goals
-mvn $JOBS -f pom0.xml
-if [[ $? -ne 0 ]]; then
-  RETURN_CODE=1
-fi
-
-#Cleanup some files created in the run
-rm -rf deps.out src target
-
-exit $RETURN_CODE

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/install.sh
----------------------------------------------------------------------
diff --git a/tools/travis/install.sh b/tools/travis/install.sh
index bbea550..61cdec0 100755
--- a/tools/travis/install.sh
+++ b/tools/travis/install.sh
@@ -19,27 +19,19 @@
 # This should be used to create the build.
 #
 
-
-export TEST_JOB_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f1`
 export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
+export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=800m -Djava.security.egd=file:/dev/./urandom"
 
-#run regression test only on $REGRESSION_CYCLE
-MOD=$(( $TEST_JOB_NUMBER % $REGRESSION_CYCLE ))
-
-if [ $MOD -ne 0 ]; then
- if [ $TEST_SEQUENCE_NUMBER -ge $REGRESSION_INDEX ]; then
-   #skip test
-   echo "Skipping tests ... SUCCESS !"
-   exit 0
- fi
-fi
-
-export MAVEN_OPTS="-Xmx2048m -XX:MaxPermSize=500m -Djava.security.egd=file:/dev/./urandom"
+set -e
 
 if [ $TEST_SEQUENCE_NUMBER -eq 1 ]; then
-   mvn -Pdeveloper,systemvm -Dsimulator clean install -T4 | egrep "Building|Tests|SUCCESS|FAILURE"
+   git clone https://github.com/rhtyd/cloudstack-nonoss.git nonoss
+   cd nonoss && bash -x install-non-oss.sh && cd ..
+   git clean -fdx .
+   mvn -P developer,systemvm -Dsimulator -Dnoredist --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.12:check
+   mvn -P developer,systemvm -Dsimulator -Dnoredist clean install
 else
-   mvn -Pdeveloper -Dsimulator clean install -DskipTests=true -T4 | egrep "Building|Tests|SUCCESS|FAILURE"
+   mvn -Pdeveloper -Dsimulator clean install -DskipTests -T4 | egrep "Building|Tests|SUCCESS|FAILURE"
 fi
 
 # Install mysql-connector-python

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/script.sh
----------------------------------------------------------------------
diff --git a/tools/travis/script.sh b/tools/travis/script.sh
index dc955b0..48eb3f6 100755
--- a/tools/travis/script.sh
+++ b/tools/travis/script.sh
@@ -20,20 +20,6 @@
 # test environment and executing the tests.
 #
 
-export TEST_JOB_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f1`
-export TEST_SEQUENCE_NUMBER=`echo $TRAVIS_JOB_NUMBER | cut -d. -f2`
-
-#run regression test only on $REGRESSION_CYCLE
-MOD=$(( $TEST_JOB_NUMBER % $REGRESSION_CYCLE ))
-
-if [ $MOD -ne 0 ]; then
- if [ $TEST_SEQUENCE_NUMBER -ge $REGRESSION_INDEX ]; then
-   #skip test
-   echo "Skipping tests ... SUCCESS !"
-   exit 0
- fi
-fi
-
 mkdir -p integration-test-results/smoke/misc
 mkdir -p integration-test-results/component
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a96d32c/tools/travis/xunit-reader.py
----------------------------------------------------------------------
diff --git a/tools/travis/xunit-reader.py b/tools/travis/xunit-reader.py
index 80e228b..b23fb46 100755
--- a/tools/travis/xunit-reader.py
+++ b/tools/travis/xunit-reader.py
@@ -73,7 +73,7 @@ def _generate_file_list(args):
 
 def parse_reports(file_path_list):
     table = texttable.Texttable()
-    table.header(['Test', 'Result', 'Time'])
+    table.header(['Test', 'Result', 'Time', 'Test file'])
 
     exit_code = 0
 
@@ -99,7 +99,7 @@ def parse_reports(file_path_list):
                     if 'type' in children.attrib:
                         status = children.attrib['type']
 
-            table.add_row([name, status, time])
+            table.add_row([name, status, time, file_path.replace(".xml", "").split("/")[-1]])
 
     print table.draw()
 


[3/3] git commit: updated refs/heads/master to edf4fe9

Posted by bh...@apache.org.
Merge branch '4.9'


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/edf4fe95
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/edf4fe95
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/edf4fe95

Branch: refs/heads/master
Commit: edf4fe951db0678c4b882ac7e254ccf46b7e1e29
Parents: bc02858 fd6833b
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Mon Nov 28 16:01:54 2016 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Nov 28 16:01:54 2016 +0530

----------------------------------------------------------------------
 .travis.yml                                     | 136 +++++++++++++---
 developer/developer-prefill.sql                 |  12 +-
 setup/dev/advanced.cfg                          |  12 +-
 .../smoke/test_outofbandmanagement.py           | 124 ++++++++-------
 test/integration/smoke/test_regions.py          |   2 +-
 tools/travis/after_failure.sh                   |   1 +
 tools/travis/after_script.sh                    |  21 ---
 tools/travis/before_install.sh                  |  58 -------
 tools/travis/before_script.sh                   |  19 +--
 tools/travis/downloadDeps.sh                    | 158 -------------------
 tools/travis/install.sh                         |  24 +--
 tools/travis/script.sh                          |  14 --
 tools/travis/xunit-reader.py                    |   4 +-
 13 files changed, 206 insertions(+), 379 deletions(-)
----------------------------------------------------------------------



[2/3] git commit: updated refs/heads/master to edf4fe9

Posted by bh...@apache.org.
Merge pull request #1755 from shapeblue/4.9-component-tests

CLOUDSTACK-9584: run component tests in Travis runThis would run additional component tests in Travis run.

* pr/1755:
  CLOUDSTACK-9584: run component tests in Travis run

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fd6833b9
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fd6833b9
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fd6833b9

Branch: refs/heads/master
Commit: fd6833b9cb331429a3b0dccfe178717f06dad46a
Parents: bc846b1 7a96d32
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Mon Nov 28 16:00:59 2016 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Nov 28 16:01:04 2016 +0530

----------------------------------------------------------------------
 .travis.yml                                     | 136 +++++++++++++---
 developer/developer-prefill.sql                 |  12 +-
 setup/dev/advanced.cfg                          |  12 +-
 .../smoke/test_outofbandmanagement.py           | 124 ++++++++-------
 test/integration/smoke/test_regions.py          |   2 +-
 tools/travis/after_failure.sh                   |   1 +
 tools/travis/after_script.sh                    |  21 ---
 tools/travis/before_install.sh                  |  58 -------
 tools/travis/before_script.sh                   |  19 +--
 tools/travis/downloadDeps.sh                    | 158 -------------------
 tools/travis/install.sh                         |  24 +--
 tools/travis/script.sh                          |  14 --
 tools/travis/xunit-reader.py                    |   4 +-
 13 files changed, 206 insertions(+), 379 deletions(-)
----------------------------------------------------------------------