def ping_verify(): _needs_targetenv() report = JUnitReport() ping_verify_roledef(report, 'main', '', '', 'Verify main responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'service', '', '', 'Verify service responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'checker', '', '', 'Verify checker responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'admin', '', '', 'Verify admin responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'demosource', '', '', 'Verify demosource responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'lagrummet', '', '', 'Verify lagrummet responds', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'main', '/feed/current', 'tag:lagrummet.se,2009:rinfo', 'Verify main feed', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'service', '/ui/#/-/publ?q=a&_page=0&_pageSize=10', 'resultat', 'Verify service search', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'checker', '', 'RInfo Checker', 'Verify checker title', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'admin', '/feed/current.atom', 'RInfo Base Data', 'Verify admin feed', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'demosource', '/feed/current.atom', 'atom', 'Verify demosource feed', 'server.%(target)s.ping' % venv()) ping_verify_roledef(report, 'lagrummet', '', 'lagrummet.se', 'Verify lagrummet search', 'server.%(target)s.ping' % venv()) if not report.empty(): report_name = "%(projectroot)s/ping_verify_%(target)s_report.log" % venv() report.create_report(report_name) print "Created report '%s'" % report_name
def fetch_snapshot_from_ftp_and_install(name='snapshot' ,username='', password='', test=False, use_password_file=True): _needs_targetenv() tar_target_path = "%s/tmp/%s" % (env.mgr_workdir, name) snapshot_name = calculate_stored_or_new_snapshot_name(name) if use_password_file: username = get_value_from_password_store(PASSWORD_FILE_FTP_USERNAME_PARAM_NAME, username) password = get_value_from_password_store(PASSWORD_FILE_FTP_PASSWORD_PARAM_NAME, password) is_local = env.target in ['dev_unix'] print "is_local %s" % is_local if not test and not is_local: tomcat_stop() clean_path(tar_target_path, test=test, is_local=is_local) create_path(tar_target_path, test=test, is_local=is_local) try: fetch_main_snapshot_from_ftp_and_install(snapshot_name, tar_target_path, username, password, test=test, is_local=is_local) fetch_service_snapshot_from_ftp_and_install(snapshot_name, tar_target_path, username, password, test=test, is_local=is_local) finally: clean_path(tar_target_path, test=test, is_local=is_local) # todo empty varnish cache if not test and not is_local: tomcat_start()
def _managed_tomcat_restart(wait=5, headless=False, force_start=False): _needs_targetenv() with settings(warn_only=True): result = sudo("%(tomcat_stop)s" % env, shell=not headless) do_start = force_start or not result.failed yield if do_start: print "... restarting in", for i in range(wait, 0, -1): print "%d..." % i, time.sleep(1) print sudo("%(tomcat_start)s" % env, shell=not headless)
def bootstrap(role=None): _needs_targetenv() if role and not role_is_active(role): return #if not os_version() == 'Debian7': # print 'Unsupported os version %%' % os_version() # return prepare_sudo_for_debian_and_add_rinfo_user() prefere_ipv4_to_speed_up_debian_updates() install_public_key() if os.path.isfile('%s/.ssh/jenkins_id_rsa.pub' % expanduser('~')): install_public_key('jenkins_id_rsa.pub')
def take_experimental_snapshot_and_push_to_ftp(name='snapshot', username='', password='', test=False): _needs_targetenv() snapshot_name = calculate_stored_or_new_snapshot_name(name) username = get_value_from_password_store(PASSWORD_FILE_FTP_USERNAME_PARAM_NAME, username) password = get_value_from_password_store(PASSWORD_FILE_FTP_PASSWORD_PARAM_NAME, password) tar_target_path = "%s/tmp/%s" % (env.mgr_workdir, name) clean_path(tar_target_path, test=False) create_path(tar_target_path, test=False) tar_and_ftp_push(snapshot_name, 'depot', password, '/var/lib/jenkins/collect/export/', tar_target_path, username, test=test) tar_and_ftp_push(snapshot_name, 'sesame', password, '/var/lib/jenkins/collect/export/sesame-repo/', tar_target_path, username, test=test) tar_and_ftp_push(snapshot_name, 'elasticsearch', password, '/var/lib/jenkins/collect/export/elasticsearch/data', tar_target_path, username, test=test)
def take_snapshot_and_push_to_ftp(name='snapshot', username='', password='', test=False, use_password_file=True): _needs_targetenv() tar_target_path = "%s/tmp/%s" % (env.mgr_workdir, name) snapshot_name = calculate_stored_or_new_snapshot_name(name) if use_password_file: username = get_value_from_password_store(PASSWORD_FILE_FTP_USERNAME_PARAM_NAME, username) password = get_value_from_password_store(PASSWORD_FILE_FTP_PASSWORD_PARAM_NAME, password) clean_path(tar_target_path, test=False) create_path(tar_target_path, test=False) try: take_main_snapshot_and_push_to_ftp(snapshot_name, tar_target_path, username, password, test=test) take_service_snapshot_and_push_to_ftp(snapshot_name, tar_target_path, username, password, test=test) finally: clean_path(tar_target_path, test=False)
def restart_apache(): _needs_targetenv() #sudo("/etc/init.d/apache2 stop") #sudo("/etc/init.d/apache2 start") sudo("/etc/init.d/apache2 restart")
def tomcat_start(): _needs_targetenv() sudo("/etc/init.d/tomcat start")
def restart_all(): _needs_targetenv() sudo("/etc/init.d/apache2 stop") restart_tomcat() sudo("/etc/init.d/apache2 start")
def tail2(): _needs_targetenv() run("tail -f %(tomcat)s/logs/localhost.%(datestamp)s.log" % env)
def tail(): _needs_targetenv() sudo("ls -t %(tomcat)s/logs/catalina*.* | head -1 | xargs tail -f" % env)
def clean_dist(): _needs_targetenv() run("rm -rf %(dist_dir)s/*" % env)
def list_dist(): _needs_targetenv() run("ls -latr %(dist_dir)s/" % env)
def war_props(warname="ROOT"): _needs_targetenv() run("unzip -p %(tomcat_webapps)s/%(warname)s.war" " WEB-INF/classes/*.properties" % venv())
def reload_apache(): _needs_targetenv() sudo("/etc/init.d/apache2 graceful")