def test_to_dict_filtering(self): cluster_dict = copy.deepcopy(SAMPLE_CLUSTER_DICT) cluster_dict['private_key'] = 'abacaba' cluster_dict['node_groups'][0]['id'] = 'some_id' cluster = r.ClusterResource(cluster_dict) self.assertEqual(cluster.to_dict(), SAMPLE_CLUSTER_DICT)
def _create_cluster(name, tenant, plugin, version, node_groups, **kwargs): dct = { 'name': name, 'tenant_id': tenant, 'plugin_name': plugin, 'hadoop_version': version, 'node_groups': node_groups } dct.update(kwargs) return r.ClusterResource(dct)
def test_detach_volumes(self, p_get_volume, p_detach, p_delete): instance = {'instance_id': '123454321', 'volumes': [123]} ng = r.NodeGroupResource({'instances': [instance]}) p_get_volume.return_value = v.Volume(None, {'id': '123'}) p_detach.return_value = None p_delete.return_value = None self.assertIsNone(volumes.detach_from_instances([ng.instances[0]])) cluster = r.ClusterResource({'node_groups': [ng]}) p_delete.side_effect = RuntimeError self.assertRaises(RuntimeError, volumes.detach, cluster)
def test_cluster_resource(self): cluster = r.ClusterResource(SAMPLE_CLUSTER_DICT) self.assertEqual(cluster.name, 'test-cluster') self.assertEqual(cluster.node_groups[0].name, 'master') self.assertIsInstance(cluster.node_groups[0], r.NodeGroupResource) self.assertEqual(cluster.node_groups[0].cluster.name, 'test-cluster') self.assertEqual(cluster.node_groups[1].instances[0].name, 'test-cluster-001') self.assertIsInstance(cluster.node_groups[1].instances[0], r.InstanceResource) self.assertEqual(cluster.node_groups[1].instances[0].node_group.name, 'worker')
def test_attach(self, p_dev_path, p_create_attach_vol, p_await, p_mount): p_dev_path.return_value = '123' p_create_attach_vol.return_value = None p_await.return_value = None p_mount.return_value = None instance1 = {'instance_id': '123', 'instance_name': 'inst_1'} instance2 = {'instance_id': '456', 'instance_name': 'inst_2'} ng = {'volumes_per_node': 2, 'volumes_size': 2, 'volume_mount_prefix': '/mnt/vols', 'instances': [instance1, instance2]} cluster = r.ClusterResource({'node_groups': [ng]}) volumes.attach(cluster) self.assertEqual(p_create_attach_vol.call_count, 4) self.assertEqual(p_await.call_count, 4) self.assertEqual(p_mount.call_count, 4) self.assertEqual(p_dev_path.call_count, 4) p_create_attach_vol.reset_mock() p_await.reset_mock() p_mount.reset_mock() p_dev_path.reset_mock() instances = cluster.node_groups[0].instances volumes.attach_to_instances(instances) self.assertEqual(p_create_attach_vol.call_count, 4) self.assertEqual(p_await.call_count, 4) self.assertEqual(p_mount.call_count, 4) self.assertEqual(p_dev_path.call_count, 4)
def test_to_dict(self): cluster = r.ClusterResource(SAMPLE_CLUSTER_DICT) self.assertEqual(cluster.to_dict(), SAMPLE_CLUSTER_DICT)
def test_to_wrapped_dict(self): cluster = r.ClusterResource(SAMPLE_CLUSTER_DICT) wrapped_dict = cluster.to_wrapped_dict() self.assertEqual(len(wrapped_dict), 1) self.assertEqual(wrapped_dict['cluster'], SAMPLE_CLUSTER_DICT)