This is an automated email from the ASF dual-hosted git repository. trohrmann pushed a commit to branch release-1.12 in repository https://gitbox.apache.org/repos/asf/flink.git
commit 8155c22313548a4680ed6a18520becfb095b6f4d Author: Till Rohrmann <[email protected]> AuthorDate: Mon Nov 30 10:40:28 2020 +0100 [hotfix][k8s] Specify which characters are allowed for kubernetes.cluster-id Only lowercase alphanumeric characters, "-" or "." are allowed. --- .../generated/kubernetes_config_configuration.html | 2 +- .../configuration/KubernetesConfigOptions.java | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/_includes/generated/kubernetes_config_configuration.html b/docs/_includes/generated/kubernetes_config_configuration.html index aecaf0c..629e8d6 100644 --- a/docs/_includes/generated/kubernetes_config_configuration.html +++ b/docs/_includes/generated/kubernetes_config_configuration.html @@ -18,7 +18,7 @@ <td><h5>kubernetes.cluster-id</h5></td> <td style="word-wrap: break-word;">(none)</td> <td>String</td> - <td>The cluster-id, which should be no more than 45 characters, is used for identifying a unique Flink cluster. If not set, the client will automatically generate it with a random ID.</td> + <td>The cluster-id, which should be no more than 45 characters, is used for identifying a unique Flink cluster. The id must only contain lowercase alphanumeric characters and "-". The required format is <span markdown="span">`[a-z]([-a-z0-9]*[a-z0-9])`</span>. If not set, the client will automatically generate it with a random ID.</td> </tr> <tr> <td><h5>kubernetes.config.file</h5></td> diff --git a/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesConfigOptions.java b/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesConfigOptions.java index d707150..86a7e76 100644 --- a/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesConfigOptions.java +++ b/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesConfigOptions.java @@ -23,7 +23,6 @@ import org.apache.flink.annotation.docs.Documentation; import org.apache.flink.configuration.ConfigOption; import org.apache.flink.configuration.ExternalResourceOptions; import org.apache.flink.configuration.description.Description; -import org.apache.flink.configuration.description.TextElement; import org.apache.flink.runtime.util.EnvironmentInformation; import java.util.List; @@ -31,6 +30,7 @@ import java.util.Locale; import java.util.Map; import static org.apache.flink.configuration.ConfigOptions.key; +import static org.apache.flink.configuration.description.TextElement.code; /** * This class holds configuration constants used by Flink's kubernetes runners. @@ -139,8 +139,13 @@ public class KubernetesConfigOptions { key("kubernetes.cluster-id") .stringType() .noDefaultValue() - .withDescription("The cluster-id, which should be no more than 45 characters, is used for identifying " + - "a unique Flink cluster. If not set, the client will automatically generate it with a random ID."); + .withDescription(Description.builder() + .text("The cluster-id, which should be no more than 45 characters, is used for identifying a unique Flink cluster. " + + "The id must only contain lowercase alphanumeric characters and \"-\". " + + "The required format is %s. " + + "If not set, the client will automatically generate it with a random ID.", + code("[a-z]([-a-z0-9]*[a-z0-9])")) + .build()); @Documentation.OverrideDefault("The default value depends on the actually running version. In general it looks like \"flink:<FLINK_VERSION>-scala_<SCALA_VERSION>\"") public static final ConfigOption<String> CONTAINER_IMAGE = @@ -230,7 +235,7 @@ public class KubernetesConfigOptions { .withDescription( Description.builder() .text("The user-specified secrets that will be mounted into Flink container. The value should be in " + - "the form of %s.", TextElement.code("foo:/opt/secrets-foo,bar:/opt/secrets-bar")) + "the form of %s.", code("foo:/opt/secrets-foo,bar:/opt/secrets-bar")) .build()); public static final ConfigOption<List<Map<String, String>>> KUBERNETES_ENV_SECRET_KEY_REF = @@ -241,7 +246,7 @@ public class KubernetesConfigOptions { .withDescription( Description.builder() .text("The user-specified secrets to set env variables in Flink container. The value should be in " + - "the form of %s.", TextElement.code("env:FOO_ENV,secret:foo_secret,key:foo_key;env:BAR_ENV,secret:bar_secret,key:bar_key")) + "the form of %s.", code("env:FOO_ENV,secret:foo_secret,key:foo_key;env:BAR_ENV,secret:bar_secret,key:bar_key")) .build()); /** @@ -265,7 +270,7 @@ public class KubernetesConfigOptions { .withDescription( Description.builder() .text("Defines the number of Kubernetes transactional operation retries before the " + - "client gives up. For example, %s.", TextElement.code("FlinkKubeClient#checkAndUpdateConfigMap")) + "client gives up. For example, %s.", code("FlinkKubeClient#checkAndUpdateConfigMap")) .build()); private static String getDefaultFlinkImage() {
