def setUp(self): super(TestNailgunReceiver, self).setUp() self.cluster = self.env.create( status=consts.CLUSTER_STATUSES.operational, nodes_kwargs=[ {'roles': ['controller'], 'status': consts.NODE_STATUSES.ready}]) for i in range(2): meta = self.env.get_default_plugin_metadata( name='name{0}'.format(i), title='title{0}'.format(i), description='description{0}'.format(i)) self.plugin = Plugin.create(meta) self.cluster.plugins.append(self.plugin) ClusterPlugin.set_attributes(self.cluster.id, self.plugin.id, enabled=True) self.task = self.env.create_task( name=consts.TASK_NAMES.deployment, status=consts.TASK_STATUSES.ready, cluster_id=self.cluster.id)
def test_get_all_attributes_by_bond_with_enabled_plugin(self): plugin_bond_config = self.env.get_default_plugin_bond_config() plugin = self.env.create_plugin( name='plugin_a_with_bond_attributes', package_version='5.0.0', bond_attributes_metadata=plugin_bond_config) cluster = self._create_test_cluster() node = self.env.create_nodes_w_interfaces_count( 1, 2, **{"cluster_id": cluster.id})[0] bond_config = { 'type__': {'value': consts.BOND_TYPES.linux}, 'mode': {'value': {'value': consts.BOND_MODES.balance_rr}}} nic_names = [iface.name for iface in node.nic_interfaces] self.env.make_bond_via_api( 'lnx_bond', '', nic_names, node.id, attrs=bond_config) bond = node.bond_interfaces[0] bond_plugin_id = node.node_bond_interface_cluster_plugins[0].id ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) attributes = NodeBondInterfaceClusterPlugin.\ get_all_enabled_attributes_by_bond(bond) expected_attributes = { 'plugin_a_with_bond_attributes': { 'metadata': { 'label': 'Test base plugin', 'bond_plugin_id': bond_plugin_id, 'class': 'plugin'}, 'plugin_name_text': { 'value': 'value', 'type': 'text', 'description': 'Some description', 'weight': 25, 'label': 'label'}}} self.assertEqual(expected_attributes, attributes)
def setUp(self): super(TestNailgunReceiver, self).setUp() self.cluster = self.env.create( status=consts.CLUSTER_STATUSES.operational, nodes_kwargs=[{ 'roles': ['controller'], 'status': consts.NODE_STATUSES.ready }]) for i in range(2): meta = self.env.get_default_plugin_metadata( name='name{0}'.format(i), title='title{0}'.format(i), description='description{0}'.format(i)) self.plugin = Plugin.create(meta) self.cluster.plugins.append(self.plugin) ClusterPlugin.set_attributes(self.cluster.id, self.plugin.id, enabled=True) self.task = self.env.create_task(name=consts.TASK_NAMES.deployment, status=consts.TASK_STATUSES.ready, cluster_id=self.cluster.id)
def test_get_all_attributes_by_interface_with_enabled_plugin(self): nic_config = self.env.get_default_plugin_nic_config() plugin = self.env.create_plugin( name='plugin_a_with_nic_attributes', package_version='5.0.0', nic_attributes_metadata=nic_config) cluster = self._create_test_cluster() # create node with 1 interface for easy testing node = self.env.create_nodes_w_interfaces_count( 1, 1, **{"cluster_id": cluster.id})[0] interface = node.nic_interfaces[0] nic_plugin_id = node.node_nic_interface_cluster_plugins[0].id ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) attributes = NodeNICInterfaceClusterPlugin.\ get_all_enabled_attributes_by_interface(interface) expected_attributes = { 'plugin_a_with_nic_attributes': { 'metadata': { 'label': 'Test base plugin', 'nic_plugin_id': nic_plugin_id, 'class': 'plugin'}, 'plugin_name_text': { 'value': 'value', 'type': 'text', 'description': 'Some description', 'weight': 25, 'label': 'label'}}} self.assertEqual(expected_attributes, attributes)
def test_is_plugin_used(self): self._create_test_plugins() cluster = self._create_test_cluster() plugin = ClusterPlugin.get_connected_plugins(cluster).first() self.assertFalse(ClusterPlugin.is_plugin_used(plugin.id)) ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) self.assertTrue(ClusterPlugin.is_plugin_used(plugin.id))
def test_get_enabled(self): self._create_test_plugins() cluster = self._create_test_cluster() plugin = ClusterPlugin.get_connected_plugins(cluster).first() ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) enabled_plugin = ClusterPlugin.get_enabled(cluster.id).first() self.assertEqual(plugin.id, enabled_plugin.id)
def test_get_enabled_plugins(self): plugin_a = self._create_plugin(**self._compat_meta) plugin_b = self._create_plugin(**self._compat_meta) ClusterPlugin.set_attributes( self.cluster.id, plugin_a.id, enabled=True) compat_plugins = ClusterPlugin.get_compatible_plugins(self.cluster) self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b]) enabled_plugins = ClusterPlugin.get_enabled(self.cluster.id) self.assertItemsEqual(enabled_plugins, [plugin_a])
def test_get_enabled_plugins(self): plugin_a = self._create_plugin(**self._compat_meta) plugin_b = self._create_plugin(**self._compat_meta) ClusterPlugin.set_attributes( self.cluster.id, plugin_a.id, enabled=True) compat_plugins = ClusterPlugin.get_compatible_plugins(self.cluster) self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b]) enabled_plugins = ClusterPlugin.get_enabled(self.cluster.id) self.assertItemsEqual(enabled_plugins, [plugin_a])
def test_set_plugin_attributes(self): meta = base.reflect_db_metadata() self._create_test_plugins() cluster = self._create_test_cluster() plugin = ClusterPlugin.get_connected_plugins(cluster).first() ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) columns = meta.tables["cluster_plugins"].c enabled = self.db.execute( sa.select([columns.enabled]).where(columns.cluster_id == cluster.id).where(columns.plugin_id == plugin.id) ).fetchone() self.assertTrue(enabled[0])
def test_set_plugin_attributes(self): meta = base.reflect_db_metadata() self._create_test_plugins() cluster = self._create_test_cluster() plugin = ClusterPlugin.get_connected_plugins(cluster).first() ClusterPlugin.set_attributes(cluster.id, plugin.id, enabled=True) columns = meta.tables['cluster_plugins'].c enabled = self.db.execute( sa.select([columns.enabled ]).where(columns.cluster_id == cluster.id).where( columns.plugin_id == plugin.id)).fetchone() self.assertTrue(enabled[0])