Add env.mx_gw_test and env.testbed_location for exporting

Change-Id: I157ccce61f5657659b569516eef88ac534207566
Correct the nodes list that is iterated for reboot.
correct the syntax to get the installed package list in centos.

Change-Id: Ic988e56c9a1cc424ed0f38403bc89be9735f8262
Partially revert "No need to do hostname resolution during reimage"

This reverts commit e4972dbfb5d82f5810f16bcac4350c1d68c4b23e,
and exits if hostname is not resolved

Change-Id: I9ed92b4d8846754586c0a6df27b89028c27fefcf
P3:Changes to provisioning modules to enable vcenter and esxi(complete) provisioning. Adding 2 new tasks 'prov_vcenter' and 'prov_esxi_computevm', along with a  new example testbed file 'testbed_vcenter_esxi'. The earlier mode of 'esxi' only is untouched. Additional helper tasks have been added in vmware.py to gather testbed information and provision. esxi_prov.py has been borrowed from 'server-manager' scripts. No modifications have been done to that script, as in the current state it works as expected.

Change-Id: I0c1f37190ce0f1607ef955a85a22729daac5cb79
Merge "Add env.mx_gw_test and env.testbed_location for exporting"
Merge "P3:Changes to provisioning modules to enable vcenter and esxi(complete) provisioning. Adding 2 new tasks 'prov_vcenter' and 'prov_esxi_computevm', along with a  new example testbed file 'testbed_vcenter_esxi'. The earlier mode of 'esxi' only is untouched. Additional helper tasks have been added in vmware.py to gather testbed information and provision. esxi_prov.py has been borrowed from 'server-manager' scripts. No modifications have been done to that script, as in the current state it works as expected."
Storage Chassis support

Closes-Bug: #1385504
Feature: Need functionality to provision storage nodes with the notion
    of chassis in the crushmap. This is required for systems like Quanta,
    where a single chassis has 4 nodes built into it. The replica for an
    object should not reside on the same chassis. This is also required for
    the Ganges project, where the bulk of the storage is provided from a
    storage shelf containing 60 drives. 15 of the 60 drives are attached to
    each of the host in a Quanta system. In case the storage shelf's power
    goes out, all of the 60 OSDs will be down. So an object/data in one of
    the 15 drives on a node should not have a replica in any of the 60
    drives in the same shelf to avoid data loss.
Support: Added support for the above. Changes done to modify the crush
    map and have chassis configuration in addition to the host
    configuration. The Chassis configuration will have the list of hosts
    that share the common chassis. The leaf node of pool rules are
    configured to use Chassis instead of hosts. This way the replica will be
    put under a different chassis.
    Testbed.py changes are done so that user can provide a chassis id, where
    the host is present. This chassis id will be used to create a virtual
    no-replica zone. Sample testbed.py for chassis support is added in the
    utils/provision.py.
    Also provided a command in fab 'fab storage_chassis_configure' to
    dynamically add the support in an existing cluster without destroying.
    The code is idempotent, so can be run any number of times and the final
    crushmap will be the same. The chassis support cannot be combined with
    the multi-pool support. But it will work for HDD/SSD pools.
Test: Verified the provisioning with a 2Node chassis configuration with
    and without HDD/SSD pools. Verified the pg map and confirmed that the
    replica is not placed under the same chassis.

Change-Id: I21d38902345ee6b034f2e28e78ee128408bdbb4b
Adding keystone service tenant name argument so that the same can be used by provisioning scripts when configuring neutron.conf

Change-Id: If7785c9c318060c0c6fbc08488f8f6ba160418ea
Partial-Bug: 1386546
Merge "Adding keystone service tenant name argument so that the same can be used by provisioning scripts when configuring neutron.conf"
fix for bug [Bug 1387838] [NEW] fab wait_till_all_up task can hang forever

1.Using socket to verify if the port 22 is up

2.when 'fab wait_till_all_up:attempts=120' executed,
   the 'attempts' was caught as str,and the check (count <= attempts) was failing
   even if count was more than 'attempts'.Made check as (count <= int(attempts))

Change-Id: I2eb5b9e256902d07dc55ae69d8dc672df10eb627
Merge from Juniper/contrail-fabric-utils:master

Change-Id: I41a5942de14771ef6b03895b10fa523a8f4bcf56