Ejemplo n.º 1
0
    def sync_metadata_to_db(self):
        """Sync metadata from all config yaml files to DB"""
        super(PluginAdapterV3, self).sync_metadata_to_db()

        data_to_update = {}
        db_config_metadata_mapping = {
            'attributes_metadata': self.environment_config_name,
            'roles_metadata': self.node_roles_config_name,
            'volumes_metadata': self.volumes_config_name,
            'network_roles_metadata': self.network_roles_config_name,
            'deployment_tasks': self.deployment_tasks_config_name,
            'tasks': self.task_config_name
        }

        for attribute, config in six.iteritems(db_config_metadata_mapping):
            config_file_path = os.path.join(self.plugin_path, config)
            attribute_data = self._load_config(config_file_path)
            # Plugin columns have constraints for nullable data, so
            # we need to check it
            if attribute_data:
                if attribute == 'attributes_metadata':
                    attribute_data = attribute_data['attributes']
                data_to_update[attribute] = attribute_data

        Plugin.update(self.plugin, data_to_update)
Ejemplo n.º 2
0
    def sync_metadata_to_db(self):
        """Sync metadata from config yaml files into DB"""
        metadata_file_path = os.path.join(
            self.plugin_path, self.plugin_metadata)

        metadata = self._load_config(metadata_file_path) or {}
        Plugin.update(self.plugin, metadata)
Ejemplo n.º 3
0
    def sync_metadata_to_db(self):
        """Sync metadata from config yaml files into DB"""
        metadata_file_path = os.path.join(self.plugin_path,
                                          self.plugin_metadata)

        metadata = self._load_config(metadata_file_path) or {}
        Plugin.update(self.plugin, metadata)
Ejemplo n.º 4
0
    def _plugin_update(cls, plugin):
        """Update plugin metadata.

        :param plugin: A plugin instance
        :type plugin: plugin model
        """
        try:
            plugin_adapter = wrap_plugin(plugin)
            metadata = plugin_adapter.get_metadata()
            Plugin.update(plugin, metadata)
        except Exception as e:
            logger.error("cannot update plugin {0} in DB. Reason: {1}".format(
                plugin.name, str(e)))
Ejemplo n.º 5
0
    def _update_plugin(self, mapping):
        data_to_update = {}

        for attribute, config in six.iteritems(mapping):
            config_file_path = os.path.join(self.plugin_path, config)
            attribute_data = self._load_config(config_file_path)
            # Plugin columns have constraints for nullable data, so
            # we need to check it
            if attribute_data:
                if attribute == 'attributes_metadata':
                    attribute_data = attribute_data['attributes']
                data_to_update[attribute] = attribute_data

        Plugin.update(self.plugin, data_to_update)
Ejemplo n.º 6
0
    def _update_plugin(self, mapping):
        data_to_update = {}

        for attribute, config in six.iteritems(mapping):
            config_file_path = os.path.join(self.plugin_path, config)
            attribute_data = self._load_config(config_file_path)
            # Plugin columns have constraints for nullable data, so
            # we need to check it
            if attribute_data:
                if attribute == 'attributes_metadata':
                    attribute_data = attribute_data['attributes']
                data_to_update[attribute] = attribute_data

        Plugin.update(self.plugin, data_to_update)
Ejemplo n.º 7
0
    def _plugin_update(cls, plugin):
        """Update plugin metadata.

        :param plugin: A plugin instance
        :type plugin: plugin model
        """
        try:
            plugin_adapter = wrap_plugin(plugin)
            metadata = plugin_adapter.get_metadata()
            Plugin.update(plugin, metadata)
        except errors.InvalidData:
            raise
        except Exception as e:
            logger.error("cannot update plugin {0} in DB. Reason: {1}"
                         .format(plugin.name, str(e)))
Ejemplo n.º 8
0
    def sync_plugins_metadata(cls, plugin_ids=None):
        """Sync metadata for plugins by given IDs.

        If there are no IDs, all newest plugins will be synced.

        :param plugin_ids: list of plugin IDs
        :type plugin_ids: list
        """
        if plugin_ids:
            plugins = PluginCollection.get_by_uids(plugin_ids)
        else:
            plugins = PluginCollection.all()
        for plugin in plugins:
            plugin_adapter = wrap_plugin(plugin)
            metadata = plugin_adapter.get_metadata()
            Plugin.update(plugin, metadata)
Ejemplo n.º 9
0
    def sync_plugins_metadata(cls, plugin_ids=None):
        """Sync metadata for plugins by given IDs.

        If there are no IDs, all newest plugins will be synced.

        :param plugin_ids: list of plugin IDs
        :type plugin_ids: list
        """
        if plugin_ids:
            plugins = PluginCollection.get_by_uids(plugin_ids)
        else:
            plugins = PluginCollection.all()

        for plugin in plugins:
            plugin_adapter = wrap_plugin(plugin)
            metadata = plugin_adapter.get_metadata()
            Plugin.update(plugin, metadata)
Ejemplo n.º 10
0
    def sync_metadata_to_db(self):
        super(PluginAdapterV3, self).sync_metadata_to_db()

        data_to_update = {}
        db_config_metadata_mapping = {
            'attributes_metadata': self.environment_config_name,
            'roles_metadata': self.node_roles_config_name,
            'volumes_metadata': self.volumes_config_name,
            'deployment_tasks': self.deployment_tasks_config_name,
            'tasks': self.task_config_name
        }

        for attribute, config in six.iteritems(db_config_metadata_mapping):
            config_file_path = os.path.join(self.plugin_path, config)
            attribute_data = self._load_config(config_file_path)
            # Plugin columns have constraints for nullable data, so
            # we need to check it
            if attribute_data:
                data_to_update[attribute] = attribute_data

        Plugin.update(self.plugin, data_to_update)