Skip to content

Commit 0e22b09

Browse files
Merge pull request Azure#8 from bavneetsingh16/deesharma/providerregistration
2 parents 75e2218 + f2da411 commit 0e22b09

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/connectedk8s/azext_connectedk8s/_constants.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@
158158
Proxy_Kubeconfig_During_Deletion_Fault_Type = 'Encountered proxy kubeconfig during deletion.'
159159
Cannot_Create_ClusterRoleBindings_Fault_Type = 'Cannot create cluster role bindings on this Kubernets cluster'
160160
CC_Provider_Namespace_Not_Registered_Fault_Type = "Connected Cluster Provider MS.K8 namespace not registered"
161+
Kubernetes_Configuration_Provider_Namespace_Not_Registered_Fault_Type = \
162+
"Kubernetes Configuration Provider MS.KubernetesConfiguration namespace not registered"
161163
HC_Provider_Namespace_Not_Registered_Fault_Type = "Hybrid Compute Provider MS.HybridCompute namespace not registered"
162164
Default_Namespace_Does_Not_Exist_Fault_Type = \
163165
"The default namespace defined in the kubeconfig doesn't exist on the kubernetes cluster."

src/connectedk8s/azext_connectedk8s/_utils.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ def names(self, names):
984984
logger.debug("Error while trying to monkey patch the fix for list_node(): {}".format(str(ex)))
985985

986986

987-
def check_provider_registrations(cli_ctx, subscription_id, is_gateway_enabled):
987+
def check_provider_registrations(cli_ctx, subscription_id, is_gateway_enabled, is_workload_identity_enabled):
988988
print("Step: {}: Checking Provider Registrations".format(get_utctimestring()))
989989
try:
990990
rp_client = resource_providers_client(cli_ctx, subscription_id)
@@ -999,6 +999,15 @@ def check_provider_registrations(cli_ctx, subscription_id, is_gateway_enabled):
999999
raise ValidationError(err_msg)
10001000
kc_registration_state = rp_client.get(consts.Kubernetes_Configuration_Provider_Namespace).registration_state
10011001
if kc_registration_state != "Registered":
1002+
if is_workload_identity_enabled:
1003+
telemetry.set_exception(
1004+
exception="{} provider is not registered".format(consts.Kubernetes_Configuration_Provider_Namespace),
1005+
fault_type=consts.Kubernetes_Configuration_Provider_Namespace_Not_Registered_Fault_Type,
1006+
summary="{} provider is not registered".format(consts.Kubernetes_Configuration_Provider_Namespace))
1007+
err_msg = "{} provider is not registered. Please register it using 'az provider register -n 'Microsoft." \
1008+
"KubernetesConfiguration' before running the connect command.".format(consts.Kubernetes_Configuration_Provider_Namespace)
1009+
raise ValidationError(err_msg)
1010+
10021011
telemetry.set_user_fault()
10031012
logger.warning("{} provider is not registered".format(consts.Kubernetes_Configuration_Provider_Namespace))
10041013
if is_gateway_enabled:

src/connectedk8s/azext_connectedk8s/custom.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, correlat
116116
azure_cloud = send_cloud_telemetry(cmd)
117117

118118
# Checking provider registration status
119-
utils.check_provider_registrations(cmd.cli_ctx, subscription_id, is_gateway_enabled=bool(gateway_resource_id))
119+
utils.check_provider_registrations(cmd.cli_ctx, subscription_id, is_gateway_enabled=bool(gateway_resource_id),
120+
is_workload_identity_enabled=(enable_workload_identity or enable_oidc_issuer))
120121

121122
# Setting kubeconfig
122123
kube_config = set_kube_config(kube_config)

0 commit comments

Comments
 (0)