Example #1
0
    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)
            ClusterPlugins.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)
Example #2
0
    def setUp(self):
        super(TestNailgunReceiver, self).setUp()

        self.env.create(
            status=consts.CLUSTER_STATUSES.operational,
            nodes_kwargs=[
                {'roles': ['controller'],
                 'status': consts.NODE_STATUSES.ready}])
        self.cluster = self.env.clusters[0]

        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)
            ClusterPlugins.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)
Example #3
0
    def test_is_plugin_used(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin = ClusterPlugins.get_connected_plugins(cluster).first()
        self.assertFalse(ClusterPlugins.is_plugin_used(plugin.id))
        ClusterPlugins.set_attributes(cluster.id, plugin.id, enabled=True)
        self.assertTrue(ClusterPlugins.is_plugin_used(plugin.id))
    def test_is_plugin_used(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin = ClusterPlugins.get_connected_plugins(cluster).first()
        self.assertFalse(ClusterPlugins.is_plugin_used(plugin.id))
        ClusterPlugins.set_attributes(cluster.id, plugin.id, enabled=True)
        self.assertTrue(ClusterPlugins.is_plugin_used(plugin.id))
    def test_get_enabled(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin = ClusterPlugins.get_connected_plugins(cluster).first()
        ClusterPlugins.set_attributes(cluster.id, plugin.id, enabled=True)

        enabled_plugin = ClusterPlugins.get_enabled(cluster.id).first()
        self.assertEqual(plugin.id, enabled_plugin.id)
Example #6
0
    def test_get_enabled(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin_id = ClusterPlugins.get_connected_plugins(cluster.id)[0][0]
        ClusterPlugins.set_attributes(cluster.id, plugin_id, enabled=True)

        enabled_plugin = ClusterPlugins.get_enabled(cluster.id)[0].id
        self.assertEqual(enabled_plugin, plugin_id)
Example #7
0
    def test_get_enabled(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin_id = ClusterPlugins.get_connected_plugins(cluster.id)[0][0]
        ClusterPlugins.set_attributes(cluster.id, plugin_id, enabled=True)

        enabled_plugin = ClusterPlugins.get_enabled(cluster.id)[0].id
        self.assertEqual(enabled_plugin, plugin_id)
Example #8
0
    def test_get_enabled(self):
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin = ClusterPlugins.get_connected_plugins(cluster).first()
        ClusterPlugins.set_attributes(cluster.id, plugin.id, enabled=True)

        enabled_plugin = ClusterPlugins.get_enabled(cluster.id).first()
        self.assertEqual(plugin.id, enabled_plugin.id)
Example #9
0
    def test_get_enabled_plugins(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        plugin_b = self._create_plugin(**self._compat_meta)

        ClusterPlugins.set_attributes(
            self.cluster.id, plugin_a.id, enabled=True)

        compat_plugins = ClusterPlugins.get_compatible_plugins(self.cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b])

        enabled_plugins = ClusterPlugins.get_enabled(self.cluster.id)
        self.assertItemsEqual(enabled_plugins, [plugin_a])
Example #10
0
    def test_get_enabled_plugins(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        plugin_b = self._create_plugin(**self._compat_meta)

        ClusterPlugins.set_attributes(
            self.cluster.id, plugin_a.id, enabled=True)

        compat_plugins = ClusterPlugins.get_compatible_plugins(self.cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b])

        enabled_plugins = ClusterPlugins.get_enabled(self.cluster.id)
        self.assertItemsEqual(enabled_plugins, [plugin_a])
Example #11
0
    def test_set_plugin_attributes(self):
        meta = base.reflect_db_metadata()
        self._create_test_plugins()
        cluster = self._create_test_cluster()

        plugin = ClusterPlugins.get_connected_plugins(cluster).first()
        ClusterPlugins.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 = ClusterPlugins.get_connected_plugins(cluster).first()
        ClusterPlugins.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_get_connected_for_specific_plugins(self):
     plugin_ids = self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins =\
         ClusterPlugins.get_connected_plugins(
             cluster, plugin_ids[1:]).count()
     self.assertEqual(4, number_of_connected_plugins)
Example #14
0
 def test_get_connected_for_specific_plugins(self):
     plugin_ids = self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins =\
         ClusterPlugins.get_connected_plugins(
             cluster, plugin_ids[1:]).count()
     self.assertEqual(4, number_of_connected_plugins)
Example #15
0
 def test_get_connected_clusters(self):
     plugin_id = self._create_test_plugins()[0]
     for _ in range(2):
         self._create_test_cluster()
     number_of_connected_clusters =\
         ClusterPlugins.get_connected_clusters(plugin_id).count()
     self.assertEqual(2, number_of_connected_clusters)
Example #16
0
 def test_get_connected_clusters(self):
     plugin_id = self._create_test_plugins()[0]
     for _ in range(2):
         self._create_test_cluster()
     connected_clusters =\
         ClusterPlugins.get_connected_clusters(plugin_id).all()
     self.assertEqual(len(connected_clusters), 2)
 def test_get_connected_clusters(self):
     plugin_id = self._create_test_plugins()[0]
     for _ in range(2):
         self._create_test_cluster()
     number_of_connected_clusters =\
         ClusterPlugins.get_connected_clusters(plugin_id).count()
     self.assertEqual(2, number_of_connected_clusters)
Example #18
0
 def test_get_connected_clusters(self):
     plugin_id = self._create_test_plugins()[0]
     for _ in range(2):
         self._create_test_cluster()
     connected_clusters =\
         ClusterPlugins.get_connected_clusters(plugin_id).all()
     self.assertEqual(len(connected_clusters), 2)
Example #19
0
    def test_get_compatible_plugins_for_new_cluster(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        plugin_b = self._create_plugin(**self._compat_meta)
        self._create_plugin(**self._uncompat_meta)

        cluster = self.env.create(
            cluster_kwargs={
                'release_id': self.cluster.release.id,
                'mode': consts.CLUSTER_MODES.ha_compact,
            })

        compat_plugins = ClusterPlugins.get_compatible_plugins(cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b])
Example #20
0
    def test_get_compatible_plugins_for_new_cluster(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        plugin_b = self._create_plugin(**self._compat_meta)
        self._create_plugin(**self._uncompat_meta)

        cluster = self.env.create(
            cluster_kwargs={
                'release_id': self.cluster.release.id,
                'mode': consts.CLUSTER_MODES.ha_compact,
            })

        compat_plugins = ClusterPlugins.get_compatible_plugins(cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a, plugin_b])
Example #21
0
    def test_enable_plugins_by_component(self):
        self.env.create_plugin(
            name='plugin_with_test_storage',
            package_version='4.0.0',
            fuel_version=['8.0'],
            releases=[{
                'repository_path': 'repositories/ubuntu',
                'version': '2015.1-8.3',
                'os': 'ubuntu',
                'mode': ['ha'],
                'deployment_scripts_path': 'deployment_scripts/'
            }],
            components_metadata=self.env.get_default_components(
                name='storage:test_storage'))

        plugin = self.env.create_plugin(
            version='1.0.0',
            name='plugin_with_test_storage',
            package_version='4.0.0',
            fuel_version=['8.0'],
            releases=[{
                'repository_path': 'repositories/ubuntu',
                'version': '2015.1-8.3',
                'os': 'ubuntu',
                'mode': ['ha'],
                'deployment_scripts_path': 'deployment_scripts/'
            }],
            components_metadata=self.env.get_default_components(
                name='storage:test_storage'))

        cluster = self.env.create(
            release_kwargs={
                'operating_system': consts.RELEASE_OS.ubuntu,
                'version': '2015.1-8.3'
            },
            cluster_kwargs={
                'mode':
                consts.CLUSTER_MODES.ha_compact,
                'api':
                False,
                'components':
                ['hypervisor:test_hypervisor', 'storage:test_storage']
            })

        enabled_plugins = ClusterPlugins.get_enabled(cluster.id)
        self.assertItemsEqual([plugin], enabled_plugins)
Example #22
0
    def test_enable_plugins_by_component(self):
        self.env.create_plugin(
            name='plugin_with_test_storage',
            package_version='4.0.0',
            fuel_version=['8.0'],
            releases=[{
                'repository_path': 'repositories/ubuntu',
                'version': '2015.1-8.3',
                'os': 'ubuntu',
                'mode': ['ha'],
                'deployment_scripts_path': 'deployment_scripts/'}],
            components_metadata=self.env.get_default_components(
                name='storage:test_storage'))

        plugin = self.env.create_plugin(
            version='1.0.0',
            name='plugin_with_test_storage',
            package_version='4.0.0',
            fuel_version=['8.0'],
            releases=[{
                'repository_path': 'repositories/ubuntu',
                'version': '2015.1-8.3',
                'os': 'ubuntu',
                'mode': ['ha'],
                'deployment_scripts_path': 'deployment_scripts/'}],
            components_metadata=self.env.get_default_components(
                name='storage:test_storage'))

        cluster = self.env.create(
            release_kwargs={
                'operating_system': consts.RELEASE_OS.ubuntu,
                'version': '2015.1-8.3'},
            cluster_kwargs={
                'mode': consts.CLUSTER_MODES.ha_compact,
                'api': False,
                'components': [
                    'hypervisor:test_hypervisor',
                    'storage:test_storage']})

        enabled_plugins = ClusterPlugins.get_enabled(cluster.id)
        self.assertItemsEqual([plugin], enabled_plugins)
Example #23
0
 def test_get_all_connected_plugins(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins =\
         ClusterPlugins.get_connected_plugins(cluster).count()
     self.assertEqual(5, number_of_connected_plugins)
Example #24
0
 def test_get_connected_plugins_data(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins_data_items =\
         ClusterPlugins.get_connected_plugins_data(cluster.id).count()
     self.assertEqual(5, number_of_connected_plugins_data_items)
Example #25
0
 def validate_delete(cls, data, instance):
     if ClusterPlugins.is_plugin_used(instance.id):
         raise errors.CannotDelete(
             "Can't delete plugin which is enabled "
             "for some environment."
         )
Example #26
0
 def validate_with_cluster(self, **kwargs):
     cluster = self.cluster_mock(**kwargs)
     return ClusterPlugins.is_compatible(cluster, self.plugin)
Example #27
0
    def test_get_compatible_plugins(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        self._create_plugin(**self._uncompat_meta)

        compat_plugins = ClusterPlugins.get_compatible_plugins(self.cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a])
Example #28
0
 def test_get_connected_plugins(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     connected_plugins =\
         ClusterPlugins.get_connected_plugins(cluster.id).all()
     self.assertEqual(len(connected_plugins), 5)
Example #29
0
 def validate_delete(cls, data, instance):
     if ClusterPlugins.is_plugin_used(instance.id):
         raise errors.CannotDelete("Can't delete plugin which is enabled "
                                   "for some environment.")
 def test_get_connected_plugins_data(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins_data_items =\
         ClusterPlugins.get_connected_plugins_data(cluster.id).count()
     self.assertEqual(5, number_of_connected_plugins_data_items)
Example #31
0
    def test_get_compatible_plugins(self):
        plugin_a = self._create_plugin(**self._compat_meta)
        self._create_plugin(**self._uncompat_meta)

        compat_plugins = ClusterPlugins.get_compatible_plugins(self.cluster)
        self.assertItemsEqual(compat_plugins, [plugin_a])
 def test_get_all_connected_plugins(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     number_of_connected_plugins =\
         ClusterPlugins.get_connected_plugins(cluster).count()
     self.assertEqual(5, number_of_connected_plugins)
Example #33
0
 def validate_with_cluster(self, **kwargs):
     cluster = self.cluster_mock(**kwargs)
     return ClusterPlugins.validate_compatibility(cluster, self.plugin)
Example #34
0
 def test_get_connected_plugins(self):
     self._create_test_plugins()
     cluster = self._create_test_cluster()
     connected_plugins =\
         ClusterPlugins.get_connected_plugins(cluster.id).all()
     self.assertEqual(len(connected_plugins), 5)