def setupnode(rollback=False, overwrite=False): """ Install a baseline host. Can be run multiple times rollback=True to teardown the installation This is just used to prevent having to rollback a virtual machine """ #either fabric or manage.py will setup the roles & hosts env #setup_environ handles passing all the project settings into env #and any woven.global_settings not already defined. if not rollback: port_changed = change_ssh_port() #We need to assume that if the port does not get changed that #it has already been done and thus we do not need to disable root if port_changed: disable_root() upload_ssh_key() restrict_ssh() uncomment_sources() upgrade_ubuntu() setup_ufw() install_packages(overwrite=overwrite) upload_etc() set_timezone() stop_webservers() start_webservers() else: #rollback in reverse order of installation #The only things we don't rollback are the updates set_timezone(rollback) install_packages(rollback) setup_ufw(rollback) uncomment_sources(rollback) restrict_ssh(rollback) upload_ssh_key(rollback) disable_root(rollback) change_ssh_port(rollback)
def test_upgrade_ubuntu(): upgrade_ubuntu()