For some reason the only way to get StarCluster's custom block device mappings for ephemeral drives to work with m1.small and a 32bit EBS AMI is to use instance_store=True when calling create_block_device_map.
It's unclear whether this never worked or recently stopped working given that users at one point in time were able to launch clusters with 0.94.2 and suddenly can't now. Either way, removing the snapshot id from the root device's custom block device mapping when setting delete_on_terminate still works and still inherits the AMI's underlying root device snapshot anyway. closes gh-330
The previous fix simply blasted all /etc/exports entries for each node before exporting paths to nodes. This can potentially kill other export paths not being exported by export_fs_to_nodes given that they will not be redefined. Added `paths` kwarg to Node.stop_exporting_fs_to_nodes that causes only the specified export paths for each node to be removed from /etc/exports instead of all entries for each node. Thanks to @realoptimal for the catch: jtriley@f7c4967#commitcomment-4640990
For some unknown reason the only way to get StarCluster's custom block device mappings for ephemeral drives to work with m1.small and a 32bit EBS AMI is to use instance_store=True when calling create_block_device_map. closes gh-329
The Node.alias property was raising an AttributeError in the case that userdata is None which is masking the real error that the instance has no alias. Fixed this by using a default value of '' when fetching values from the user_data dict.
Updated Cluster._get_cluster_zone to fetch the zone from the master node in the case that no availability zone or EBS volumes were specified. Updated Cluster.zone property to always fetch the cluster zone using Cluster._get_cluster_zone.
Another regression from #236
The terminate_cluster code added by gh-236 duplicates the work in EasyEC2.delete_group. Removed this code in favor of EasyEC2.delete_group and added max_retries=60 and retry_delay=5 kwargs to prevent EasyEC2.delete_group from looping indefinitely. The default values for these new kwargs cause EasyEC2.delete_group to abort after retrying for 5 minutes.
..in favor of storing the dns_prefix in the Cluster's security group tags and relying on the Cluster.load_receipt function to restore the proper cluster settings used at launch time. This removes the need for the -P options to all commands except the start command.