Update defaults for s3 materials paths/names

devstack has upgraded to downloading the cirros-0.3.1 image.
This change updates the ari/ami/aki manifest defaults in
tempest.conf.sample to match as otherwise the relevant tests
are fairly quietly skipped.

Adds a configuration option to set the timeout for waiting on
remote ssh commands to finish. This is necessary as the
test_integration_1 now executes with this fix and times out
on the CI systems due to the ssh command taking longer than
the hardcoded timeout.

Change-Id: I744d242416ed63ab49facae70948d5c007df13c7
diff --git a/etc/tempest.conf.sample b/etc/tempest.conf.sample
index 9dca609..a70a7ab 100644
--- a/etc/tempest.conf.sample
+++ b/etc/tempest.conf.sample
@@ -88,6 +88,9 @@
 # Number of seconds to wait to authenticate to an instance
 ssh_timeout = 300
 
+# Number of seconds to wait for output from ssh channel
+ssh_channel_timeout = 60
+
 # The type of endpoint for a Compute API service. Unless you have a
 # custom Keystone service catalog implementation, you probably want to leave
 # this value as "compute"
@@ -238,20 +241,20 @@
 
 #Image materials for S3 upload
 # ALL content of the specified directory will be uploaded to S3
-s3_materials_path = /opt/stack/devstack/files/images/s3-materials/cirros-0.3.0
+s3_materials_path = /opt/stack/devstack/files/images/s3-materials/cirros-0.3.1
 
 # The manifest.xml files, must be in the s3_materials_path directory
 # Subdirectories not allowed!
 # The filenames will be used as a Keys in the S3 Buckets
 
 #ARI Ramdisk manifest. Must be in the above s3_materials_path
-ari_manifest = cirros-0.3.0-x86_64-initrd.manifest.xml
+ari_manifest = cirros-0.3.1-x86_64-initrd.manifest.xml
 
 #AMI Machine Image manifest. Must be in the above s3_materials_path
-ami_manifest = cirros-0.3.0-x86_64-blank.img.manifest.xml
+ami_manifest = cirros-0.3.1-x86_64-blank.img.manifest.xml
 
 #AKI Kernel Image manifest, Must be in the above s3_materials_path
-aki_manifest = cirros-0.3.0-x86_64-vmlinuz.manifest.xml
+aki_manifest = cirros-0.3.1-x86_64-vmlinuz.manifest.xml
 
 #Instance type
 instance_type = m1.tiny
diff --git a/tempest/common/utils/linux/remote_client.py b/tempest/common/utils/linux/remote_client.py
index b501df4..fd5d3d0 100644
--- a/tempest/common/utils/linux/remote_client.py
+++ b/tempest/common/utils/linux/remote_client.py
@@ -15,6 +15,7 @@
         ssh_timeout = TempestConfig().compute.ssh_timeout
         network = TempestConfig().compute.network_for_ssh
         ip_version = TempestConfig().compute.ip_version_for_ssh
+        ssh_channel_timeout = TempestConfig().compute.ssh_channel_timeout
         if isinstance(server, basestring):
             ip_address = server
         else:
@@ -27,7 +28,8 @@
                 raise ServerUnreachable()
 
         self.ssh_client = Client(ip_address, username, password, ssh_timeout,
-                                 pkey=pkey)
+                                 pkey=pkey,
+                                 channel_timeout=ssh_channel_timeout)
         if not self.ssh_client.test_connection_auth():
             raise SSHTimeout()
 
diff --git a/tempest/config.py b/tempest/config.py
index c0e25c7..856be16 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -149,8 +149,12 @@
                help="User name used to authenticate to an instance."),
     cfg.IntOpt('ssh_timeout',
                default=300,
-               help="Timeout in seconds to wait for authentcation to "
+               help="Timeout in seconds to wait for authentication to "
                     "succeed."),
+    cfg.IntOpt('ssh_channel_timeout',
+               default=60,
+               help="Timeout in seconds to wait for output from ssh "
+                    "channel."),
     cfg.StrOpt('network_for_ssh',
                default='public',
                help="Network used for SSH connections."),