def register_policies(): # Register policy types and policies. registered_type_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policy types #################') LOG.info('=========================================================') import st2actions registered_type_count = policies_registrar.register_policy_types( st2actions) except Exception: LOG.warning('Failed to register policy types.', exc_info=True) LOG.info('Registered %s policy types.', registered_type_count) registered_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policies #####################') LOG.info('=========================================================') registered_count = policies_registrar.register_policies() except Exception: LOG.warning('Failed to register policies.', exc_info=True) LOG.info('Registered %s policies.', registered_count)
def register_policies(): # Register policy types and policies. pack_dir = cfg.CONF.register.pack fail_on_failure = not cfg.CONF.register.no_fail_on_failure registered_type_count = 0 try: LOG.info("=========================================================") LOG.info("############## Registering policy types #################") LOG.info("=========================================================") with Timer(key="st2.register.policies"): registered_type_count = policies_registrar.register_policy_types( st2common) except Exception: LOG.warning("Failed to register policy types.", exc_info=True) LOG.info("Registered %s policy types.", registered_type_count) registered_count = 0 try: LOG.info("=========================================================") LOG.info("############## Registering policies #####################") LOG.info("=========================================================") registered_count = policies_registrar.register_policies( pack_dir=pack_dir, fail_on_failure=fail_on_failure) except Exception as e: exc_info = not fail_on_failure LOG.warning("Failed to register policies: %s", e, exc_info=exc_info) if fail_on_failure: raise e LOG.info("Registered %s policies.", registered_count)
def register_policies(): # Register policy types and policies. pack_dir = cfg.CONF.register.pack fail_on_failure = not cfg.CONF.register.no_fail_on_failure registered_type_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policy types #################') LOG.info('=========================================================') registered_type_count = policies_registrar.register_policy_types( st2common) except Exception: LOG.warning('Failed to register policy types.', exc_info=True) LOG.info('Registered %s policy types.', registered_type_count) registered_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policies #####################') LOG.info('=========================================================') registered_count = policies_registrar.register_policies( pack_dir=pack_dir, fail_on_failure=fail_on_failure) except Exception as e: exc_info = not fail_on_failure LOG.warning('Failed to register policies: %s', e, exc_info=exc_info) if fail_on_failure: raise e LOG.info('Registered %s policies.', registered_count)
def register_policies(): # Register policy types and policies. pack_dir = cfg.CONF.register.pack fail_on_failure = not cfg.CONF.register.no_fail_on_failure registered_type_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policy types #################') LOG.info('=========================================================') registered_type_count = policies_registrar.register_policy_types(st2common) except Exception: LOG.warning('Failed to register policy types.', exc_info=True) LOG.info('Registered %s policy types.', registered_type_count) registered_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policies #####################') LOG.info('=========================================================') registered_count = policies_registrar.register_policies(pack_dir=pack_dir, fail_on_failure=fail_on_failure) except Exception as e: exc_info = not fail_on_failure LOG.warning('Failed to register policies: %s', e, exc_info=exc_info) if fail_on_failure: raise e LOG.info('Registered %s policies.', registered_count)
def test_register_all_policies(self): policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 0) packs_base_path = get_fixtures_packs_base_path() count = policies_registrar.register_policies( packs_base_paths=[packs_base_path]) # Verify PolicyDB objects have been created policies_dbs = Policy.get_all() policies = { policies_db.name: { 'pack': policies_db.pack, 'type': policies_db.policy_type, 'parameters': policies_db.parameters } for policies_db in policies_dbs } expected_policies = { 'test_policy_1': { 'pack': 'dummy_pack_1', 'type': 'action.concurrency', 'parameters': { 'action': 'delay', 'threshold': 3 } }, 'test_policy_3': { 'pack': 'dummy_pack_1', 'type': 'action.retry', 'parameters': { 'retry_on': 'timeout', 'max_retry_count': 5 } }, 'cancel_on_concurrency': { 'pack': 'mistral_tests', 'type': 'action.concurrency', 'parameters': { 'action': 'cancel', 'threshold': 3 } }, 'cancel_on_concurrency_by_attr': { 'pack': 'mistral_tests', 'type': 'action.concurrency.attr', 'parameters': { 'action': 'cancel', 'threshold': 1, 'attributes': ['friend'] } } } self.assertEqual(len(expected_policies), count) self.assertEqual(len(expected_policies), len(policies_dbs)) self.assertDictEqual(expected_policies, policies)
def test_register_all_policies(self): policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 0) packs_base_path = get_fixtures_packs_base_path() count = policies_registrar.register_policies(packs_base_paths=[packs_base_path]) # Verify PolicyDB objects have been created policies_dbs = Policy.get_all() policies = { policies_db.name: { 'pack': policies_db.pack, 'type': policies_db.policy_type, 'parameters': policies_db.parameters } for policies_db in policies_dbs } expected_policies = { 'test_policy_1': { 'pack': 'dummy_pack_1', 'type': 'action.concurrency', 'parameters': { 'action': 'delay', 'threshold': 3 } }, 'test_policy_3': { 'pack': 'dummy_pack_1', 'type': 'action.retry', 'parameters': { 'retry_on': 'timeout', 'max_retry_count': 5 } }, 'cancel_on_concurrency': { 'pack': 'mistral_tests', 'type': 'action.concurrency', 'parameters': { 'action': 'cancel', 'threshold': 3 } }, 'cancel_on_concurrency_by_attr': { 'pack': 'mistral_tests', 'type': 'action.concurrency.attr', 'parameters': { 'action': 'cancel', 'threshold': 1, 'attributes': ['friend'] } } } self.assertEqual(len(expected_policies), count) self.assertEqual(len(expected_policies), len(policies_dbs)) self.assertDictEqual(expected_policies, policies)
def test_register_policies(self): # Note: Only one policy should be registered since second one fails validation pack_dir = os.path.join(fixturesloader.get_fixtures_base_path(), "dummy_pack_1") self.assertEqual(register_policies(pack_dir=pack_dir), 1) p1 = Policy.get_by_ref("dummy_pack_1.test_policy_1") self.assertEqual(p1.name, "test_policy_1") self.assertEqual(p1.pack, "dummy_pack_1") self.assertEqual(p1.resource_ref, "dummy_pack_1.local") self.assertEqual(p1.policy_type, "action.concurrency") p2 = Policy.get_by_ref("dummy_pack_1.test_policy_2") self.assertEqual(p2, None)
def test_register_all_policies(self): policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 0) packs_base_path = get_fixtures_packs_base_path() count = policies_registrar.register_policies( packs_base_paths=[packs_base_path]) # Verify PolicyDB objects have been created policies_dbs = Policy.get_all() policies = { policies_db.name: { "pack": policies_db.pack, "type": policies_db.policy_type, "parameters": policies_db.parameters, } for policies_db in policies_dbs } expected_policies = { "test_policy_1": { "pack": "dummy_pack_1", "type": "action.concurrency", "parameters": { "action": "delay", "threshold": 3 }, }, "test_policy_3": { "pack": "dummy_pack_1", "type": "action.retry", "parameters": { "retry_on": "timeout", "max_retry_count": 5 }, }, "sequential.retry_on_failure": { "pack": "orquesta_tests", "type": "action.retry", "parameters": { "retry_on": "failure", "max_retry_count": 1 }, }, } self.assertEqual(len(expected_policies), count) self.assertEqual(len(expected_policies), len(policies_dbs)) self.assertDictEqual(expected_policies, policies)
def test_register_policies(self): # Note: Only one policy should be registered since second one fails validation pack_dir = os.path.join(fixturesloader.get_fixtures_base_path(), 'dummy_pack_1') self.assertEqual(register_policies(pack_dir=pack_dir), 1) p1 = Policy.get_by_ref('dummy_pack_1.test_policy_1') self.assertEqual(p1.name, 'test_policy_1') self.assertEqual(p1.pack, 'dummy_pack_1') self.assertEqual(p1.resource_ref, 'dummy_pack_1.local') self.assertEqual(p1.policy_type, 'action.concurrency') p2 = Policy.get_by_ref('dummy_pack_1.test_policy_2') self.assertEqual(p2, None)
def test_register_policies_from_pack(self): pack_dir = os.path.join(get_fixtures_packs_base_path(), 'dummy_pack_1') self.assertEqual(register_policies(pack_dir=pack_dir), 2) p1 = Policy.get_by_ref('dummy_pack_1.test_policy_1') self.assertEqual(p1.name, 'test_policy_1') self.assertEqual(p1.pack, 'dummy_pack_1') self.assertEqual(p1.resource_ref, 'dummy_pack_1.local') self.assertEqual(p1.policy_type, 'action.concurrency') # Verify that a default value for parameter "action" which isn't provided in the file is set self.assertEqual(p1.parameters['action'], 'delay') p2 = Policy.get_by_ref('dummy_pack_1.test_policy_2') self.assertEqual(p2, None)
def test_register_policies_from_pack(self): pack_dir = os.path.join(get_fixtures_packs_base_path(), "dummy_pack_1") self.assertEqual(register_policies(pack_dir=pack_dir), 2) p1 = Policy.get_by_ref("dummy_pack_1.test_policy_1") self.assertEqual(p1.name, "test_policy_1") self.assertEqual(p1.pack, "dummy_pack_1") self.assertEqual(p1.resource_ref, "dummy_pack_1.local") self.assertEqual(p1.policy_type, "action.concurrency") # Verify that a default value for parameter "action" which isn't provided in the file is set self.assertEqual(p1.parameters["action"], "delay") self.assertEqual(p1.metadata_file, "policies/policy_1.yaml") p2 = Policy.get_by_ref("dummy_pack_1.test_policy_2") self.assertEqual(p2, None)
def test_register_policies(self): pack_dir = os.path.join(fixturesloader.get_fixtures_base_path(), 'dummy_pack_1') self.assertEqual(register_policies(pack_dir=pack_dir), 2) p1 = Policy.get_by_ref('dummy_pack_1.test_policy_1') self.assertEqual(p1.name, 'test_policy_1') self.assertEqual(p1.pack, 'dummy_pack_1') self.assertEqual(p1.resource_ref, 'dummy_pack_1.local') self.assertEqual(p1.policy_type, 'action.concurrency') p2 = Policy.get_by_ref('dummy_pack_1.test_policy_2') self.assertEqual(p2.name, 'test_policy_2') self.assertEqual(p2.pack, 'dummy_pack_1') self.assertEqual(p2.resource_ref, 'dummy_pack_1.local') self.assertEqual(p2.policy_type, 'action.mock_policy_error') self.assertEqual(p2.resource_ref, 'dummy_pack_1.local')
def test_register_all_policies(self): policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 0) packs_base_path = get_fixtures_packs_base_path() count = policies_registrar.register_policies(packs_base_paths=[packs_base_path]) self.assertEqual(count, 2) # Verify PolicyDB objects have been created policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 2) self.assertEqual(policies_dbs[0].name, 'test_policy_1') self.assertEqual(policies_dbs[0].policy_type, 'action.concurrency') # Verify that a default value for parameter "action" which isn't provided in the file is set self.assertEqual(policies_dbs[0].parameters['action'], 'delay') self.assertEqual(policies_dbs[0].parameters['threshold'], 3)
def test_register_all_policies(self): policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 0) packs_base_path = get_fixtures_packs_base_path() count = policies_registrar.register_policies( packs_base_paths=[packs_base_path]) self.assertEqual(count, 2) # Verify PolicyDB objects have been created policies_dbs = Policy.get_all() self.assertEqual(len(policies_dbs), 2) self.assertEqual(policies_dbs[0].name, 'test_policy_1') self.assertEqual(policies_dbs[0].policy_type, 'action.concurrency') # Verify that a default value for parameter "action" which isn't provided in the file is set self.assertEqual(policies_dbs[0].parameters['action'], 'delay') self.assertEqual(policies_dbs[0].parameters['threshold'], 3)
def register_policies(): # Register policy types and policies. registered_type_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policy types #################') LOG.info('=========================================================') import st2actions registered_type_count = policies_registrar.register_policy_types(st2actions) except Exception: LOG.warning('Failed to register policy types.', exc_info=True) LOG.info('Registered %s policy types.', registered_type_count) registered_count = 0 try: LOG.info('=========================================================') LOG.info('############## Registering policies #####################') LOG.info('=========================================================') registered_count = policies_registrar.register_policies() except Exception: LOG.warning('Failed to register policies.', exc_info=True) LOG.info('Registered %s policies.', registered_count)