def handle(self, index=None, reset=False, set_for_usage=False, **kwargs): es = get_es_new() if reset and not set_for_usage: confirm = input( """ Are you sure you want to want to delete existing indices Note that this will delete any data in them. y/N? """ ) if confirm != "y": print("Cancelled by user.") return if index: indices = [ES_META[index]] else: indices = ES_META.values() for index in indices: if set_for_usage: prepare_index_for_usage(es, index) else: if reset: clean_index(es, index) prepare_index_for_reindex(es, index) if set_for_usage: print("index ready for usage") else: print( """Initialized all indices and applied reindex settings After reindex is finished, you can run this command again with --set-for-usage to remove reindex settings and make it ready for usage. """ )
def _verify_is_alias(self, index_or_alias): from corehq.elastic import ES_META, ESError from pillowtop.tests.utils import TEST_ES_ALIAS all_es_aliases = [index_info.alias for index_info in ES_META.values()] + [TEST_ES_ALIAS] if index_or_alias not in all_es_aliases: raise ESError( f"{index_or_alias} is an unknown alias, query target must be one of {all_es_aliases}")
def _verify_is_alias(self, index_or_alias): from corehq.elastic import ES_META if settings.ENABLE_ES_INTERFACE_LOGGING: logger = logging.getLogger('es_interface') all_es_aliases = [index_info.alias for index_info in ES_META.values()] if index_or_alias not in all_es_aliases: logger.info("Found a use case where an index is queried instead of alias") logger.info(traceback.format_stack())