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
Added Storage HA support

Closes-Bug: #1366216
Feature: Storage HA support added over existing contrail HA nodes.
Change:
1. cinder backend rbd settngs done for openstack storage nodes.
2. cinder template config set to cinder HA vip.
3. global public_network set to newly added storage node address.
4. new cursh map is loaded using crushtool.
5. cinder rabbit host settings done for openstack storage nodes.
6. skipped compute-restart on openstack storage nodes.
Test: verified storage HA by adding 2 openstack storage nodes on
      storage-master role. HA Cinder volume properly attached to
      VMs.
Change done based on Review comments:
1. removed tabs in storage-ceph-storage.py
2. grep -w added to match exact wip address
3. "storage os" comment changed to "storage openstack"
4. "cfg-hostlist" changed to "config-hosts" as per convention
5. added comments for new parameters
6. setup_storage call done for add_storage_node

Change-Id: Iae7a954adbdf05dc6cd05952ee1d1a9490a13929
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
export env.image_web_server if configured

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

Change-Id: I41a5942de14771ef6b03895b10fa523a8f4bcf56
Merge "Added Storage HA support"
Merge remote-tracking branch 'upstream/master'
Try paramiko connect after port 22 is up

Change-Id: Ia92f992441f86c2e7f14c071788e56f102ca88c0
Try paramiko connect after port 22 is up

Change-Id: I9da74ce0f9040724cb6e27f6f8691746d28783da
Merge remote-tracking branch 'upstream/master'
keystone related arguments need not be passed when openstack is not
the orchestrator. Fixed it and added more comments and changed the
way the command line args are formed, made it uniform for all the
setup-vnc-* call and moved the vgw and vmware provisioning utility
functions to fabfile/utils/cluster.py
Reuse the setup_all task in setup_all_with_images and setup_all_demo tasks.

Change-Id: I5bb002dc319ba0137e9739910cfc9cd035ec407e
Partial-Bug: 1378502
adding ipv6 image for basic images