示例#1
0
    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
示例#2
0
 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)
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
 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)