def get_instance_info(params): app_name = params['app_name'] instance_name = params['instance_name'] instance_vars = params['instance_vars'] instance_info = {'paths_to_remove_on_expel': []} # app conf file instance_info['app_conf_file'] = get_app_conf_file( instance_vars['cartridge_conf_dir'], app_name) # instance conf file instance_info['conf_file'] = get_instance_conf_file( instance_vars['cartridge_conf_dir'], app_name, instance_name, instance_vars['stateboard'], ) instance_info['paths_to_remove_on_expel'].append( instance_info['conf_file']) # instance id (e.g. used for conf section name) instance_info['instance_id'] = get_instance_conf_section( app_name, instance_name, instance_vars['stateboard']) # console socket, PID file paths instance_info['console_sock'] = helpers.get_instance_console_sock( instance_vars['cartridge_run_dir'], app_name, instance_name, instance_vars['stateboard']) instance_info['paths_to_remove_on_expel'].append( instance_info['console_sock']) instance_info['pid_file'] = helpers.get_instance_pid_file( instance_vars['cartridge_run_dir'], app_name, instance_name, instance_vars['stateboard']) # instance work dir instance_info['work_dir'] = helpers.get_instance_dir( instance_vars['cartridge_data_dir'], app_name, instance_name, instance_vars['stateboard']) instance_info['paths_to_remove_on_expel'].append(instance_info['work_dir']) # instance memtx dir instance_info['memtx_dir'] = None if instance_vars['cartridge_memtx_dir_parent']: instance_info['memtx_dir'] = helpers.get_instance_dir( instance_vars['cartridge_memtx_dir_parent'], app_name, instance_name, instance_vars['stateboard']) instance_info['paths_to_remove_on_expel'].append( instance_info['memtx_dir']) # instance vinyl dir instance_info['vinyl_dir'] = None if instance_vars['cartridge_vinyl_dir_parent']: instance_info['vinyl_dir'] = helpers.get_instance_dir( instance_vars['cartridge_vinyl_dir_parent'], app_name, instance_name, instance_vars['stateboard']) instance_info['paths_to_remove_on_expel'].append( instance_info['vinyl_dir']) # instance wal dir instance_info['wal_dir'] = None if instance_vars['cartridge_wal_dir_parent']: instance_info['wal_dir'] = helpers.get_instance_dir( instance_vars['cartridge_wal_dir_parent'], app_name, instance_name, instance_vars['stateboard']) instance_info['paths_to_remove_on_expel'].append( instance_info['wal_dir']) # systemd service name instance_info['systemd_service'] = get_instance_systemd_service( app_name, instance_name, instance_vars['stateboard']) # tmpfiles conf instance_info['tmpfiles_conf'] = os.path.join( instance_vars['cartridge_tmpfiles_dir'], '%s.conf' % app_name) # code dirs if not instance_vars['cartridge_multiversion']: dist_dir = os.path.join(instance_vars['cartridge_app_install_dir'], app_name) instance_info['dist_dir'] = dist_dir instance_info['instance_dist_dir'] = dist_dir else: instance_info['dist_dir'] = get_multiversion_dist_dir( instance_vars['cartridge_app_install_dir'], instance_vars.get('cartridge_package_path')) instance_info[ 'instance_dist_dir'] = helpers.get_multiversion_instance_code_dir( instance_vars['cartridge_app_instances_dir'], app_name, instance_name, instance_vars['stateboard'], ) return helpers.ModuleRes(changed=False, fact=instance_info)
def get_systemd_units_info(params): app_name = params['app_name'] instance_vars = params['instance_vars'] tnt_version = params['tnt_version'] systemd_units_info = {} stateboard_name = helpers.get_instance_id(app_name, stateboard=True) systemd_units_info['stateboard_name'] = stateboard_name systemd_units_info['app_unit_file'] = '%[email protected]' % app_name systemd_units_info['stateboard_unit_file'] = '%s.service' % stateboard_name systemd_units_info['instance_work_dir'] = helpers.get_instance_dir( instance_vars['cartridge_data_dir'], app_name, instance_name="%i" ) systemd_units_info['stateboard_work_dir'] = helpers.get_instance_dir( instance_vars['cartridge_data_dir'], app_name, stateboard=True ) systemd_units_info['instance_memtx_dir'] = None systemd_units_info['stateboard_memtx_dir'] = None if instance_vars['cartridge_memtx_dir_parent']: systemd_units_info['instance_memtx_dir'] = helpers.get_instance_dir( instance_vars['cartridge_memtx_dir_parent'], app_name, instance_name="%i" ) systemd_units_info['stateboard_memtx_dir'] = helpers.get_instance_dir( instance_vars['cartridge_memtx_dir_parent'], app_name, stateboard=True ) systemd_units_info['instance_vinyl_dir'] = None systemd_units_info['stateboard_vinyl_dir'] = None if instance_vars['cartridge_vinyl_dir_parent']: systemd_units_info['instance_vinyl_dir'] = helpers.get_instance_dir( instance_vars['cartridge_vinyl_dir_parent'], app_name, instance_name="%i" ) systemd_units_info['stateboard_vinyl_dir'] = helpers.get_instance_dir( instance_vars['cartridge_vinyl_dir_parent'], app_name, stateboard=True ) systemd_units_info['instance_wal_dir'] = None systemd_units_info['stateboard_wal_dir'] = None if instance_vars['cartridge_wal_dir_parent']: systemd_units_info['instance_wal_dir'] = helpers.get_instance_dir( instance_vars['cartridge_wal_dir_parent'], app_name, instance_name="%i" ) systemd_units_info['stateboard_wal_dir'] = helpers.get_instance_dir( instance_vars['cartridge_wal_dir_parent'], app_name, stateboard=True ) systemd_units_info['instance_pid_file'] = helpers.get_instance_pid_file( instance_vars['cartridge_run_dir'], app_name, instance_name="%i" ) systemd_units_info['stateboard_pid_file'] = helpers.get_instance_pid_file( instance_vars['cartridge_run_dir'], app_name, stateboard=True ) systemd_units_info['instance_console_sock'] = helpers.get_instance_console_sock( instance_vars['cartridge_run_dir'], app_name, instance_name="%i" ) systemd_units_info['stateboard_console_sock'] = helpers.get_instance_console_sock( instance_vars['cartridge_run_dir'], app_name, stateboard=True ) if not instance_vars['cartridge_multiversion']: instance_dist_dir = instance_vars['dist_dir'] stateboard_dir = instance_vars['dist_dir'] else: instances_dir = instance_vars['cartridge_app_instances_dir'] instance_dist_dir = helpers.get_multiversion_instance_code_dir( instances_dir, app_name, instance_name="%i", ) stateboard_dir = helpers.get_multiversion_instance_code_dir( instances_dir, app_name, stateboard=True, ) systemd_units_info['instance_entrypoint'] = os.path.join(instance_dist_dir, 'init.lua') systemd_units_info['stateboard_entrypoint'] = os.path.join(stateboard_dir, 'stateboard.init.lua') if tnt_version: opensource_tarantool_binary = '/usr/bin/tarantool' systemd_units_info['instance_tarantool_binary'] = opensource_tarantool_binary systemd_units_info['stateboard_tarantool_binary'] = opensource_tarantool_binary else: systemd_units_info['instance_tarantool_binary'] = os.path.join(instance_dist_dir, 'tarantool') systemd_units_info['stateboard_tarantool_binary'] = os.path.join(stateboard_dir, 'tarantool') return helpers.ModuleRes(changed=False, fact=systemd_units_info)