in perfkitbenchmarker/providers/gcp/gce_virtual_machine.py [0:0]
def _ApplyFlags(cls, config_values, flag_values):
"""Modifies config options based on runtime flag values.
Can be overridden by derived classes to add support for specific flags.
Args:
config_values: dict mapping config option names to provided values. May be
modified by this function.
flag_values: flags.FlagValues. Runtime flags that may override the
provided config values.
"""
super()._ApplyFlags(config_values, flag_values)
if flag_values['gce_num_local_ssds'].present:
config_values['num_local_ssds'] = flag_values.gce_num_local_ssds
if flag_values['gce_ssd_interface'].present:
config_values['ssd_interface'] = flag_values.gce_ssd_interface
if flag_values['gce_preemptible_vms'].present:
config_values['preemptible'] = flag_values.gce_preemptible_vms
if flag_values['gce_boot_disk_size'].present:
config_values['boot_disk_size'] = flag_values.gce_boot_disk_size
if flag_values['gce_boot_disk_throughput'].present:
config_values['boot_disk_throughput'] = (
flag_values.gce_boot_disk_throughput
)
if flag_values['gce_boot_disk_iops'].present:
config_values['boot_disk_iops'] = flag_values.gce_boot_disk_iops
if flag_values['gce_boot_disk_type'].present:
config_values['boot_disk_type'] = flag_values.gce_boot_disk_type
if flag_values['machine_type'].present:
config_values['machine_type'] = yaml.safe_load(flag_values.machine_type)
if flag_values['project'].present:
config_values['project'] = flag_values.project
if flag_values['image_family'].present:
config_values['image_family'] = flag_values.image_family
if flag_values['image_project'].present:
config_values['image_project'] = flag_values.image_project
if flag_values['gcp_node_type'].present:
config_values['node_type'] = flag_values.gcp_node_type
if flag_values['gcp_min_cpu_platform'].present:
if (
flag_values.gcp_min_cpu_platform
!= gcp_flags.GCP_MIN_CPU_PLATFORM_NONE
):
config_values['min_cpu_platform'] = flag_values.gcp_min_cpu_platform
else:
# Specifying gcp_min_cpu_platform explicitly removes any config.
config_values.pop('min_cpu_platform', None)
if flag_values['disable_smt'].present and flag_values.disable_smt:
config_values['threads_per_core'] = 1
if flag_values['visible_core_count'].present:
config_values['visible_core_count'] = flag_values.visible_core_count
# Convert YAML to correct type even if only one element.
if 'gce_tags' in config_values and isinstance(
config_values['gce_tags'], str
):
config_values['gce_tags'] = [config_values['gce_tags']]
if flag_values['gce_tags'].present:
config_values['gce_tags'] = flag_values.gce_tags
if flag_values['gce_subnet_name'].present:
config_values['subnet_names'] = flag_values.gce_subnet_name