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)
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)
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)
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)))
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)
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)))
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)
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)