def install_dcos(self): cluster = self.get_onprem_cluster() bootstrap_host = cluster.bootstrap_host.public_ip bootstrap_ssh_client = self.get_bootstrap_ssh_client() bootstrap_ssh_client.wait_for_ssh_connection(bootstrap_host) with bootstrap_ssh_client.tunnel(bootstrap_host) as t: installer_path = platforms_onprem.prepare_bootstrap( t, self.config['installer_url']) genconf_dir = config.expand_path(self.config['genconf_dir'], self.config['config_dir']) complete_config = self.get_completed_onprem_config(genconf_dir) platforms_onprem.do_genconf(t, genconf_dir, installer_path) prereqs_script_path = config.expand_path( pkg_resources.resource_filename( dcos_launch.__name__, 'scripts/' + self.config['prereqs_script_filename']), self.config['config_dir']) platforms_onprem.install_dcos( cluster, self.get_ssh_client(), prereqs_script_path, self.config['install_prereqs'], complete_config['bootstrap_url'] + '/dcos_install.sh', self.config['onprem_install_parallelism'], self.config['enable_selinux'])
def test_aws_onprem_install_prereqs(check_cli_success, aws_onprem_install_prereqs_config_path): info, desc = check_cli_success(aws_onprem_install_prereqs_config_path) assert 'stack_id' in info assert info['ssh_private_key'] == dcos_launch.util.MOCK_SSH_KEY_DATA assert 'template_body' not in desc # distracting irrelevant information assert 'bootstrap_host' in desc assert info['prereqs_script_filename'] == 'unset' assert info['install_prereqs'] assert os.path.exists( config.expand_path( pkg_resources.resource_filename(dcos_launch.__name__, 'scripts/install_prereqs.sh'), info['config_dir']))