def get_send_document(self): plugin_dict = plugin_loader.get_all_plugins(self.conf) features = self.conf.features.copy() for plugin_name in plugin_dict: p_feature = plugin_loader.get_module_features( self.conf, plugin_name, plugin_dict[plugin_name]) features.update(p_feature) features['plugins'] = get_plugin_handshake_descriptor(self.conf) meta_data_object = self.conf.meta_data_object ipv4s = meta_data_object.get_handshake_ip_address() ipv6s = [] injected_id = meta_data_object.get_injected_id() vm_instance = meta_data_object.get_instance_id() handshake_doc = { 'ipv4': ipv4s, 'ipv6': ipv6s, 'agent_id': self.agent_id, 'token': self._token, 'vm_instance': vm_instance, 'injected_id': injected_id, 'version': dcm.agent.g_version, 'protocol_version': dcm.agent.g_protocol_version, 'platform': self.conf.platform_name, 'platform_version': self.conf.platform_version, 'features': features } return handshake_doc
def test_mount_volume_unsupported_everything(self): FakeConf = namedtuple('FakeConf', 'cloud_type platform_name') conf = FakeConf('NotACloud', 'NotReal') module = 'dcm.agent.plugins.builtin.mount_volume' items_map = {'type': 'python_module', 'module_name': module} features = plugin_loader.get_module_features(conf, 'mount_volume', items_map) self.assertFalse(features)
def test_mount_volume_unsupported_everything(self): FakeConf = namedtuple('FakeConf', 'cloud_type platform_name') conf = FakeConf('NotACloud', 'NotReal') module = 'dcm.agent.plugins.builtin.mount_volume' items_map = {'type': 'python_module', 'module_name': module} features = plugin_loader.get_module_features( conf, 'mount_volume', items_map) self.assertFalse(features)
def test_mount_volume_supported(self): FakeConf = namedtuple('FakeConf', 'cloud_type platform_name') conf = FakeConf('Amazon', 'ubuntu') module = 'dcm.agent.plugins.builtin.mount_volume' items_map = {'type': 'python_module', 'module_name': module} features = plugin_loader.get_module_features(conf, 'mount_volume', items_map) self.assertIn('mount', features) self.assertIn('format', features)
def test_mount_volume_supported(self): FakeConf = namedtuple('FakeConf', 'cloud_type platform_name') conf = FakeConf('Amazon', 'ubuntu') module = 'dcm.agent.plugins.builtin.mount_volume' items_map = {'type': 'python_module', 'module_name': module} features = plugin_loader.get_module_features( conf, 'mount_volume', items_map) self.assertIn('mount', features) self.assertIn('format', features)