diff --git a/senlin/engine/registry.py b/senlin/engine/registry.py index 659ed4da3..e11280293 100644 --- a/senlin/engine/registry.py +++ b/senlin/engine/registry.py @@ -132,11 +132,12 @@ class Registry(object): def get_types(self): """Return a list of valid plugin types.""" - return [ - { - 'name': name.split('-')[0] if '-' in name else name, - 'version': name.split('-')[1] if '-' in name else '', - 'support_status': pi.plugin.VERSIONS - } - for name, pi in self._registry.items() - ] + types_support = [] + for tn, ts in self._registry.items(): + name = tn.split('-')[0] if '-' in tn else tn + version = tn.split('-')[1] if '-' in tn else '' + support = ts.plugin.VERSIONS[version] if version != '' else '' + pi = {version: support} + types_support.append({'name': name, 'version': version, + 'support_status': pi}) + return types_support diff --git a/senlin/tests/unit/engine/test_environment.py b/senlin/tests/unit/engine/test_environment.py index 3c3284433..7b0f13820 100644 --- a/senlin/tests/unit/engine/test_environment.py +++ b/senlin/tests/unit/engine/test_environment.py @@ -184,17 +184,17 @@ class TestEnvironment(base.SenlinTestCase): def test_get_profile_types(self): env = environment.Environment() - plugin1 = mock.Mock(VERSIONS={'k': 'v'}) + plugin1 = mock.Mock(VERSIONS={'1.0': 'v'}) env.register_profile('foo-1.0', plugin1) - plugin2 = mock.Mock(VERSIONS={'k': 'v1'}) + plugin2 = mock.Mock(VERSIONS={'1.2': 'v1'}) env.register_profile('bar-1.2', plugin2) actual = env.get_profile_types() self.assertIn( - {'name': 'foo', 'version': '1.0', 'support_status': {'k': 'v'}}, + {'name': 'foo', 'version': '1.0', 'support_status': {'1.0': 'v'}}, actual) self.assertIn( - {'name': 'bar', 'version': '1.2', 'support_status': {'k': 'v1'}}, + {'name': 'bar', 'version': '1.2', 'support_status': {'1.2': 'v1'}}, actual) def test_register_and_get_policy(self): @@ -211,17 +211,17 @@ class TestEnvironment(base.SenlinTestCase): def test_get_policy_types(self): env = environment.Environment() - plugin1 = mock.Mock(VERSIONS={'k': 'v'}) + plugin1 = mock.Mock(VERSIONS={'0.1': 'v'}) env.register_policy('foo-0.1', plugin1) - plugin2 = mock.Mock(VERSIONS={'k': 'v1'}) - env.register_policy('bar-0.2', plugin2) + plugin2 = mock.Mock(VERSIONS={'0.1': 'v1'}) + env.register_policy('bar-0.1', plugin2) actual = env.get_policy_types() self.assertIn( - {'name': 'foo', 'version': '0.1', 'support_status': {'k': 'v'}}, + {'name': 'foo', 'version': '0.1', 'support_status': {'0.1': 'v'}}, actual) self.assertIn( - {'name': 'bar', 'version': '0.2', 'support_status': {'k': 'v1'}}, + {'name': 'bar', 'version': '0.1', 'support_status': {'0.1': 'v1'}}, actual) def test_register_and_get_driver_types(self): @@ -245,10 +245,10 @@ class TestEnvironment(base.SenlinTestCase): actual = env.get_driver_types() self.assertIn( - {'name': 'foo', 'version': '', 'support_status': {}}, + {'name': 'foo', 'version': '', 'support_status': {'': ''}}, actual) self.assertIn( - {'name': 'bar', 'version': '', 'support_status': {}}, + {'name': 'bar', 'version': '', 'support_status': {'': ''}}, actual) def test_register_and_get_endpoints(self): diff --git a/senlin/tests/unit/engine/test_registry.py b/senlin/tests/unit/engine/test_registry.py index 464223233..e611416c6 100644 --- a/senlin/tests/unit/engine/test_registry.py +++ b/senlin/tests/unit/engine/test_registry.py @@ -200,22 +200,22 @@ class RegistryTest(base.SenlinTestCase): def test_get_types(self): reg = registry.Registry('GLOBAL', None) - plugin1 = mock.Mock(VERSIONS={'foo': 'bar'}) + plugin1 = mock.Mock(VERSIONS={'1.0': 'bar'}) reg.register_plugin('FOO-1.0', plugin1) - plugin2 = mock.Mock(VERSIONS={'zoo': 'car'}) + plugin2 = mock.Mock(VERSIONS={'1.1': 'car'}) reg.register_plugin('BAR-1.1', plugin2) self.assertIn( { 'name': 'FOO', 'version': '1.0', - 'support_status': {'foo': 'bar'} + 'support_status': {'1.0': 'bar'} }, reg.get_types()) self.assertIn( { 'name': 'BAR', 'version': '1.1', - 'support_status': {'zoo': 'car'} + 'support_status': {'1.1': 'car'} }, reg.get_types()) diff --git a/setup.cfg b/setup.cfg index c588afc99..a19b3c24c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -50,9 +50,11 @@ senlin.profiles = container.dockerinc.docker-1.0 = senlin.profiles.container.docker:DockerProfile senlin.policies = + senlin.policy.deletion-1.0 = senlin.policies.deletion_policy:DeletionPolicy senlin.policy.deletion-1.1 = senlin.policies.deletion_policy:DeletionPolicy senlin.policy.scaling-1.0 = senlin.policies.scaling_policy:ScalingPolicy senlin.policy.health-1.0 = senlin.policies.health_policy:HealthPolicy + senlin.policy.loadbalance-1.0 = senlin.policies.lb_policy:LoadBalancingPolicy senlin.policy.loadbalance-1.1 = senlin.policies.lb_policy:LoadBalancingPolicy senlin.policy.region_placement-1.0 = senlin.policies.region_placement:RegionPlacementPolicy senlin.policy.zone_placement-1.0 = senlin.policies.zone_placement:ZonePlacementPolicy