def test_provision_should_not_fail_if_you_run_it_twice(self): config = HopConfig({ 'name': 'testhop', 'provider': { 'network': 'hoptest-network', 'server': { 'name': 'hoptest-server', 'http_port': 3553, 'https_port': 3554 }, 'agents': { 'prefix': 'hoptest-agent', 'instances': 1 } } }) local_docker.provision(config) local_docker.provision(config) containers = self.client.containers.list(all=True) server = next(c for c in containers if c.name == 'hoptest-server') agent = next(c for c in containers if c.name == 'hoptest-agent-0') self.assertEquals(server.status, 'running') self.assertEquals(agent.status, 'running')
def test_destroy(self, https_url_mock): config = HopConfig({ 'name': 'testhop', 'provider': { 'network': 'hoptest-network', 'server': { 'name': 'hoptest-server', 'http_port': 3553, 'https_port': 3554 }, 'agents': { 'prefix': 'hoptest-agent', 'instances': 1 } } }) https_url_mock.__get__ = Mock(return_value='https://{}:3554'.format(get_host_name())) local_docker.provision(config) # when local_docker.destroy(Namespace(), config) # then containers = self.client.containers.list(all=True) maybe_server = [c for c in containers if c.name == 'hoptest-server'] maybe_agents = [c for c in containers if c.name == 'hoptest-agent-0'] self.assertTrue(len(maybe_server) == 0) self.assertTrue(len(maybe_agents) == 0)
def test_provision_should_scale_up_and_down(self, https_url_mock): hop_config = HopConfig({ 'name': 'testhop', 'provider': { 'network': 'hoptest-network', 'server': { 'name': 'hoptest-server', 'http_port': 3553, 'https_port': 3554 }, 'agents': { 'prefix': 'hoptest-agent', 'instances': 3 } } }) https_url_mock.__get__ = Mock(return_value='https://{}:3554'.format(get_host_name())) local_docker.provision(hop_config) self.assertServerAndAgents(num_of_agents=3) # scaling down hop_config['provider']['agents']['instances'] = 1 local_docker.provision(hop_config) self.assertServerAndAgents(num_of_agents=1) # scaling up again hop_config['provider']['agents']['instances'] = 2 local_docker.provision(hop_config) self.assertServerAndAgents(num_of_agents=2)
def execute(self): hop_dir = Path(self.args.dest_dir) hop_dir.mkdir(parents=True) hop_config = hop_dir / 'hop.yml' config = generate_hop_config(hop_config, installation_name=hop_dir.name) hop_config = HopConfig(config) get_admin_password(hop_dir, hop_config)
def execute(args, **kwargs): # pylint: disable=unused-argument hop_dir = Path(args.dest_dir) hop_dir.mkdir(parents=True) hop_config = hop_dir / 'hop.yml' config = generate_hop_config(hop_config, installation_name=hop_dir.name) hop_config = HopConfig(config) if args.create_passwd: get_admin_password(hop_dir, hop_config)
def hop_config(args): hop_config_path = os.path.join(os.getcwd(), args.hop_config or 'hop.yml') return HopConfig(config_dict=read_yaml(hop_config_path))
def __init__(self, config): HopConfig.__init__(self, config)
def hop_config(args): if args.command == 'init': return hop_config_path = os.path.join(os.getcwd(), 'hop.yml') return HopConfig(config_dict=read_yaml(hop_config_path))