def test_simulated_agents(mock_cluster_connector): assert mock_cluster_connector.get_resource_total( 'cpus') == 10 * get_market_resources(TEST_MARKET).cpus assert mock_cluster_connector.get_resource_total( 'mem') == 10 * get_market_resources(TEST_MARKET).mem assert mock_cluster_connector.get_resource_total( 'disk') == 10 * get_market_resources(TEST_MARKET).disk
def test_get_agent_metadata(mock_cluster_connector): instance = list(mock_cluster_connector.simulator.aws_clusters[0].instances.values())[0] mesos_resources = ClustermanResources( get_market_resources(TEST_MARKET).cpus, get_market_resources(TEST_MARKET).mem * 1000, get_market_resources(TEST_MARKET).disk * 1000, ) assert mock_cluster_connector.get_agent_metadata(instance.ip_address) == AgentMetadata( agent_id=mock.ANY, state=AgentState.IDLE, total_resources=mesos_resources, )
def _populate_cluster_size_events(simulator, start_time, end_time): capacity_metrics = simulator.metrics_client.get_metric_values( f'fulfilled_capacity', METADATA, start_time.timestamp, end_time.timestamp, use_cache=False, extra_dimensions=get_cluster_dimensions( simulator.metadata.cluster, simulator.metadata.pool, simulator.metadata.scheduler, ), ) for i, (timestamp, data) in enumerate(capacity_metrics['fulfilled_capacity']): market_data = {} for market_str, value in data.items(): market = InstanceMarket.parse(market_str) weight = get_market_resources(market).cpus // staticconf.read_int( 'cpus_per_weight') market_data[market] = int(value) // weight simulator.markets |= set(market_data.keys()) use_join_delay = ( i != 0) # Want to start the cluster out at the expected capacity simulator.add_event( ModifyClusterSizeEvent(arrow.get(timestamp), market_data, use_join_delay))
def __init__(self, market, start_time, bid_price=None, join_time=None): self.id = next(Instance.id) self.ip_address = Instance.ip self.market = market self.start_time = start_time self.join_time = join_time self.end_time = None self.resources = get_market_resources(self.market) self.bid_price = bid_price Instance.ip += 1