def __init__(self, spec): super(EksCluster, self).__init__(spec) # EKS requires a region and optionally a list of one or zones. # Interpret the zone as a comma separated list of zones or a region. self.control_plane_zones = self.zone and self.zone.split(',') if not self.control_plane_zones: raise errors.Config.MissingOption( 'container_cluster.vm_spec.AWS.zone is required.') elif len(self.control_plane_zones) == 1 and util.IsRegion(self.zone): self.region = self.zone self.control_plane_zones = [] logging.info("Interpreting zone '%s' as a region", self.zone) else: self.region = util.GetRegionFromZones(self.control_plane_zones) # control_plane_zones must be a superset of the node zones for nodepool in self.nodepools.values(): if nodepool.vm_config.zone not in self.control_plane_zones: self.control_plane_zones.append(nodepool.vm_config.zone) if len(self.control_plane_zones) == 1: # eksctl essentially requires you pass --zones if you pass --node-zones # and --zones must have at least 2 zones # https://github.com/weaveworks/eksctl/issues/4735 self.control_plane_zones.append( self.region + ('b' if self.zone.endswith('a') else 'a')) self.cluster_version = FLAGS.container_cluster_version # TODO(user) support setting boot disk type if EKS does. self.boot_disk_type = self.vm_config.DEFAULT_ROOT_DISK_TYPE
def __init__(self, managed_relational_db_spec): super(AwsManagedRelationalDb, self).__init__(managed_relational_db_spec) self.spec = managed_relational_db_spec self.instance_id = 'pkb-db-instance-' + FLAGS.run_uri self.cluster_id = None self.all_instance_ids = [] if hasattr(self.spec, 'zones') and self.spec.zones is not None: self.zones = self.spec.zones else: self.zones = [self.spec.vm_spec.zone] self.region = util.GetRegionFromZones(self.zones) self.subnets_owned_by_db = [] self.subnets_used_by_db = []
def __init__(self, relational_db_spec): super(AwsRelationalDb, self).__init__(relational_db_spec) self.instance_id = 'pkb-db-instance-' + FLAGS.run_uri self.cluster_id = None self.all_instance_ids = [] self.primary_zone = None self.secondary_zone = None if hasattr(self.spec, 'zones') and self.spec.zones is not None: self.zones = self.spec.zones else: self.zones = [self.spec.db_spec.zone] self.region = util.GetRegionFromZones(self.zones) self.subnets_owned_by_db = [] self.subnets_used_by_db = [] self.unmanaged_db_exists = None if self.is_managed_db else False
def __init__(self, relational_db_spec): super(AwsRelationalDb, self).__init__(relational_db_spec) self.cluster_id = None self.all_instance_ids = [] self.primary_zone = None self.secondary_zone = None self.parameter_group = None if hasattr(self.spec, 'zones') and self.spec.zones is not None: self.zones = self.spec.zones else: self.zones = [self.spec.db_spec.zone] self.region = util.GetRegionFromZones(self.zones) self.subnets_owned_by_db = [] self.subnets_used_by_db = [] self.unmanaged_db_exists = None if self.is_managed_db else False # dependencies which will be created self.db_subnet_group_name: str = None self.security_group_id: str = None