Skip to content
This repository has been archived by the owner on Nov 29, 2023. It is now read-only.

Commit

Permalink
feat: added a flag to enable/disable gvnic on a node pool (#147)
Browse files Browse the repository at this point in the history
Closes #140

- [ ] Regenerate this pull request now.

PiperOrigin-RevId: 396762326

Source-Link: googleapis/googleapis@1f1d09d

Source-Link: googleapis/googleapis-gen@4bed2d4
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGJlZDJkNDZhNWU1YTZkNTM3ZWJjMTUxMTVjZmU0Y2NlNWZjMDQwNSJ9

feat: added node pool level network config
feat: added update support for node pool labels, taints and network tags
feat: added configuration for workload certificates and identity service component 
feat: added configuration for node pool defaults, autopilot, logging and monitoring
feat: added the option to specify L4 load balancer configuration and IP v6 configuration 
feat: added the option to list supported windows versions 
fix: deprecated KALM addon config option 
fix: deprecated cluster status condition code 
docs: clarified SetNodePoolSize API behavior
fix(deps): require proto-plus 1.15.0
  • Loading branch information
gcf-owl-bot[bot] committed Sep 23, 2021
1 parent 99237c7 commit 616b21a
Show file tree
Hide file tree
Showing 11 changed files with 723 additions and 59 deletions.
40 changes: 40 additions & 0 deletions google/cloud/container_v1beta1/__init__.py
Expand Up @@ -20,6 +20,7 @@
from .types.cluster_service import AcceleratorConfig
from .types.cluster_service import AddonsConfig
from .types.cluster_service import AuthenticatorGroupsConfig
from .types.cluster_service import Autopilot
from .types.cluster_service import AutoprovisioningNodePoolDefaults
from .types.cluster_service import AutoUpgradeOptions
from .types.cluster_service import BinaryAuthorization
Expand All @@ -41,6 +42,7 @@
from .types.cluster_service import DeleteClusterRequest
from .types.cluster_service import DeleteNodePoolRequest
from .types.cluster_service import DnsCacheConfig
from .types.cluster_service import DNSConfig
from .types.cluster_service import EphemeralStorageConfig
from .types.cluster_service import GcePersistentDiskCsiDriverConfig
from .types.cluster_service import GetClusterRequest
Expand All @@ -53,6 +55,8 @@
from .types.cluster_service import GetServerConfigRequest
from .types.cluster_service import HorizontalPodAutoscaling
from .types.cluster_service import HttpLoadBalancing
from .types.cluster_service import IdentityServiceConfig
from .types.cluster_service import ILBSubsettingConfig
from .types.cluster_service import IntraNodeVisibilityConfig
from .types.cluster_service import IPAllocationPolicy
from .types.cluster_service import IstioConfig
Expand All @@ -72,21 +76,31 @@
from .types.cluster_service import ListUsableSubnetworksRequest
from .types.cluster_service import ListUsableSubnetworksResponse
from .types.cluster_service import Location
from .types.cluster_service import LoggingComponentConfig
from .types.cluster_service import LoggingConfig
from .types.cluster_service import MaintenancePolicy
from .types.cluster_service import MaintenanceWindow
from .types.cluster_service import Master
from .types.cluster_service import MasterAuth
from .types.cluster_service import MasterAuthorizedNetworksConfig
from .types.cluster_service import MaxPodsConstraint
from .types.cluster_service import MonitoringComponentConfig
from .types.cluster_service import MonitoringConfig
from .types.cluster_service import NetworkConfig
from .types.cluster_service import NetworkPolicy
from .types.cluster_service import NetworkPolicyConfig
from .types.cluster_service import NetworkTags
from .types.cluster_service import NodeConfig
from .types.cluster_service import NodeConfigDefaults
from .types.cluster_service import NodeKubeletConfig
from .types.cluster_service import NodeLabels
from .types.cluster_service import NodeManagement
from .types.cluster_service import NodeNetworkConfig
from .types.cluster_service import NodePool
from .types.cluster_service import NodePoolAutoscaling
from .types.cluster_service import NodePoolDefaults
from .types.cluster_service import NodeTaint
from .types.cluster_service import NodeTaints
from .types.cluster_service import NotificationConfig
from .types.cluster_service import Operation
from .types.cluster_service import OperationProgress
Expand All @@ -101,6 +115,7 @@
from .types.cluster_service import RollbackNodePoolUpgradeRequest
from .types.cluster_service import SandboxConfig
from .types.cluster_service import ServerConfig
from .types.cluster_service import ServiceExternalIPsConfig
from .types.cluster_service import SetAddonsConfigRequest
from .types.cluster_service import SetLabelsRequest
from .types.cluster_service import SetLegacyAbacRequest
Expand All @@ -122,13 +137,18 @@
from .types.cluster_service import UpdateClusterRequest
from .types.cluster_service import UpdateMasterRequest
from .types.cluster_service import UpdateNodePoolRequest
from .types.cluster_service import UpgradeAvailableEvent
from .types.cluster_service import UpgradeEvent
from .types.cluster_service import UsableSubnetwork
from .types.cluster_service import UsableSubnetworkSecondaryRange
from .types.cluster_service import VerticalPodAutoscaling
from .types.cluster_service import VirtualNIC
from .types.cluster_service import WindowsVersions
from .types.cluster_service import WorkloadCertificates
from .types.cluster_service import WorkloadIdentityConfig
from .types.cluster_service import WorkloadMetadataConfig
from .types.cluster_service import DatapathProvider
from .types.cluster_service import PrivateIPv6GoogleAccess
from .types.cluster_service import UpgradeResourceType

__all__ = (
Expand All @@ -137,6 +157,7 @@
"AddonsConfig",
"AuthenticatorGroupsConfig",
"AutoUpgradeOptions",
"Autopilot",
"AutoprovisioningNodePoolDefaults",
"BinaryAuthorization",
"CancelOperationRequest",
Expand All @@ -152,6 +173,7 @@
"ConfigConnectorConfig",
"CreateClusterRequest",
"CreateNodePoolRequest",
"DNSConfig",
"DailyMaintenanceWindow",
"DatabaseEncryption",
"DatapathProvider",
Expand All @@ -171,7 +193,9 @@
"GetServerConfigRequest",
"HorizontalPodAutoscaling",
"HttpLoadBalancing",
"ILBSubsettingConfig",
"IPAllocationPolicy",
"IdentityServiceConfig",
"IntraNodeVisibilityConfig",
"IstioConfig",
"Jwk",
Expand All @@ -190,27 +214,38 @@
"ListUsableSubnetworksRequest",
"ListUsableSubnetworksResponse",
"Location",
"LoggingComponentConfig",
"LoggingConfig",
"MaintenancePolicy",
"MaintenanceWindow",
"Master",
"MasterAuth",
"MasterAuthorizedNetworksConfig",
"MaxPodsConstraint",
"MonitoringComponentConfig",
"MonitoringConfig",
"NetworkConfig",
"NetworkPolicy",
"NetworkPolicyConfig",
"NetworkTags",
"NodeConfig",
"NodeConfigDefaults",
"NodeKubeletConfig",
"NodeLabels",
"NodeManagement",
"NodeNetworkConfig",
"NodePool",
"NodePoolAutoscaling",
"NodePoolDefaults",
"NodeTaint",
"NodeTaints",
"NotificationConfig",
"Operation",
"OperationProgress",
"PodSecurityPolicyConfig",
"PrivateClusterConfig",
"PrivateClusterMasterGlobalAccessConfig",
"PrivateIPv6GoogleAccess",
"RecurringTimeWindow",
"ReleaseChannel",
"ReservationAffinity",
Expand All @@ -219,6 +254,7 @@
"RollbackNodePoolUpgradeRequest",
"SandboxConfig",
"ServerConfig",
"ServiceExternalIPsConfig",
"SetAddonsConfigRequest",
"SetLabelsRequest",
"SetLegacyAbacRequest",
Expand All @@ -240,11 +276,15 @@
"UpdateClusterRequest",
"UpdateMasterRequest",
"UpdateNodePoolRequest",
"UpgradeAvailableEvent",
"UpgradeEvent",
"UpgradeResourceType",
"UsableSubnetwork",
"UsableSubnetworkSecondaryRange",
"VerticalPodAutoscaling",
"VirtualNIC",
"WindowsVersions",
"WorkloadCertificates",
"WorkloadIdentityConfig",
"WorkloadMetadataConfig",
)
Expand Up @@ -2110,6 +2110,39 @@ async def get_node_pool(
may be used to reference them during pod
scheduling. They may also be resized up
or down, to accommodate the workload.
These upgrade settings control the level
of parallelism and the level of
disruption caused by an upgrade.
maxUnavailable controls the number of
nodes that can be simultaneously
unavailable.
maxSurge controls the number of
additional nodes that can be added to
the node pool temporarily for the time
of the upgrade to increase the number of
available nodes.
(maxUnavailable + maxSurge) determines
the level of parallelism (how many nodes
are being upgraded at the same time).
Note: upgrades inevitably introduce some
disruption since workloads need to be
moved from old nodes to new, upgraded
ones. Even if maxUnavailable=0, this
holds true. (Disruption stays within the
limits of PodDisruptionBudget, if it is
configured.)
Consider a hypothetical node pool with 5
nodes having maxSurge=2,
maxUnavailable=1. This means the upgrade
process upgrades 3 nodes simultaneously.
It creates 2 additional (upgraded)
nodes, then it brings down 3 old (not
yet upgraded) nodes at the same time.
This ensures that there are always at
least 4 nodes available.
"""
# Create or coerce a protobuf request object.
Expand Down Expand Up @@ -3091,12 +3124,15 @@ async def set_node_pool_size(
timeout: float = None,
metadata: Sequence[Tuple[str, str]] = (),
) -> cluster_service.Operation:
r"""Sets the size for a specific node pool.
r"""SetNodePoolSizeRequest sets the size of a node pool. The new
size will be used for all replicas, including future replicas
created by modifying
[NodePool.locations][google.container.v1beta1.NodePool.locations].
Args:
request (:class:`google.cloud.container_v1beta1.types.SetNodePoolSizeRequest`):
The request object. SetNodePoolSizeRequest sets the size
a node pool.
of a node pool.
retry (google.api_core.retry.Retry): Designation of what errors, if any,
should be retried.
timeout (float): The timeout for this request.
Expand Down
40 changes: 38 additions & 2 deletions google/cloud/container_v1beta1/services/cluster_manager/client.py
Expand Up @@ -2230,6 +2230,39 @@ def get_node_pool(
may be used to reference them during pod
scheduling. They may also be resized up
or down, to accommodate the workload.
These upgrade settings control the level
of parallelism and the level of
disruption caused by an upgrade.
maxUnavailable controls the number of
nodes that can be simultaneously
unavailable.
maxSurge controls the number of
additional nodes that can be added to
the node pool temporarily for the time
of the upgrade to increase the number of
available nodes.
(maxUnavailable + maxSurge) determines
the level of parallelism (how many nodes
are being upgraded at the same time).
Note: upgrades inevitably introduce some
disruption since workloads need to be
moved from old nodes to new, upgraded
ones. Even if maxUnavailable=0, this
holds true. (Disruption stays within the
limits of PodDisruptionBudget, if it is
configured.)
Consider a hypothetical node pool with 5
nodes having maxSurge=2,
maxUnavailable=1. This means the upgrade
process upgrades 3 nodes simultaneously.
It creates 2 additional (upgraded)
nodes, then it brings down 3 old (not
yet upgraded) nodes at the same time.
This ensures that there are always at
least 4 nodes available.
"""
# Create or coerce a protobuf request object.
Expand Down Expand Up @@ -3192,12 +3225,15 @@ def set_node_pool_size(
timeout: float = None,
metadata: Sequence[Tuple[str, str]] = (),
) -> cluster_service.Operation:
r"""Sets the size for a specific node pool.
r"""SetNodePoolSizeRequest sets the size of a node pool. The new
size will be used for all replicas, including future replicas
created by modifying
[NodePool.locations][google.container.v1beta1.NodePool.locations].
Args:
request (google.cloud.container_v1beta1.types.SetNodePoolSizeRequest):
The request object. SetNodePoolSizeRequest sets the size
a node pool.
of a node pool.
retry (google.api_core.retry.Retry): Designation of what errors, if any,
should be retried.
timeout (float): The timeout for this request.
Expand Down
Expand Up @@ -1019,7 +1019,10 @@ def set_node_pool_size(
) -> Callable[[cluster_service.SetNodePoolSizeRequest], cluster_service.Operation]:
r"""Return a callable for the set node pool size method over gRPC.
Sets the size for a specific node pool.
SetNodePoolSizeRequest sets the size of a node pool. The new
size will be used for all replicas, including future replicas
created by modifying
[NodePool.locations][google.container.v1beta1.NodePool.locations].
Returns:
Callable[[~.SetNodePoolSizeRequest],
Expand Down
Expand Up @@ -1066,7 +1066,10 @@ def set_node_pool_size(
]:
r"""Return a callable for the set node pool size method over gRPC.
Sets the size for a specific node pool.
SetNodePoolSizeRequest sets the size of a node pool. The new
size will be used for all replicas, including future replicas
created by modifying
[NodePool.locations][google.container.v1beta1.NodePool.locations].
Returns:
Callable[[~.SetNodePoolSizeRequest],
Expand Down

0 comments on commit 616b21a

Please sign in to comment.