"""
Class to deal with a generator PROX instance (VM, bare metal, container)
"""
- def __init__(self, key, user, vim, rundir, machine_params, configonly, ipv6):
+ def __init__(self, key, user, vim, rundir, resultsdir, machine_params,
+ configonly, ipv6):
mac_address_size = 6
ethertype_size = 2
FCS_size = 4
self.udp_dest_port_offset = udp_header_start_offset + 2
self.udp_length_offset = udp_header_start_offset + 4
self.ipv6 = ipv6
- super().__init__(key, user, vim, rundir, machine_params, configonly)
+ if 'bucket_size_exp' in machine_params.keys():
+ self.bucket_size_exp = machine_params['bucket_size_exp']
+ else:
+ self.bucket_size_exp = 11
+ super().__init__(key, user, vim, rundir, resultsdir, machine_params,
+ configonly)
def get_cores(self):
return (self.machine_params['gencores'] +
self.machine_params['latcores'])
- def generate_lua(self, vim):
+ def remap_all_cpus(self):
+ """Convert relative cpu ids for different parameters (gencores, latcores)
+ """
+ super().remap_all_cpus()
+
+ if self.cpu_mapping is None:
+ return
+
+ if 'gencores' in self.machine_params.keys():
+ cpus_remapped = super().remap_cpus(self.machine_params['gencores'])
+ RapidLog.debug('{} ({}): gencores {} remapped to {}'.format(self.name, self.ip, self.machine_params['gencores'], cpus_remapped))
+ self.machine_params['gencores'] = cpus_remapped
+
+ if 'latcores' in self.machine_params.keys():
+ cpus_remapped = super().remap_cpus(self.machine_params['latcores'])
+ RapidLog.debug('{} ({}): latcores {} remapped to {}'.format(self.name, self.ip, self.machine_params['latcores'], cpus_remapped))
+ self.machine_params['latcores'] = cpus_remapped
+
+ def generate_lua(self):
appendix = 'gencores="%s"\n'% ','.join(map(str,
self.machine_params['gencores']))
appendix = appendix + 'latcores="%s"\n'% ','.join(map(str,
self.machine_params['latcores']))
- if 'gw_vm' in self.machine_params.keys():
- for index, gw_ip in enumerate(self.machine_params['gw_ips'],
- start = 1):
- appendix = appendix + 'gw_ip{}="{}"\n'.format(index, gw_ip)
- appendix = (appendix + 'gw_hex_ip{}=convertIPToHex(gw_ip{})\n'.
- format(index, index))
- if 'bucket_size_exp' in self.machine_params.keys():
- self.bucket_size_exp = self.machine_params['bucket_size_exp']
- else:
- self.bucket_size_exp = 11
appendix = (appendix +
'bucket_size_exp="{}"\n'.format(self.bucket_size_exp))
if 'heartbeat' in self.machine_params.keys():
'heartbeat="%s"\n'% self.machine_params['heartbeat'])
else:
appendix = appendix + 'heartbeat="60"\n'
- super().generate_lua(vim, appendix)
+ super().generate_lua(appendix)
def start_prox(self):
# Start the generator with the -e option so that the cores don't
# start automatically
super().start_prox('-e')
+ if self.vim in ['kubernetes']:
+ self.remap_all_cpus()
def set_generator_speed(self, speed):
# The assumption is that we only use task 0 for generating